Skip to main content

Default Fonts

WezTerm bundles high-quality fonts by default:
  • JetBrains Mono - Primary monospace font
  • Nerd Font Symbols - Icon and symbol support
  • Noto Color Emoji - Full emoji support
These fonts work out of the box with no configuration required.

Basic Font Configuration

Setting Font Family

Use wezterm.font() to specify a font:

Font Size

Set the font size in points:
The default font size is 12.0 points. Fractional sizes like 13.3 allow fine-tuning.

Font Fallback

WezTerm automatically falls back to other fonts when glyphs are missing:

How Fallback Works

1

Primary Font

WezTerm checks the first font in the list.
2

Fallback Chain

If the glyph isn’t found, it proceeds to the next font.
3

Built-in Fallbacks

WezTerm’s default fallbacks (Nerd Font Symbols, Noto Color Emoji) are automatically appended.
4

System Fallbacks

If still not found, system-wide fallback fonts are checked.
5

Last Resort

A placeholder glyph is rendered if no font contains the character.
You don’t need to include Nerd Font Symbols in your fallback list - it’s automatically included!

Font Weight and Style

Available Weights

Font Styles

Font Stretch

Advanced Font Rules

Customize fonts for different text styles:

Font Metrics and Spacing

Line Height

Adjust spacing between lines:

Cell Width

Adjust character width:

Underline Customization

Cursor Thickness

These options accept pixel values (e.g., '2px') or percentage values (e.g., '200%').

Font Loading and Discovery

Custom Font Directories

Add additional directories to search for fonts:

Font Locator

Choose how WezTerm finds fonts:

Font Rendering

Font Shaper

Control text shaping and ligatures:

FreeType Options (Linux/Windows)

DPI Override

Special Font Features

Bold and Bright Colors

Square Glyph Overflow

Cap Height Scaling

Troubleshooting Fonts

List Available Fonts

See what fonts WezTerm can find:
Example output:

Check Text Shaping

See how specific text is rendered:
Output shows which font provides each glyph:

Common Issues

Font not found: Ensure the font is installed system-wide or added to font_dirs.
Ligatures not working: Check that font_shaper = 'Harfbuzz' is set and your font supports ligatures.
Blurry fonts on Linux: Try adjusting freetype_load_target and freetype_render_target.

Complete Example

Here’s a comprehensive font configuration: