Appearance
Terminal.app
App Terminal
Apple's built-in macOS terminal. Ships with every Mac.
Terminal.app is Apple's built-in terminal emulator, shipping with every Mac since Mac OS X 10.0 (March 2001). Evolved from the NeXTSTEP Terminal application that Steve Jobs brought back to Apple, it has been maintained by Apple's developer tools team for over two decades. It is the terminal most macOS users encounter first, and for many developers it is all they ever need.
Terminal.app takes a deliberately conservative approach to feature adoption. It was slow to support truecolor and still lacks modern protocols like the kitty keyboard protocol, kitty graphics, and sixel. However, it provides solid basics: UTF-8 support, 256-color mode, mouse tracking, bracketed paste, and deep integration with macOS — Profiles for appearance management, Services menu integration, Touch Bar support, and Secure Keyboard Entry to prevent keystroke logging.
Apple added shell integration (marks and bookmarks) to Terminal.app, allowing users to navigate between command prompts and fold/unfold command output. Despite its limitations compared to third-party alternatives like iTerm2 and Ghostty, Terminal.app remains the compatibility baseline for macOS CLI tools and the default terminal in every macOS installation worldwide.
Backend: Apple's built-in macOS terminal. Ships with every Mac.
84%
214 passed · 40 failed of 254 features
Tested: April 10, 2026
Analysis2026-04-06
Terminal.app scores 87% (219/251) on the terminfo.dev feature matrix, with gaps in the Core TUI, Modern TUI, Rich TUI, Unicode baselines. Ranks #8 of 12 tested terminals. Missing 32 features.
Character Sets
| Feature | Support | Notes |
|---|---|---|
| DEC line drawing character set | ✓ yes | |
| DEC Special Graphics | ✓ yes | |
| G0/G1 character set switching | ✓ yes | |
| UTF-8 mode | ✓ yes |
Cursor
Device Status
Editing
Erase
| Feature | Support | Notes |
|---|---|---|
| Erase character (ECH) | ✓ yes | |
| ED at scroll region boundary | ✓ yes | |
| EL erases with bg color | ✓ yes | |
| Erase line (EL 2) | ✓ yes | |
| Erase to BOL (EL 1) | ✓ yes | |
| Erase to EOL (EL 0) | ✓ yes | |
| Erase above (ED 1) | ✓ yes | |
| Erase screen (ED 2) | ✓ yes | |
| Erase below (ED 0) | ✓ yes | |
| Erase scrollback (ED 3) | ✓ yes | |
| Selective Erase (DECSED) | ✓ yes |
Extensions
Input Protocols
| Feature | Support | Notes |
|---|---|---|
| Button-Event Mouse (1002) | ✓ yes | |
| CSI u Key Encoding | ✓ yes | |
| Kitty click events | ? unknown | |
| modifyOtherKeys | ✓ yes | |
| modifyOtherKeys mode 3 | ✓ yes | |
| Pixel Mouse Reporting (1016) | ✓ yes | |
| urxvt Mouse Reporting (1015) | ✓ yes | |
| X10 Mouse Tracking (9) | ✓ yes |
Modes
Reset
| Feature | Support | Notes |
|---|---|---|
| DECALN screen alignment (ESC # 8) | ✗ no | |
| Backend reset() method | ✓ yes | |
| Full reset (RIS) | ✓ yes | |
| SGR reset clears attributes | ✓ yes | |
| Soft reset (DECSTR) | ✓ yes |
Scrollback
| Feature | Support | Notes |
|---|---|---|
| Scrollback accumulates | ✓ yes | |
| Alt screen separate scrollback | ✓ yes | |
| DECSTBM constrains scrolling | ✓ yes | |
| DECSTBM reset to full screen | ✓ yes | |
| Reverse index (RI) | ✓ yes | |
| Scroll down (SD) | ✓ yes | |
| Scroll up (SU) | ✓ yes | |
| Scroll region (DECSTBM) | ✓ yes | |
| Total line count | ✓ yes |
SGR (Text Styling)
Text
| Feature | Support | Notes |
|---|---|---|
| Backspace (BS) | ✓ yes | |
| Basic text rendering | ✓ yes | |
| CBT backward tab (CSI Z) | ✗ no | |
| CHT forward tab (CSI I) | ✗ no | |
| Combining characters (0 cols) | ✓ yes | |
| Carriage return | ✓ yes | |
| HTS set tab stop (ESC H) | ✓ yes | |
| Index (IND) | ✓ yes | |
| Line feed | ✓ yes | |
| Next line (NEL) | ✓ yes | |
| Overwrite at cursor | ✓ yes | |
| Reverse Index at Scroll Top | ✓ yes | |
| Tab stops | ✓ yes | |
| TBC clear tab stop (CSI g) | ✗ no | |
| CJK wide chars (2 cols) | ✓ yes | |
| Emoji wide chars (2 cols) | ✓ yes | |
| Regional indicator flags (2 cols) | ✓ yes | |
| Variation selector 16 (emoji presentation) | ✗ no | |
| Emoji ZWJ sequences (2 cols) | ✗ no | |
| Text wraps at width | ✓ yes |
Unicode
| Feature | Support | Notes |
|---|---|---|
| East Asian Ambiguous Width | ✓ yes | |
| Grapheme Cluster Cursor Movement | ✗ no | |
| Tab Stops (HT) | ✓ yes | |
| Wide Char at Line Wrap | ✓ yes |