Skip to main content

Bold

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

Bold (SGR 1) is an SGR attribute that renders text with increased intensity or a heavier font weight.

Syntax​

CSI 1 m     SGR 1 — Bold / increased intensity
CSI 22 m SGR 22 — Normal intensity (reset bold and dim)
Formal syntax
SGR-bold       = 0x1b, "[", "1", "m" ;
SGR-normal-int = 0x1b, "[", "22", "m" ;

Description​

Per ECMA-48 §8.3.117, SGR parameter 1 selects "bold or increased intensity." The effect is implementation-defined but typically manifests as either a heavier font weight, brighter colors, or both.

On most modern terminals, bold text is rendered using a heavier font weight from the same font family. Many terminals also shift the foreground color to its "bright" variant when bold is active and a standard (non-RGB) color is in use.

Bold is reset by SGR 22, which restores normal intensity. Note that SGR 22 also cancels dim (SGR 2) — there is no way to reset bold independently of dim using standard sequences. SGR 0 (reset all) also clears bold.

Examples​

printf '\e[1mBold text\e[22m Normal text\n'
printf '\e[1;31mBold red\e[0m\n'

Specifications​

SpecificationSection
VT510 Reference—

Terminal support​

TerminalSupportVersionNotes
Terminal Emulators
Alacritty✓Yes
Bobcat??Implemented in external TerminalCtrl library, not in Bobcat source code
contour✓v0.1.0
foot✓YesImplemented at csi.c:92
Ghostty✓v1.0.0
iTerm2✓YesBold attribute (SGR 1) fully supported via VT100CHARATTR_BOLD in VT100GraphicRendition structure.
Kitty✓Yes
Konsole✓YesSGR 1 sets RE_BOLD rendition flag
mintty✓YesImplemented at src/termout.c:2113. Sets ATTR_BOLD flag.
mlterm✓YesSupported since early versions
PuTTY✓0.43SGR 1 sets ATTR_BOLD at terminal.c:4642-4645
Rio✓v0.0.3
rxvt-unicode✓1.2
st✓0.1
terminology✓v0.1.0
VT100✓Yes
VTE✓Yes
WezTerm✓Yes
Windows Terminal✓YesSGR 1 sets intense attribute
xterm✓YesVT100 feature, supported since earliest versions
xterm.js✓2.3.0
Multiplexers
cy✓v0.1.0
GNU Screen✓v.4.2.0SGR 1 mapped to A_BD attribute at src/ansi.c:1703
tmux✓0.8
tuios✓v0.0.15
Zellij✓v0.12.0

See also​