Skip to content

HTS set tab stop (ESC H)

Category: text · Tags: ECMA-48 Standard, VT100 · Specification ↗

ESC H
HTS (Horizontal Tab Set) sets a tab stop at the current cursor column. The sequence is ESC H. After setting a custom tab stop, subsequent HT (tab) characters will stop at that column. HTS works in conjunction with TBC (Tab Clear) to allow applications to define custom tab layouts. Default tab stops are every 8 columns, but HTS allows finer control for columnar data alignment.
How this is tested: Clear all tab stops with \x1b[3g, position cursor at column 5 and send \x1bH (HTS), return to column 0 and send a tab — verify cursor advances to column 5.

Supported by 3 of 14 backends (21%)

Terminal Applications

TerminalVersionSupportNotes
iTerm23.6.9? unknown
Ghostty1.3.1? unknown
Kitty0.46.2? unknown
VS Code1.113.0? unknown
Warp0.2026.03.18.08.24.03? unknown
Cursor2.6.21? unknown
Terminal.app2.15? unknown

Headless Backends

Parser correctness only — a means the parser accepts the sequence.

BackendVersionSupportNotes
Alacritty0.26.0✓ yes
WezTerm0.1.0-fork.5✓ yes
xterm.js5.5.0✓ yes
vt100.js0.2.1✗ noTab stop manipulation not implemented in vt100.js
vterm0.2.0✗ noTab stop manipulation not implemented in vterm.js