Appearance
iTerm2 vs xterm.js
Side-by-side terminal feature comparison
Summary
34 features differ between these terminals
Feature Comparison
Character Sets
| Feature | iTerm2 | xterm.js |
|---|---|---|
| DEC line drawing character set | ✓ | ✓ |
| DEC Special Graphics | ✓ | ✓ |
| G0/G1 character set switching | ✓ | ✓ |
| UTF-8 mode | ✓ | ✓ |
Cursor
Device Status
Editing
| Feature | iTerm2 | xterm.js |
|---|---|---|
| Delete characters (DCH) | ✓ | ✓ |
| Delete lines (DL) | ✓ | ✓ |
| Insert characters (ICH) | ✓ | ✓ |
| Insert lines (IL) | ✓ | ✓ |
| Repeat character (REP) | ✓ | ✓ |
Erase
Extensions
Input Protocols
| Feature | iTerm2 | 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 | iTerm2 | xterm.js |
|---|---|---|
| Backend reset() method | ✓ | ✓ |
| Full reset (RIS) | ✓ | ✓ |
| SGR reset clears attributes | ✓ | ✓ |
| Soft reset (DECSTR) | ✓ | ✓ |
Scrollback
SGR (Text Styling)
Text
Unicode
| Feature | iTerm2 | xterm.js |
|---|---|---|
| East Asian Ambiguous Width | ✓ | ✓ |
| Grapheme Cluster Cursor Movement | ✓ | ✓ |
| Tab Stops (HT) | ✓ | ✓ |
| Wide Char at Line Wrap | ✓ | ✓ |
Only in iTerm2
19 features supported by iTerm2 but not xterm.js:
- Tertiary Device Attributes (DA3)Device Status
- Query Terminfo (XTGETTCAP)Device Status
- iTerm2 Inline Images (OSC 1337)Extensions
- Kitty graphics protocolExtensions
- Kitty keyboard protocolExtensions
- Desktop Notifications (OSC 9/777)Extensions
- VS Code Shell Integration (OSC 633)Extensions
- iTerm2 Cell Size Reporting (OSC 1337)Extensions
- Current directory (OSC 7)Extensions
- Semantic prompts (OSC 133)Extensions
- Sixel support in DA1Extensions
- CSI u Key EncodingInput Protocols
- modifyOtherKeysInput Protocols
- Pixel Mouse Reporting (1016)Input Protocols
- urxvt Mouse Reporting (1015)Input Protocols
- Left/Right Margins (DECLRMM, Mode 69)Modes
- Emoji wide chars (2 cols)Text
- Regional indicator flags (2 cols)Text
- Variation selector 16 (emoji presentation)Text