Skip to content
🌐

Unicode Baseline

Unicode correctness — wide chars, combining, emoji

Correct handling of Unicode text: East Asian wide characters (CJK ideographs occupying two terminal columns), emoji with zero-width joiners (family emoji, skin tone modifiers), regional indicator flags, variation selectors (VS16 forcing emoji presentation), combining characters, and grapheme cluster cursor movement. These features determine whether a terminal can correctly display and navigate international text and modern emoji.

8 features in this baseline

Analysis2026-03-26

2 of 8 tested terminals achieve 100% Unicode compliance. Lagging: Kitty (63%), Terminal.app (63%), Warp (63%). Most commonly missing: Variation selector 16 (emoji presentation), Emoji ZWJ sequences (2 cols), Grapheme Cluster Cursor Movement.

Compliance Scorecard

Terminal Applications

iTerm2
100%8 / 8
Ghostty
100%8 / 8
VS Code
63%5 / 8
Warp
63%5 / 8
Cursor
63%5 / 8
Kitty
63%5 / 8
Terminal.app
63%5 / 8

Headless Backends

vterm
100%8 / 8
Alacritty
75%6 / 8
WezTerm
75%6 / 8
vt100
63%5 / 8

Guidance

For Developers

Unicode bugs cause cursor misalignment and broken layouts. If your app displays user-generated text, emoji, or CJK characters, test against the Unicode baseline. Use libraries that implement UAX #11 width calculation.

For Terminal Authors

Unicode correctness is the hardest baseline to achieve. The width of a character depends on Unicode version, grapheme cluster rules, variation selectors, and font metrics — and terminals must agree with each other for TUI layouts to work.

Features

Terminal Applications

Powered by Termless
Playwright for Terminals