Design

Fonts

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.