Results

This is a volunteer-maintained analysis created by and for terminal emulator and TUI/CLI library developers.

We welcome productive contributions and corrections to improve the accuracy and completeness of these measurements.

Note

These test results are provided as-is and we do not guarantee their correctness. The scores and ratings presented here are objective measurements of Unicode and terminal feature support by analysis of automatic response, and should not be interpreted as an overall assessment of terminal emulator quality or a recommendation. Many factors beyond Unicode support contribute to terminal quality. Some terminals may optionally support features and modes not represented here. This data represents only automatic responses received when launched in their default configurations and packaged build options. Some languages and emoji tests may also pass ‘accidentally’!

General Tabulated Summary

Rank

Terminal Software

Software Version

OS System

Score

WIDE

NARROW

LANG

ZWJ

VS16

VS15

SRI

SFZ

RI

Features

Graphics

Resources

1

kitty

0.46.2

Linux

100

100 †

100 †

100 †

100 †

100 †

100 †

100 †

100 †

100 †

100

Kitty

15

2

foot

1.27.0

Linux

99

100 †

100 †

100 †

100 †

100 †

100 †

100 †

100 †

100 †

80

Sixel

91

3

ghostty

1.3.2…

Linux

98

100

100

100

100

100

100

100

100

100

73

Kitty

46

4

AbsoluteTelnet/SSH

13.17

Windows

95

100

100

100

100

100

100

100

100

100

80

none

N/A

5

iTerm2

3.6.10

Darwin

81

100

99

91

99

97

0

100

100

100

67

Sixel, iTerm2, Kitty

N/A

6

Rio

0.4.5

Linux

73

100

100

96

0

100

89

0

100

100

67

Sixel, Kitty

54

7

Konsole

23.08.5

Linux

71

99

100

97

96

100

0

100

100

100

17

Sixel, Kitty

43

8

contour

0.6.3.8249

Linux

66

100

100

82

96

50

0

100

100

100

80

Sixel

42

9

tmux

3.4

Linux

63

99

100

97

81

98

0

100

100

100

17

Sixel

34

10

WindowsTerminal

1.24.11321.0

Windows

63

91

100

98

100

100

0

0

0

100

47

Sixel

N/A

11

WezTerm

20240203…

Linux

54

36

93

87

100

50

0

0

100

100

67

Sixel, Kitty

27

12

Warp

v0.2026.05.27.15.44.stable_01

Linux

49

99

100

96

0

100

0

0

100

99

23

Kitty

30

13

TeraTerm

5.6.0

Linux

44

91

100

91

96

50

0

0

0

99

30

none

N/A

14

mlterm

3.9.4

Linux

41

99

100

91

0

50

0

0

100

99

40

Sixel, ReGIS

64

15

Zellij

4403

Linux

39

99

100

96

1

50

0

0

100

100

30

Sixel

47

16

XTerm

410

Linux

38

93

96

92

1

50

0

0

100

100

43

none

91

17

Bobcat

0.9.9 (r4)

Linux

37

97

97

92

0

100

0

100

0

1

37

iTerm2

75

18

urxvt

9.31…

Linux

36

93

96

92

1

50

0

0

100

100

27

none

100

19

Tabby

1.0.230

Linux

35

99

100

97

1

50

0

0

100

100

33

Sixel

0

20

alacritty

Linux

35

93

87

93

1

50

0

0

100

100

43

none

67

21

QTerminal

2.2.1

Linux

35

100

100

97

0

50

0

0

100

100

23

none

63

22

st

0.9.2

Linux

33

93

96

92

1

50

0

0

100

100

7

none

100

23

Extraterm

0.81.4

Linux

32

99

100

70

0

100

0

0

100

99

3

none

20

24

Apple_Terminal

465

Darwin

30

93

100

90

0

50

0

0

100

99

13

none

N/A

25

pterm

0.84…

Linux

30

93

93

92

1

50

0

0

100

100

0

none

80

26

GNU Screen

5.0.1

Linux

30

99

100

91

1

50

0

0

100

100

3

none

49

27

zutty

0.16…

Linux

29

93

96

92

1

50

0

0

100

100

10

none

46

28

terminology

1.13.0

Linux

28

99

100

73

1

50

0

0

100

99

13

none

48

29

LXTerminal

0.4.1…

Linux

27

36

93

92

1

50

0

0

100

100

43

none

48

30

GNOME Terminal

3.50.1 (VTE/8400)

Linux

27

36

93

92

1

50

0

0

100

100

43

none

44

31

XFCE Terminal

1.1.3 (VTE/8400)

Linux

27

36

93

92

1

50

0

0

100

100

43

none

40

32

Terminator

2.1.3 (VTE/8400)

Linux

27

36

93

91

1

50

0

0

100

100

43

none

42

33

cool-retro-term

2.0.0beta2…

Linux

26

93

96

92

1

50

0

0

100

100

3

none

26

34

libvterm

0.3

Linux

24

100

100

96

0

50

0

100

100

0

47

none

27

35

Hyper

3.4.1

Linux

16

0

93

92

1

50

0

0

100

100

13

none

20

36

securecrt

9.7.2

Linux

12

99

0

92

1

50

3

0

100

100

0

none

N/A

37

xterm.js

6.1.0…

Linux

9

7

0

92

1

50

0

0

100

100

57

none

N/A

38

weston-terminal

15.0.1…

Linux

7

83

0

0

0

100

0

0

100

99

0

none

97

39

mintty

3.8.1

Windows

7

44

100

0

0

100

0

100

100

0

23

none

N/A

40

ConEmu

23.07.24

Windows

0

44

86

0

0

98

0

100

100

0

0

none

N/A

† This terminal supports the Kitty Text Sizing protocol, which allows any application to programmatically set character widths, remediating width issues for complex languages, emoji, and other problematic codepoints. It is scored 100% on WIDE, NARROW, LANG, ZWJ, VS16, VS15, SRI, SFZ, and RI.

Terminal Features

This table shows notable terminal features for each terminal, matching the feature detection performed by ucs-detect.

Rank

Terminal

FEAT Score

Bracketed Paste (2004)

Synced Output (2026)

Focus Events (1004)

Mouse SGR (1006)

Graphemes (2027)

Bracketed Paste MIME (5522)

Kitty Keyboard

Graphics

XTGETTCAP

Text Size (OSC 66)

Kitty Clipboard

OSC 52 Clipboard

Kitty Ptr (OSC 22)

Kitty Notif (OSC 99)

Color Report (OSC 10/11)

Truecolor

Identification

1

kitty

100

yes

yes

yes

yes

no

yes

yes

Kitty

yes (Full)

yes

yes

yes

yes

yes

yes

yes

yes

2

foot

80

yes

yes

yes

yes

yes

no

yes

Sixel

yes (Full)

yes

no

yes

no

no

yes

yes

yes

3

AbsoluteTelnet/SSH

80

yes

yes

yes

yes

yes

yes

no

none

yes (Full)

no

yes

yes

no

no

yes

yes

yes

4

contour

80

yes

yes

yes

yes

yes

no

yes

Sixel

yes (Full)

no

no

yes

no

yes

yes

yes

yes

5

ghostty

73

yes

yes

yes

yes

yes

no

yes

Kitty

yes (Full)

no

no

yes

no

no

yes

yes

yes

6

iTerm2

67

yes

yes

yes

yes

no

no

yes

Sixel, iTerm2, Kitty

yes (Full)

no

no

yes

no

no

yes

yes

yes

7

Rio

67

yes

yes

yes

yes

no

no

yes

Sixel, Kitty

yes (Full)

no

no

yes

no

no

yes

yes

yes

8

WezTerm

67

yes

yes

yes

yes

yes

no

no

Sixel, Kitty

yes (Full)

no

no

yes

no

no

yes

yes

yes

9

xterm.js

57

yes

yes

yes

yes

no

no

yes

none

no

no

no

no

no

yes

yes

yes

yes

10

WindowsTerminal

47

yes

yes

yes

yes

yes

no

no

Sixel

no

no

no

yes

no

no

yes

no

no

11

libvterm

47

yes

no

yes

yes

no

no

yes

none

no

no

no

no

no

no

yes

yes

yes

12

XTerm

43

yes

no

yes

yes

no

no

no

none

yes (Partial)

no

no

no

no

no

yes

yes

yes

13

alacritty

43

yes

yes

yes

yes

no

no

yes

none

no

no

no

no

no

no

yes

yes

no

14

LXTerminal

43

yes

no

yes

yes

no

no

no

none

yes (Partial)

no

no

no

no

no

yes

yes

yes

15

GNOME Terminal

43

yes

no

yes

yes

no

no

no

none

yes (Partial)

no

no

no

no

no

yes

yes

yes

16

XFCE Terminal

43

yes

no

yes

yes

no

no

no

none

yes (Partial)

no

no

no

no

no

yes

yes

yes

17

Terminator

43

yes

no

yes

yes

no

no

no

none

yes (Partial)

no

no

no

no

no

yes

yes

yes

18

mlterm

40

yes

no

yes

yes

no

no

no

Sixel, ReGIS

yes (Partial)

no

no

no

no

no

yes

yes

yes

19

Bobcat

37

yes

yes

yes

yes

no

no

no

iTerm2

no

no

no

no

no

no

no

yes

yes

20

Tabby

33

yes

no

yes

yes

no

no

no

Sixel

no

no

no

no

no

no

yes

yes

yes

21

TeraTerm

30

yes

no

yes

yes

no

no

no

none

yes (Partial)

no

no

no

no

no

yes

no

no

22

Zellij

30

no

no

no

no

no

no

yes

Sixel

no

no

no

yes

no

no

yes

yes

yes

23

urxvt

27

yes

no

yes

yes

no

no

no

none

no

no

no

no

no

no

yes

no

no

24

Warp

23

no

no

no

no

no

no

yes

Kitty

no

no

no

no

no

no

yes

yes

yes

25

QTerminal

23

yes

no

yes

yes

no

no

no

none

no

no

no

no

no

no

no

yes

no

26

mintty

23

yes

no

yes

yes

no

no

no

none

no

no

no

no

no

no

no

no

yes

27

Konsole

17

no

no

no

no

no

no

no

Sixel, Kitty

no

no

no

no

no

no

yes

yes

yes

28

tmux

17

no

no

no

no

no

no

no

Sixel

no

no

no

no

no

no

yes

yes

yes

29

Apple_Terminal

13

no

no

no

no

no

no

no

none

no

no

no

no

no

no

yes

yes

yes

30

terminology

13

no

no

no

no

no

no

no

none

no

no

no

no

no

no

yes

no

yes

31

Hyper

13

no

no

no

no

no

no

no

none

no

no

no

no

no

no

yes

yes

yes

32

zutty

10

no

no

no

no

no

no

no

none

no

no

no

no

no

no

yes

yes

no

33

st

7

no

no

no

no

no

no

no

none

no

no

no

no

no

no

yes

no

no

34

Extraterm

3

no

no

no

no

no

no

no

none

no

no

no

no

no

no

no

yes

no

35

GNU Screen

3

no

no

no

no

no

no

no

none

no

no

no

no

no

no

no

yes

no

36

cool-retro-term

3

no

no

no

no

no

no

no

none

no

no

no

no

no

no

no

yes

no

37

pterm

0

no

no

no

no

no

no

no

none

no

no

no

no

no

no

no

no

no

38

securecrt

0

no

no

no

no

no

no

no

none

no

no

no

no

no

no

no

no

no

39

weston-terminal

0

no

no

no

no

no

no

no

none

no

no

no

no

no

no

no

no

no

40

ConEmu

0

no

no

no

no

no

no

no

none

no

no

no

no

no

no

no

no

no

Truecolor Detection

This table shows which methods can be used to detect 24-bit truecolor support for each terminal emulator. no cells are yellow when only COLORTERM detects support (COLORTERM environment variable is not forwarded over SSH without SendEnv / AcceptEnv configuration), grey when at least one other method succeeds, and red when no method can detect Truecolor support.

Terminal

XTGETTCAP (RGB)

DECRQSS

COLORTERM

kitty

no

yes

yes

foot

yes

yes

yes

ghostty

yes

yes

yes

AbsoluteTelnet/SSH

yes

yes

yes

iTerm2

yes

no

yes

Rio

yes

no

yes

Konsole

no

no

yes

contour

yes

yes

yes

tmux

no

no

yes

WindowsTerminal

no

no

no

WezTerm

yes

no

yes

Warp

no

no

yes

TeraTerm

no

no

no

mlterm

no

no

yes

Zellij

no

no

yes

XTerm

yes

yes

no

Bobcat

no

no

yes

urxvt

no

no

no

Tabby

no

no

yes

alacritty

no

no

yes

QTerminal

no

no

yes

st

no

no

no

Extraterm

no

no

yes

Apple_Terminal

no

no

yes

pterm

no

no

no

GNU Screen

no

no

yes

zutty

no

no

yes

terminology

no

no

no

LXTerminal

yes

yes

yes

GNOME Terminal

yes

yes

yes

XFCE Terminal

yes

yes

yes

Terminator

yes

yes

yes

cool-retro-term

no

no

yes

libvterm

no

yes

yes

Hyper

no

no

yes

securecrt

no

no

no

xterm.js

no

no

yes

weston-terminal

no

no

no

mintty

no

no

no

ConEmu

no

no

no

OSC 52 Clipboard Detection

This table shows which methods can be used to detect OSC 52 clipboard support for each terminal emulator. DA1 extension 52 is the mechanism defined by the vt-extensions spec; XTGETTCAP Ms is an alternative capability query that may work on terminals not advertising the DA1 extension.

Terminal

DA1 ext 52

XTGETTCAP Ms

kitty

no

yes

foot

yes

yes

ghostty

yes

yes

AbsoluteTelnet/SSH

yes

yes

iTerm2

yes

yes

Rio

no

yes

Konsole

no

no

contour

yes

no

tmux

no

no

WindowsTerminal

yes

no

WezTerm

no

yes

Warp

no

no

TeraTerm

no

no

mlterm

no

no

Zellij

yes

no

XTerm

no

no

Bobcat

no

no

urxvt

no

no

Tabby

no

no

alacritty

no

no

QTerminal

no

no

st

no

no

Extraterm

no

no

Apple_Terminal

no

no

pterm

no

no

GNU Screen

no

no

zutty

no

no

terminology

no

no

LXTerminal

no

no

GNOME Terminal

no

no

XFCE Terminal

no

no

Terminator

no

no

cool-retro-term

no

no

libvterm

no

no

Hyper

no

no

securecrt

no

no

xterm.js

no

no

weston-terminal

no

no

mintty

no

no

ConEmu

no

no

Terminal Identification

This table shows which methods can be used to identify the terminal software name and version. XTVERSION, XTGETTCAP TN, and ENQ are active escape sequence queries (work over SSH). TERM_PROGRAM and TERM are environment variables; TERM_PROGRAM is not forwarded over SSH without SendEnv / AcceptEnv configuration, while TERM is (though some protocols such as Serial do not forward TERM).

Terminal

XTVERSION

XTGETTCAP TN

ENQ

TERM_PROGRAM

TERM

kitty

yes

yes

no

no

yes

foot

yes

yes

no

no

yes

ghostty

yes

yes

no

yes

yes

AbsoluteTelnet/SSH

yes

no

no

no

no

iTerm2

yes

no

no

yes

no

Rio

yes

yes

no

yes

yes

Konsole

yes

no

no

no

no

contour

yes

no

no

no

yes

tmux

yes

no

no

yes

no

WindowsTerminal

no

no

no

no

no

WezTerm

yes

yes

no

yes

no

Warp

yes

no

no

yes

no

TeraTerm

no

no

no

no

no

mlterm

yes

yes

no

no

no

Zellij

yes

no

no

no

no

XTerm

yes

no

no

no

no

Bobcat

yes

no

no

no

no

urxvt

no

no

yes

no

yes

Tabby

no

no

no

yes

no

alacritty

no

no

no

no

yes

QTerminal

no

no

no

no

no

st

no

no

no

no

yes

Extraterm

no

no

yes

no

no

Apple_Terminal

no

no

no

yes

no

pterm

no

no

yes

no

no

GNU Screen

no

no

no

no

yes

zutty

no

no

no

no

no

terminology

yes

no

no

yes

no

LXTerminal

yes

no

no

no

no

GNOME Terminal

yes

no

no

no

no

XFCE Terminal

yes

no

no

no

no

Terminator

yes

no

no

no

no

cool-retro-term

no

no

no

no

no

libvterm

yes

no

no

no

no

Hyper

no

no

no

yes

no

securecrt

no

no

no

no

no

xterm.js

yes

no

no

yes

no

weston-terminal

no

no

no

no

no

mintty

no

no

no

yes

no

ConEmu

no

no

no

no

no

Terminal Capabilities (XTGETTCAP)

This table shows XTGETTCAP terminfo capability values reported by each terminal. Terminals are grouped by shared values for each capability.

Capability

Description

Terminals and Values

TN

Terminal name

WezTerm: WezTerm AbsoluteTelnet/SSH, GNOME Terminal, LXTerminal, Terminator, XFCE Terminal, contour, iTerm2: xterm-256color ghostty: xterm-ghostty kitty: xterm-kitty foot: foot mlterm: mlterm Rio: rio XTerm: xterm

colors

Max colors on screen

AbsoluteTelnet/SSH, GNOME Terminal, LXTerminal, Rio, TeraTerm, Terminator, WezTerm, XFCE Terminal, XTerm, foot, ghostty, iTerm2, kitty, mlterm: 256 contour: \x01\x00

RGB

Bits per color channel (8 = 24-bit truecolor)

AbsoluteTelnet/SSH, GNOME Terminal, LXTerminal, Terminator, XFCE Terminal, XTerm, foot, ghostty, iTerm2: 8 Rio, WezTerm, contour: 8/8/8

AX

Supports default colors

iTerm2: 1

BD

Enter bold mode (kitty)

Rio, foot, ghostty, kitty: \E[?2004l

BE

Exit bold mode (kitty)

Rio, foot, ghostty, kitty: \E[?2004h

Cr

Set cursor color

foot: \E]112\E\ Rio, WezTerm, iTerm2, kitty: \E]112\a

Cs

Reset cursor color

contour, foot: \E]12;%p1%s\E\ Rio, WezTerm, iTerm2, kitty: \E]12;%p1%s\a

E3

Erase scrollback

Rio, contour, foot, ghostty, iTerm2: \E[3J

Ms

Clipboard set

foot, kitty: \E]52;%p1%s;%p2%s\E\ AbsoluteTelnet/SSH, Rio, WezTerm, ghostty, iTerm2: \E]52;%p1%s;%p2%s\a

PE

Presentation end (kitty)

Rio, foot, ghostty, kitty: \E[201~

PS

Presentation start (kitty)

Rio, foot, ghostty, kitty: \E[200~

RV

Enter reverse mode (kitty)

foot, ghostty, kitty: \E[>c

Rect

Rectangle operations

foot: \E[%p1%d;%p2%d;%p3%d;%p4%d;%p5%d$x

Rmol

Reset overline mode

contour: \E[55m

Se

Reset underline style

contour, foot: \E[ q Rio: \E[0 q kitty: \E[0\sq WezTerm, ghostty, iTerm2: \E[2 q

Setulc

Set underline color

contour, kitty: \E[58:2:%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1%{255}%&%d%;m AbsoluteTelnet/SSH: \E[58:2::%p1%d:%p2%d:%p3%dm WezTerm, foot, ghostty: \E[58:2::%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1%{255}%&%d%;m

Smol

Set overline mode

WezTerm, contour: \E[53m

Smulx

Styled underline

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, kitty: \E[4:%p1%dm

Ss

Set underline style

Rio, WezTerm, contour, foot, ghostty, iTerm2: \E[%p1%d q kitty: \E[%p1%d\sq

Sync

Synchronized output

Rio, kitty: \EP=%p1%ds\E\ foot, ghostty: \E[?2026%?%p1%{1}%-%tl%eh%; WezTerm, contour: \E[?2026%?%p1%{1}%-%tl%eh

TS

Terminal state query

foot: \E]2;

Tc

Truecolor (24-bit RGB)

WezTerm: 1

XM

Enter marks mode (kitty)

WezTerm, foot, ghostty: \E[?1006;1000%?%p1%{1}%=%th%el%;

XR

Enter reset mode (kitty)

foot, ghostty, kitty: \E[>0q

XT

Xterm extensions

iTerm2: 1

acsc

Alternate character set

ghostty, kitty: ++\,\,--..00\\`\\`aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~ Rio, WezTerm, contour, foot, iTerm2: \\`\\`aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~

am

Auto right margin

WezTerm, iTerm2: 1

bce

Background color erase

WezTerm, iTerm2: 1

bel

Bell

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \a

blink

Enter blink mode

AbsoluteTelnet/SSH, Rio, WezTerm, foot, ghostty, iTerm2, kitty: \E[5m

bold

Enter bold mode

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[1m

bw

Auto left margin

iTerm2: 0

ccc

Can redefine colors

WezTerm, iTerm2: 1

civis

Hide cursor

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[?25l

clear

Clear screen

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[H\E[2J

cnorm

Normal cursor

kitty: \E[?12h\E[?25h AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2: \E[?12l\E[?25h

cols

Columns

Rio, WezTerm, foot, ghostty, iTerm2, kitty: 80 contour: P

cr

Carriage return

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \r

csr

Change scroll region

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%i%p1%d;%p2%dr

cub

Cursor left n

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%p1%dD

cub1

Cursor left

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \b

cud

Cursor down n

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%p1%dB

cud1

Cursor down

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \n

cuf

Cursor right n

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%p1%dC

cuf1

Cursor right

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[C

cup

Cursor address

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%i%p1%d;%p2%dH

cuu

Cursor up n

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%p1%dA

cuu1

Cursor up

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[A

cvvis

Very visible cursor

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[?12;25h

da

Memory above

iTerm2: 0

db

Memory below

iTerm2: 0

dch

Delete n characters

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%p1%dP

dch1

Delete character

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[P

dim

Enter dim mode

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[2m

dl

Delete n lines

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%p1%dM

dl1

Delete line

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[M

dsl

Disable status line

contour: \E[$~ WezTerm, foot, kitty: \E]2;\E\ Rio, ghostty: \E]2;\a

ech

Erase characters

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%p1%dX

ed

Clear to end of screen

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[J

el

Clear to end of line

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[K

el1

Clear to start of line

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[1K

eslok

Status line escape OK

iTerm2: 0

fd

Enter font mode (kitty)

foot, ghostty, kitty: \E[?1004l

fe

Exit font mode (kitty)

foot, ghostty, kitty: \E[?1004h

flash

Flash screen

AbsoluteTelnet/SSH, Rio, WezTerm, contour, ghostty, iTerm2, kitty: \E[?5h$<100/>\E[?5l foot: \E]555\E\

fsl

From status line

contour: \E[$} WezTerm, foot: \E\ Rio, ghostty, kitty: \a

home

Cursor home

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[H

hpa

Horizontal position

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%i%p1%dG

hs

Has status line

iTerm2: 0 WezTerm: 1

ht

Horizontal tab

Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \t

hts

Set tab stop

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \EH

ich

Insert n characters

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%p1%d@

ich1

Insert character

ghostty: \E[@

il

Insert n lines

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%p1%dL

il1

Insert line

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[L

ind

Scroll forward

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \n

indn

Scroll forward n

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%p1%dS

initc

Initialize color

Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E]4;%p1%d;rgb:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\

invis

Invisible cursor

Rio, WezTerm, contour, foot, ghostty, iTerm2: \E[8m

is2

Init 2 string

foot: \E[!p\E[4l\E> Rio, WezTerm, iTerm2: \E[!p\E[?3;4l\E[4l\E>

it

Init tabs

Rio, WezTerm, foot, ghostty, iTerm2, kitty: 8 contour: \b

kDC

Shifted delete-char key

Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[3;2~ GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[3~

kDC3

Alt delete-char key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[3;2~ Rio, contour, foot, ghostty, iTerm2, kitty: \E[3;3~

kDC4

Alt-Shift delete-char key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[3;4~ GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[3;5~

kDC5

Ctrl delete-char key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[3;5~ GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[3;6~

kDC6

Ctrl-Shift delete-char key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[3;5~ Rio, contour, foot, ghostty, iTerm2, kitty: \E[3;6~

kDC7

Ctrl-Alt delete-char key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[3;6~ Rio, contour, foot, ghostty, iTerm2, kitty: \E[3;7~

kDN

Shifted down-arrow key

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, contour, foot, ghostty, iTerm2, kitty: \E[1;2B

kDN3

Alt down-arrow key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;2B Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;3B

kDN4

Alt-Shift down-arrow key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;4B GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;5B

kDN5

Ctrl down-arrow key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;5B GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;6B

kDN6

Ctrl-Shift down-arrow key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;5B Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;6B

kDN7

Ctrl-Alt down-arrow key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;6B Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;7B

kEND

Shifted end key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[1;2F

kEND3

Alt end key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;2F Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;3F

kEND4

Alt-Shift end key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;4F GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;5F

kEND5

Ctrl end key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;5F GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;6F

kEND6

Ctrl-Shift end key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;5F Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;6F

kEND7

Ctrl-Alt end key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;6F Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;7F

kHOM

Shifted home key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[1;2H

kHOM3

Alt home key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;2H Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;3H

kHOM4

Alt-Shift home key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;4H GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;5H

kHOM5

Ctrl home key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;5H GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;6H

kHOM6

Ctrl-Shift home key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;5H Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;6H

kHOM7

Ctrl-Alt home key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;6H Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;7H

kIC

Shifted insert-char key

Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[2;2~ GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[2~

kIC3

Alt insert-char key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[2;2~ Rio, contour, foot, ghostty, iTerm2, kitty: \E[2;3~

kIC4

Alt-Shift insert-char key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[2;4~ GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[2;5~

kIC5

Ctrl insert-char key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[2;5~ GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[2;6~

kIC6

Ctrl-Shift insert-char key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[2;5~ Rio, contour, foot, ghostty, iTerm2, kitty: \E[2;6~

kIC7

Ctrl-Alt insert-char key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[2;6~ Rio, contour, foot, ghostty, iTerm2, kitty: \E[2;7~

kLFT

Shifted left-arrow key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[1;2D

kLFT3

Alt left-arrow key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;2D Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;3D

kLFT4

Alt-Shift left-arrow key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;4D GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;5D

kLFT5

Ctrl left-arrow key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;5D GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;6D

kLFT6

Ctrl-Shift left-arrow key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;5D Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;6D

kLFT7

Ctrl-Alt left-arrow key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;6D Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;7D

kNXT

Shifted next-page key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[6;2~

kNXT3

Alt next-page key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[6;2~ Rio, contour, foot, ghostty, iTerm2, kitty: \E[6;3~

kNXT4

Alt-Shift next-page key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[6;4~ GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[6;5~

kNXT5

Ctrl next-page key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[6;5~ GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[6;6~

kNXT6

Ctrl-Shift next-page key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[6;5~ Rio, contour, foot, ghostty, iTerm2, kitty: \E[6;6~

kNXT7

Ctrl-Alt next-page key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[6;6~ Rio, contour, foot, ghostty, iTerm2, kitty: \E[6;7~

kPRV

Shifted previous-page key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[5;2~

kPRV3

Alt previous-page key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[5;2~ Rio, contour, foot, ghostty, iTerm2, kitty: \E[5;3~

kPRV4

Alt-Shift previous-page key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[5;4~ GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[5;5~

kPRV5

Ctrl previous-page key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[5;5~ GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[5;6~

kPRV6

Ctrl-Shift previous-page key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[5;5~ Rio, contour, foot, ghostty, iTerm2, kitty: \E[5;6~

kPRV7

Ctrl-Alt previous-page key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[5;6~ Rio, contour, foot, ghostty, iTerm2, kitty: \E[5;7~

kRIT

Shifted right-arrow key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[1;2C

kRIT3

Alt right-arrow key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;2C Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;3C

kRIT4

Alt-Shift right-arrow key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;4C GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;5C

kRIT5

Ctrl right-arrow key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;5C GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;6C

kRIT6

Ctrl-Shift right-arrow key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;5C Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;6C

kRIT7

Ctrl-Alt right-arrow key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;6C Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;7C

kUP

Shifted up-arrow key

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, contour, foot, ghostty, iTerm2, kitty: \E[1;2A

kUP3

Alt up-arrow key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;2A Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;3A

kUP4

Alt-Shift up-arrow key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;4A GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;5A

kUP5

Ctrl up-arrow key

Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;5A GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;6A

kUP6

Ctrl-Shift up-arrow key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;5A Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;6A

kUP7

Ctrl-Alt up-arrow key

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal: \E[1;6A Rio, contour, foot, ghostty, iTerm2, kitty: \E[1;7A

ka1

Keypad upper left

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal, XTerm, mlterm: \E[H

ka3

Keypad upper right

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal, XTerm, mlterm: \E[5~

kb2

Keypad center

Rio, WezTerm, iTerm2: \EOE

kbs

Backspace key

XTerm, iTerm2, mlterm: \b GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, contour, foot, ghostty, kitty: 

kc1

Keypad lower left

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal, XTerm, mlterm: \E[F

kc3

Keypad lower right

GNOME Terminal, LXTerminal, Terminator, XFCE Terminal, XTerm, mlterm: \E[6~

kcbt

Back-tab key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[Z

kcub1

Left arrow key

Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \EOD GNOME Terminal, LXTerminal, Terminator, XFCE Terminal, XTerm, mlterm: \E[D

kcud1

Down arrow key

Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \EOB GNOME Terminal, LXTerminal, Terminator, XFCE Terminal, XTerm, mlterm: \E[B

kcuf1

Right arrow key

Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \EOC GNOME Terminal, LXTerminal, Terminator, XFCE Terminal, XTerm, mlterm: \E[C

kcuu1

Up arrow key

Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \EOA GNOME Terminal, LXTerminal, Terminator, XFCE Terminal, XTerm, mlterm: \E[A

kdch1

Delete character key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[3~

kend

End key

Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \EOF GNOME Terminal, LXTerminal, Terminator, XFCE Terminal, XTerm, mlterm: \E[F

kent

Enter/send key

Rio, WezTerm, ghostty, iTerm2: \EOM Terminator: \r+70 XTerm: \r

kf1

Function key F1

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \EOP

kf10

Function key F10

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[21~

kf11

Function key F11

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[23~

kf12

Function key F12

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[24~

kf2

Function key F2

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \EOQ

kf3

Function key F3

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \EOR

kf4

Function key F4

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \EOS

kf5

Function key F5

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[15~

kf6

Function key F6

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[17~

kf7

Function key F7

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[18~

kf8

Function key F8

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[19~

kf9

Function key F9

GNOME Terminal, LXTerminal, Rio, Terminator, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[20~

khome

Home key

Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \EOH GNOME Terminal, LXTerminal, Terminator, XFCE Terminal, XTerm, mlterm: \E[H

kich1

Insert character key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[2~

kind

Scroll-down key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[1;2B

kitty-query-allow_hyperlinks

hyperlink support

kitty: yes

kitty-query-background

background color

kitty: #000000

kitty-query-background_opacity

background opacity

kitty: 1

kitty-query-bold_font

bold font

kitty: FreeMonoBold

kitty-query-bold_italic_font

bold-italic font

kitty: FreeMonoBoldOblique

kitty-query-clipboard_control

clipboard control

kitty: write-clipboard write-primary read-clipboard-ask read-primary-ask

kitty-query-dpi_x

DPI X

kitty: 96

kitty-query-dpi_y

DPI Y

kitty: 96

kitty-query-font_family

font family

kitty: FreeMono

kitty-query-font_size

font size

kitty: 11

kitty-query-foreground

foreground color

kitty: #dddddd

kitty-query-italic_font

italic font

kitty: FreeMonoOblique

kitty-query-name

terminal name

kitty: kitty

kitty-query-os_name

OS name

kitty: linux

kitty-query-version

version

kitty: 0.47.1

km

Has meta key

WezTerm, iTerm2: 1

kmous

Mouse key

WezTerm, foot, ghostty: \E[< Rio, contour, iTerm2, kitty: \E[M

knp

Next page key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[6~

kpp

Previous page key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[5~

kri

Scroll-up key

GNOME Terminal, LXTerminal, Rio, Terminator, WezTerm, XFCE Terminal, XTerm, contour, foot, ghostty, iTerm2, kitty, mlterm: \E[1;2A

kxIN

Keyboard in (kitty)

Rio, foot, ghostty, kitty: \E[I

kxOUT

Keyboard out (kitty)

Rio, foot, ghostty, kitty: \E[O

lines

Lines

Rio, WezTerm, foot, ghostty, iTerm2, kitty: 24 contour: \x18

mc5i

Will not echo input

WezTerm, iTerm2: 1

mir

Move in insert mode

WezTerm, iTerm2: 1

msgr

Move in standout mode

WezTerm, iTerm2: 1

nel

Newline

AbsoluteTelnet/SSH, foot: \EE

npc

No pad character

WezTerm, iTerm2: 1

oc

Original colors

contour, foot: \E]104\E\ Rio, WezTerm, ghostty, kitty: \E]104\a

op

Original pair

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[39;49m

pairs

Max color pairs

Rio, WezTerm, ghostty, iTerm2, kitty: 32767 foot: 65536 contour: \x01\x00\x00

query-os-name

OS name query

foot, kitty: Linux

rc

Restore cursor

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E8

rep

Repeat character

Rio, WezTerm, contour, foot, ghostty, kitty: %p1%c\E[%p2%{1}%-%db AbsoluteTelnet/SSH: \E[%p1%db

rev

Enter reverse mode

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[7m

ri

Reverse index

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \EM

rin

Scroll reverse n

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%p1%dT

ritm

Exit italics mode

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[23m

rmacs

Exit alternate charset mode

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E(B

rmam

Disable line wrap

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[?7l

rmcup

Exit alt screen

Rio, WezTerm, foot: \E[?1049l\E[23;0;0t AbsoluteTelnet/SSH, contour, ghostty, iTerm2, kitty: \E[?1049l

rmir

Exit insert mode

Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[4l

rmkx

Keypad local mode

AbsoluteTelnet/SSH, Rio, WezTerm, foot, ghostty, iTerm2: \E[?1l\E> contour, kitty: \E[?1l

rmm

Reset meta mode

Rio, WezTerm, iTerm2: \E[?1034l foot: \E[?1036h\E[?1034l

rmso

Exit standout mode

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[27m

rmul

Exit underline mode

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[24m

rs1

Reset string 1

contour, ghostty, kitty: \E]\E\\Ec Rio, WezTerm: \Ec\E]104\a AbsoluteTelnet/SSH, foot, iTerm2: \Ec

rs2

Reset string 2

foot: \E[!p\E[4l\E> Rio, WezTerm, iTerm2: \E[!p\E[?3;4l\E[4l\E> AbsoluteTelnet/SSH: \E[!p

rv

Exit reverse mode (kitty)

foot: \E\[>1;[0-9][0-9][0-9][0-9][0-9][0-9];0c ghostty: \E\[[0-9]+;[0-9]+;[0-9]+c

sc

Save cursor

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E7

setab

Set background color

foot: \E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48:5:%p1%d%;m Rio, WezTerm, contour, ghostty, iTerm2, kitty: \E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m AbsoluteTelnet/SSH: \E[48;5;%p1%dm

setaf

Set foreground color

foot: \E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38:5:%p1%d%;m Rio, WezTerm, contour, ghostty, iTerm2, kitty: \E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m AbsoluteTelnet/SSH: \E[38;5;%p1%dm

setal

Set ANSI label

foot: \E[58:2::%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1%{255}%&%d%;m

setrgbb

Set RGB background

contour, ghostty, kitty: \E[48:2:%p1%d:%p2%d:%p3%dm foot: \E[48:2::%p1%d:%p2%d:%p3%dm AbsoluteTelnet/SSH: \E[48;2;%p1%d;%p2%d;%p3%dm

setrgbf

Set RGB foreground

contour, ghostty, kitty: \E[38:2:%p1%d:%p2%d:%p3%dm foot: \E[38:2::%p1%d:%p2%d:%p3%dm AbsoluteTelnet/SSH: \E[38;2;%p1%d;%p2%d;%p3%dm

sgr

Set attributes

kitty: %?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;%?%p5%t;2%;m contour: %?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m Rio, WezTerm, foot, ghostty, iTerm2: %?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m

sgr0

Reset attributes

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E(B\E[m

sitm

Enter italics mode

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[3m

smacs

Enter alternate charset mode

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E(0

smam

Enable line wrap

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[?7h

smcup

Enter alt screen

Rio, WezTerm, foot: \E[?1049h\E[22;0;0t AbsoluteTelnet/SSH, contour, ghostty, iTerm2, kitty: \E[?1049h

smir

Enter insert mode

Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[4h

smkx

Keypad transmit mode

AbsoluteTelnet/SSH, Rio, WezTerm, foot, ghostty, iTerm2: \E[?1h\E= contour, kitty: \E[?1h

smso

Enter standout mode

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[7m

smul

Enter underline mode

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[4m

tbc

Clear all tabs

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[3g

tsl

To status line

contour: \E[2$~\E[1$}\E[H\E[2J WezTerm: \E]0; Rio, foot, ghostty, kitty: \E]2;

u6

CPR response format

AbsoluteTelnet/SSH, Rio, WezTerm, foot, ghostty, iTerm2, kitty: \E[%i%d;%dR

u7

CPR request

AbsoluteTelnet/SSH, Rio, WezTerm, foot, ghostty, iTerm2, kitty: \E[6n

u8

DA response format

Rio, WezTerm, foot, ghostty, kitty: \E[?%[;0123456789]c iTerm2: \E[?1;2c AbsoluteTelnet/SSH: \E[?62;1;2;6;7;8;9;15;22;52c

u9

DA request

AbsoluteTelnet/SSH, Rio, WezTerm, foot, ghostty, iTerm2, kitty: \E[c

ul

Transparent underline

iTerm2: 0

vpa

Vertical position

AbsoluteTelnet/SSH, Rio, WezTerm, contour, foot, ghostty, iTerm2, kitty: \E[%i%p1%dd

xenl

Newline glitch

WezTerm, iTerm2: 1

xm

Exit marks mode (kitty)

WezTerm, foot, ghostty: \E[<%i%p3%d;%p1%d;%p2%d;%?%p4%tM%em%;

xr

Exit reset mode (kitty)

ghostty: \EP>\|[ -~]+a\E\ foot: \EP>\|foot\([0-9]+\.[0-9]+\.[0-9]+(-[0-9]+-g[a-f[0-9]+)?\)?\E\

xt

Destructive tabs

iTerm2: 0

xvpa

Extended vertical positioning

iTerm2: 0

Performance

Note

Test duration and resources used is not an indicator of software quality.

We make a best effort to track CPU and System Memory for linux systems, only. Docker and cgroups are used to enforce a 2 CPU limit but it is not reliable. Many terminals use GPU memory not tracked. Some terminals perform differently under docker. Further, some have complex process groups, chrome, or OS-integration of shared resources that may not be accurately reflected here.

The Resources score combines CPU, memory, and runtime into a single 0-100 metric. See per-terminal pages for calculation details.

Terminal

Score

CPU %

RSS (MB)

Time (s)

st

100

7

17

4

urxvt

99

5

23.5

4

weston-terminal

96

5.3

22.3

6

XTerm

90

17

25.6

3

foot

90

13.7

25.4

4

pterm

79

15.6

63.3

5

Bobcat

75

25.9

122.6

2

alacritty

66

32

125.1

5

mlterm

64

42.2

23.9

29.3

QTerminal

63

29.9

78.8

13.7

Rio

54

29.9

93.7

31.3

GNU Screen

49

0

180.5

899.7

terminology

48

44.6

100.6

37.9

LXTerminal

48

4.9

59.7

503.1

Zellij

46

10.1

57.5

316.2

ghostty

46

100.6

275.2

7

zutty

45

127.2

123.6

14.1

GNOME Terminal

43

0.8

93.6

1637.8

Konsole

42

38.5

222.4

35.9

Terminator

42

1.1

116.3

1365.7

contour

41

32.9

185.8

57.2

XFCE Terminal

40

5.8

112.1

555

tmux

34

72.8

227.9

47.3

Warp

30

7.8

445.5

303

WezTerm

27

97.6

178.5

92.2

libvterm

27

119.1

279.3

50.3

cool-retro-term

25

143.8

461.6

29.1

Extraterm

20

30.9

351.6

307.7

Hyper

20

18.5

559.8

325.8

kitty

15

115.5

704.4

73.2

Tabby

0

137.4

1030.9

215.2

CPU usage across all terminals

CPU usage during test execution, all terminals overlaid.

RSS memory usage across all terminals

RSS memory usage during test execution, all terminals overlaid.

CPU % vs Duration trade-off across all terminals

Trade-off between mean CPU % and total test duration. Dots near the origin use less CPU and less time. Dashed contours show equal CPU × time product (lower percentile = better).

Duration across all terminals

Total test duration for each terminal, sorted fastest to slowest. Log scale on the X axis.

Full Report by Terminal