Typography

Raw
Guidancelatestv1 (current)Retrieved 2026-05-12

Atlassian Design System — Typography

Overview

Typography is the system of fonts and text styles for Atlassian product interfaces. It enhances communication, reinforces brand, and guides users' emotions. Atlassian has moved its app suite to a refreshed typography system based on the Atlassian Sans and Atlassian Mono typefaces.


Typefaces

Atlassian uses different typefaces for different contexts:

App fonts (in-product use)

FontUse
Atlassian SansAll in-app UI text — headings, body, labels, UI chrome
Atlassian MonoCode, inline code, terminal output

App fonts are optimized for product interfaces and ensure consistency across all browsers and Atlassian apps.

Font family stacks:

  • Heading/Body: "Atlassian Sans", ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Ubuntu, system-ui, sans-serif
  • Code: "Atlassian Mono", ui-monospace, Menlo, 'Segoe UI Mono', Ubuntu Mono, monospace

Brand fonts (marketing only)

FontUse
Charlie DisplayBrand headings in marketing, editorial
Charlie TextBrand body text in marketing, editorial

Brand fonts are not used in product interfaces. They are available to authenticated users via Atlassian Brandfolder.


Typographic Principles

  1. Optimize for readability — Enhance communication regardless of user ability
  2. Create visual harmony — Consistent and cohesive; use hierarchy and space to simplify complex information
  3. Contextualize for different users — Tailor for different preferences, OS, and applications

Token System

Typography is expressed through font.* tokens. Unlike CSS properties, the token encodes the full set of typographic values (size, weight, line-height) in a single shorthand.

Token naming structure

font.<category>.<scale>

Heading tokens

TokenSizeLine-heightWeight
font.heading.xxlarge2rem (32px)2.25rem653 (bold)
font.heading.xlarge1.75rem (28px)2rem653
font.heading.large1.5rem (24px)1.75rem653
font.heading.medium1.25rem (20px)1.5rem653
font.heading.small1rem (16px)1.25rem653
font.heading.xsmall0.875rem (14px)1.25rem653
font.heading.xxsmall0.75rem (12px)1rem653

Body tokens

TokenSizeLine-heightWeight
font.body.large1rem (16px)1.5rem400
font.body0.875rem (14px)1.25rem400
font.body.small0.75rem (12px)1rem400

Code token

TokenSizeLine-height
font.code0.875em1

Font weights

TokenValue
font.weight.regular400
font.weight.medium500
font.weight.semibold600
font.weight.bold653

Note: Weight 653 is Atlassian's custom bold — a non-standard value tuned for Atlassian Sans rendering.


Rem Units

Typography tokens use rem units rather than px for font-size and line-height. At the browser default of 16px:

  • 1rem = 16px
  • 0.875rem = 14px
  • 0.75rem = 12px

Rem units scale with the user's browser font size preference, improving accessibility and responsiveness.


Heading Usage

  • Use headings to introduce sections of content, not for visual emphasis alone
  • Headings must follow a descending hierarchy (h1h2h3) without skipping levels
  • Only one h1 per page (typically the page title)
  • Use heading components from @atlaskit/heading rather than raw HTML elements, to ensure correct token application

Component Implementation

Typography tokens are applied automatically when using Atlassian's Heading and Text components:

yarn add @atlaskit/heading
yarn add @atlaskit/primitives

For custom implementations, apply font.* tokens via CSS custom properties (prefixed --ds-font-*) from the @atlaskit/tokens package.