Appearance
Alacritty vs xterm.js
Side-by-side terminal feature comparison
Summary
29 features differ between these terminals
Feature Comparison
Character Sets
| Feature | Alacritty | xterm.js |
|---|---|---|
| DEC line drawing character set | ✓ | ✓ |
| DEC Special Graphics | ✓ | ✓ |
| G0/G1 character set switching | ✓ | ✓ |
| UTF-8 mode | ✓ | ✓ |
Cursor
Device Status
Editing
| Feature | Alacritty | xterm.js |
|---|---|---|
| Delete characters (DCH) | ✓ | ✓ |
| Delete lines (DL) | ✓ | ✓ |
| Insert characters (ICH) | ✓ | ✓ |
| Insert lines (IL) | ✓ | ✓ |
| Repeat character (REP) | ✓ | ✓ |
Erase
Extensions
Input Protocols
| Feature | Alacritty | xterm.js |
|---|---|---|
| Button-Event Mouse (1002) | ✓ | ✓ |
| CSI u Key Encoding | ✓ | ✗ |
| modifyOtherKeys | ~ | ✗ |
| modifyOtherKeys mode 3 | ~ | ? |
| Pixel Mouse Reporting (1016) | ~ | ✗ |
| urxvt Mouse Reporting (1015) | ✗ | ✗ |
| X10 Mouse Tracking (9) | ✗ | ✓ |
Modes
Reset
| Feature | Alacritty | xterm.js |
|---|---|---|
| Backend reset() method | ✓ | ✓ |
| Full reset (RIS) | ✓ | ✓ |
| SGR reset clears attributes | ✓ | ✓ |
| Soft reset (DECSTR) | ~ | ✓ |
Scrollback
SGR (Text Styling)
Text
Unicode
| Feature | Alacritty | xterm.js |
|---|---|---|
| East Asian Ambiguous Width | ✓ | ✓ |
| Grapheme Cluster Cursor Movement | ✓ | ✓ |
| Tab Stops (HT) | ✓ | ✓ |
| Wide Char at Line Wrap | ✓ | ✓ |
Only in Alacritty
11 features supported by Alacritty but not xterm.js:
- Tertiary Device Attributes (DA3)Device Status
- Query Terminfo (XTGETTCAP)Device Status
- Kitty keyboard protocolExtensions
- Desktop Notifications (OSC 9/777)Extensions
- Current directory (OSC 7)Extensions
- CSI u Key EncodingInput Protocols
- modifyOtherKeysInput Protocols
- modifyOtherKeys mode 3Input Protocols
- Pixel Mouse Reporting (1016)Input Protocols
- Left/Right Margins (DECLRMM, Mode 69)Modes
- Emoji wide chars (2 cols)Text
Only in xterm.js
4 features supported by xterm.js but not Alacritty:
- Reverse Wrap (Mode 45)Cursor
- Erase screen (ED 2)Erase
- Selective Erase (DECSED)Erase
- X10 Mouse Tracking (9)Input Protocols