Design

Fonts

The default fonts we use are Inter for regular text and JetBrains Mono for monospace text.

The default fonts we use are Inter for regular text and JetBrains Mono for monospace text.

Font sizes#

Font sizes use Tailwind's native typography utilities. size="sm" maps to text-sm, and size="base" maps to text-base. Text and standard controls default to sm. The sizes below assume Tailwind's default theme and a 16px root font size; rem-based sizes follow the host application's root font size.

xssmbaselgxl2xl3xl4xl5xl6xl7xl8xl9xl
ValueSize
xs12px
sm14px
base16px
lg18px
xl20px
2xl24px
3xl30px
4xl36px
5xl48px
6xl60px
7xl72px
8xl96px
9xl128px

Font weights#

Thin (100)Extra Light (200)Light (300)Normal (400)Medium (500)Semibold (600)Bold (700)Extra Bold (800)Black (900)
ValueWeight
thin100
extralight200
light300
normal400
medium500
semibold600
bold700
extrabold800
black900

Usage in typography components#

Font properties are used by typography components to control text appearance. Text is the primary component for rendering text and accepts all font-related props. Heading uses a subset of larger sizes appropriate for headings.

  • size - Controls the font size. Text defaults to sm, while Heading sizes map to appropriate heading levels.
  • weight - Controls the font weight. Text defaults to normal, Heading defaults to semibold.

All font props accept responsive values for adapting typography across breakpoints.

Component props#

NameTypeDescription
sizeResponsive<FontSize>"xs" | "sm" | "base" | "lg" | "xl" | "2xl" | ... | "9xl"
weightResponsive<FontWeight>"thin" | "extralight" | "light" | "normal" | "medium" | "semibold" | "bold" | "extrabold" | "black"

Customizing typography#

Configure font sizes and their line heights through Tailwind's --text-* theme variables. Zen components use the same utilities as the rest of your application. Font families remain configurable through --zen-font-family and --zen-font-family-mono.

Migrating from the custom scale#

The old --zen-font-size-* and --zen-line-height-* variables are no longer used. Move overrides into your Tailwind typography theme. Explicit sizes now follow Tailwind: for example, size="base" is 16px instead of 14px at the default root size. Use size="sm" for 14px text. Text, Label, Code, and ordinary control defaults remain 14px; explicit heading and other size variants now follow the standard scale.