Slow blink
AI-Generated Content
This page was generated with the assistance of AI and may contain inaccuracies. It is intended as a placeholder for future human verification. If you spot issues ahead of its initial review, please report them on GitHub!
Standard
Slow blink (SGR 5) is an SGR attribute that causes text to blink at a slow rate.
Syntax
CSI 5 m SGR 5 — Slow blink
CSI 25 m SGR 25 — Not blinking (steady)
Formal syntax
SGR-slow-blink = 0x1b, "[", "5", "m" ; SGR-steady = 0x1b, "[", "25", "m" ;
Description
Per ECMA-48 §8.3.117, SGR parameter 5 selects "slowly blinking (less than 150 per minute)." The text alternates between visible and hidden (or between foreground and background) at a rate below 150 cycles per minute (less than 2.5 Hz).
Blinking is reset by SGR 25 or SGR 0. SGR 25 cancels both slow blink (SGR 5) and rapid blink (SGR 6).
Many modern terminals do not implement blinking at all, treating SGR 5 as a no-op. Some terminals support it but allow users to disable it in preferences. A few terminals (notably XTerm) support blink when configured to do so.
Examples
printf '\e[5mBlinking text\e[25m Steady text\n'
Specifications
| Specification | Section |
|---|---|
| VT510 Reference | — |
Terminal support
| Terminal | Support | Version | Notes |
|---|---|---|---|
| Terminal Emulators | |||
| Alacritty | ✗ | No | |
| Bobcat | ? | ? | Implemented in external TerminalCtrl library, not in Bobcat source code |
| contour | ✓ | v0.1.0 | |
| foot | ✓ | Yes | Implemented at csi.c:125 |
| Ghostty | ~ | v1.0.0 | Both slow and rapid blink map to same blink attribute |
| iTerm2 | ✓ | Yes | Slow blink (SGR 5) supported via VT100CHARATTR_BLINK. iTerm2 does not distinguish between slow and rapid blink rates. |
| Kitty | ✓ | Yes | SGR 5 sets blink attribute |
| Konsole | ✓ | Yes | SGR 5 sets RE_BLINK rendition flag |
| mintty | ✓ | Yes | Implemented at src/termout.c:2146. Sets ATTR_BLINK flag. |
| mlterm | ✓ | rel-3_3_7 | SGR 5 and 6 both enable blinking |
| PuTTY | ✓ | 0.43 | SGR 5 sets ATTR_BLINK at terminal.c:4656-4659 |
| Rio | ✓ | v0.0.3 | |
| rxvt-unicode | ✓ | 1.2 | Both slow (SGR 5) and rapid (SGR 6) blink map to same RS_Blink |
| st | ✓ | 0.4 | Implemented as ATTR_BLINK; no distinction from rapid |
| terminology | ✓ | v0.1.0 | Stored but not rendered; comment indicates no intent to support |
| VT100 | ✓ | Yes | |
| VTE | ✓ | Yes | Both slow and rapid blink map to same blink attribute |
| WezTerm | ✓ | Yes | |
| Windows Terminal | ✓ | Yes | SGR 5 sets blinking attribute |
| xterm | ✓ | Yes | VT100 feature, both SGR 5 and 6 map to BLINK |
| xterm.js | ✓ | 2.3.0 | Both slow and rapid blink map to same flag |
| Multiplexers | |||
| cy | ✓ | v0.1.0 | |
| GNU Screen | ✓ | v.4.2.0 | SGR 5 mapped to A_BL attribute at src/ansi.c:1703 |
| tmux | ✓ | 0.8 | |
| tuios | ✓ | v0.0.15 | |
| Zellij | ✓ | v0.12.0 | |
See also
- Rapid blink — SGR 6 — Faster blink rate