Claude Design System

Anthropic Editorial style · Warm humanist reading canvas...
Back to Home
01

Visual Theme & Atmosphere

Claude.com is the warmest, most editorial interface in the AI-product category. The base atmosphere is a tinted cream canvas ({colors.canvas} — #faf9f5) — distinctly warm, deliberately not the cool gray-white that every other AI brand uses. Headlines run a slab-serif display ("Copernicus" / Tiempos Headline) at weight 400 with negative letter-spacing, paired with StyreneB / Inter body sans. The combination feels like a literary publication, not a SaaS marketing page.

Brand voltage comes from the cream + coral pairing — coral ({colors.primary} — #cc785c) is the signature Anthropic accent, used on every primary CTA, on the brand wordmark, and on full-bleed callout cards. The coral is warm, slightly muted, never cyan/blue — a deliberate counter-positioning against OpenAI's cool slate, Google's saturated blue, and Microsoft's corporate cyan.

... 1. Cream canvas ({colors.canvas}) — default body floor 2. Light cream cards ({colors.surface-card}) — feature card backgrounds

  • ...

Key Characteristics:

  • Warm cream canvas ({colors.canvas} — #faf9f5) with dark warm-ink text ({colors.ink} — #141413). The brand's defining color choice.
  • ...

Live Visual Theme Representation:

"Our goal is to build helpful, honest, and harmless AI systems with a warm, reader-focused editor canvas."
02

Color Palette & Roles

Brand & Accent

  • Coral / Primary ({colors.primary} — #cc785c): The signature Anthropic warm coral. Used on every primary CTA background, on full-bleed coral callout cards, on the brand wordmark accent. The most-recognized Anthropic color outside of the spike-mark logo.
  • Coral Active ({colors.primary-active} — #a9583e): The press / hover-darker variant.
  • ...

Surface

  • Canvas ({colors.canvas} — #faf9f5): The default page floor. Tinted cream — warm, deliberately not pure white.
  • Surface Soft ({colors.surface-soft} — #f5f0e8): Section dividers, very-soft band backgrounds.
  • ...

Text

  • Ink ({colors.ink} — #141413): All headlines and primary text. Warm dark, slightly off-pure-black.
  • Body Strong ({colors.body-strong} — #252523): Emphasized paragraphs, lead text.
  • ...

Semantic

  • Success ({colors.success} — #5db872): Green status dots, "available" indicators.
  • Warning ({colors.warning} — #d4a017): Warning callouts (rare on marketing surfaces).
  • ...
primary
#cc785c
primary-active
#a9583e
primary-disabled
#e6dfd8
ink
#141413
body
#3d3d3a
body-strong
#252523
muted
#6c6a64
muted-soft
#8e8b82
hairline
#e6dfd8
hairline-soft
#ebe6df
canvas
#faf9f5
surface-soft
#f5f0e8
surface-card
#efe9de
surface-cream-strong
#e8e0d2
surface-dark
#181715
surface-dark-elevated
#252320
surface-dark-soft
#1f1e1b
on-primary
#ffffff
on-dark
#faf9f5
on-dark-soft
#a09d96
accent-teal
#5db8a6
accent-amber
#e8a55a
success
#5db872
warning
#d4a017
error
#c64545
03

Typography Rules

Font Family

The system runs Copernicus (or Tiempos Headline as substitute) as the slab-serif display face for headlines, and StyreneB (or Inter as substitute) as the humanist sans for body, navigation, and UI labels. JetBrains Mono handles code blocks. The fallback stack walks Tiempos Headline, Garamond, "Times New Roman", serif for display and Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif for body.

The display/body split is editorial:

  • Copernicus serif (weight 400, negative tracking) → h1, h2, h3, hero display
  • StyreneB sans (weight 400-500) → body, navigation, buttons, captions, labels
  • ...

Hierarchy

TokenSizeWeightLine HeightLetter SpacingUse
..................

Principles

...

Note on Font Substitutes

Dynamic Preview:
display-xl size: 64px | weight: 400 | height: 1.05 | spacing: -1.5px
The quick brown fox jumps over the lazy dog
display-lg size: 48px | weight: 400 | height: 1.1 | spacing: -1px
The quick brown fox jumps over the lazy dog
display-md size: 36px | weight: 400 | height: 1.15 | spacing: -0.5px
The quick brown fox jumps over the lazy dog
display-sm size: 28px | weight: 400 | height: 1.2 | spacing: -0.3px
The quick brown fox jumps over the lazy dog
title-lg size: 22px | weight: 500 | height: 1.3 | spacing: 0
The quick brown fox jumps over the lazy dog
title-md size: 18px | weight: 500 | height: 1.4 | spacing: 0
The quick brown fox jumps over the lazy dog
title-sm size: 16px | weight: 500 | height: 1.4 | spacing: 0
The quick brown fox jumps over the lazy dog
body-md size: 16px | weight: 400 | height: 1.55 | spacing: 0
The quick brown fox jumps over the lazy dog
body-sm size: 14px | weight: 400 | height: 1.55 | spacing: 0
The quick brown fox jumps over the lazy dog
caption size: 13px | weight: 500 | height: 1.4 | spacing: 0
The quick brown fox jumps over the lazy dog
caption-uppercase size: 12px | weight: 500 | height: 1.4 | spacing: 1.5px
The quick brown fox jumps over the lazy dog
code size: 14px | weight: 400 | height: 1.6 | spacing: 0
The quick brown fox jumps over the lazy dog
button size: 14px | weight: 500 | height: 1 | spacing: 0
The quick brown fox jumps over the lazy dog
nav-link size: 14px | weight: 500 | height: 1.4 | spacing: 0
The quick brown fox jumps over the lazy dog
04

Layout Principles

Spacing System

  • Base unit: 4px.
  • Tokens: {spacing.xxs} 4px · {spacing.xs} 8px · {spacing.sm} 12px · {spacing.md} 16px · {spacing.lg} 24px · {spacing.xl} 32px · {spacing.xxl} 48px · {spacing.section} 96px.
  • ...

Grid & Container

  • Max content width: ~1200px centered.
  • Editorial body: Single 12-column grid; hero often uses 6/6 split (h1 left, illustration right).
  • ...

Whitespace Philosophy

The cream canvas + serif display + generous internal padding create an editorial pacing — Claude reads like a long-form magazine column rather than a marketing template. Whitespace between bands stays uniform at 96px; whitespace inside cards is generous (32px), letting type breathe.

Grid Layout Wireframe Mockup:

Main Content Column (70%)
Sidebar (30%)
Layout Wireframe blueprint
1
2
3
4
5
6
7
8
9
10
11
12
Gutter spacing: 16px / 24px
Side Margins: 24px (Mobile) / 48px (Desktop)
Max Container Width: 1200px
05

Depth & Elevation

LevelTreatmentUse
.........
The elevation philosophy is color-block first, shadow rare. Most depth comes from the cream-vs-dark surface contrast. Shadows are minimal. The dark surface mockups have their own internal product chrome (code editor scrollbars, line numbers, syntax highlighting) which adds detail without needing external shadows.

Decorative Depth

  • The Anthropic spike-mark glyph (4-spoke radial asterisk) appears as a small black mark in the brand wordmark and inline as a content marker.
  • Code editor mockups carry their own internal depth: syntax-highlighted text in muted blues / oranges / grays, line numbers in {colors.muted-soft}, status bars at the bottom in {colors.surface-dark-elevated}.
  • ...

Elevation Level Showcase:

Flat Surface Level
Claude uses pure flat surfaces with hairline borders (`#e6dfd8`) to simulate publication paper. There are no shadows.
Flat Surface (Level 0)

Used for background layers, sidebar headers, or baseline borders.

Low Elevation (Level 1 / Card)

Used for floating product elements, cards, and hover states.

High Elevation (Level 2 / Popover & Dropdown)

Used for modals, select menus, code editor tooltips, and overlay headers.

Border Radius & Shape Scale:

radius-sm 4px
radius-md 6px
radius-lg 8px
radius-pill Pill / Tag
06

Component Stylings

Border Radius Scale

TokenValueUse
.........

Photography & Illustrations

Claude's hero rarely uses photography. Instead it uses:
  • Simple line-art illustrations with coral + dark-navy strokes on the cream canvas
  • Code editor mockups (the dominant "hero" treatment on developer-focused pages)
  • ...
When photography is used (rare — mostly testimonials), avatars crop to perfect circles at 40px diameter.

Top Navigation

top-nav — Cream nav bar pinned to the top of every page. 64px tall, {colors.canvas} background. Carries the Anthropic spike-mark + "Claude" wordmark at left, primary horizontal menu (Product, Solutions, Use Cases, Pricing, Research, Company) center-left, right-side cluster with "Sign in" text-link, "Try Claude" {component.button-primary} (coral). Menu items in {typography.nav-link} (StyreneB 14px / 500).

Buttons

button-primary — The signature coral CTA. Background {colors.primary} (#cc785c), text {colors.on-primary} (white), type {typography.button} (StyreneB 14px / 500), padding 12px × 20px, height 40px, rounded {rounded.md} (8px). Active state button-primary-active darkens to {colors.primary-active} (#a9583e).

button-secondary — Cream button with hairline outline. Background {colors.canvas}, text {colors.ink}, 1px hairline border, same padding + height + radius as primary.

button-secondary-on-dark — Used over {colors.surface-dark} cards. Background {colors.surface-dark-elevated} (#252320), text {colors.on-dark}. Stays dark — the system never inverts to a light secondary on dark surfaces.

button-text-link — Inline text button, no background. Used for "Sign in" in the top nav and inline CTA links.

button-icon-circular — 36px circular icon button. Background {colors.canvas}, hairline border, ink-color icon. Used for carousel arrows, share, "view more".

text-link — Inline body links in {colors.primary} (the coral). Underlined on press; the coral inline link is one of the system's most distinctive small details.

Cards & Containers

hero-band — Cream-canvas hero with a 6-6 grid: h1 + sub-headline + button row on the left, hero illustration card or product mockup card on the right. Vertical padding {spacing.section} (96px).

hero-illustration-card — A larger card holding the hero's right-side artifact — sometimes a coral-stroke line illustration on cream background, sometimes a dark code editor mockup. Background {colors.canvas} or {colors.surface-dark} depending on context, rounded {rounded.xl} (16px).

feature-card — Used in 3-up feature grids. Background {colors.surface-card} (#efe9de — slightly darker cream), rounded {rounded.lg} (12px), internal padding {spacing.xl} (32px). Carries a small icon at top, an {typography.title-md} headline, and a body description in {typography.body-md}.

product-mockup-card-dark — Dark navy card showing actual Claude product chrome (chat interface, code editor, agent controls). Background {colors.surface-dark}, rounded {rounded.lg}, internal padding {spacing.xl} (32px). Carries text labels in {colors.on-dark} and product UI fragments below.

code-window-card — A specialized dark card showing a code editor with line numbers, syntax-highlighted code in {typography.code} (JetBrains Mono), and sometimes a "Run" button or terminal output panel below. Background {colors.surface-dark} with {colors.surface-dark-soft} for the inner code block, rounded {rounded.lg}, padding {spacing.lg} (24px). The signature visual element of Claude Code product pages.

model-comparison-card — Used on the homepage's "Which problem are you up against?" section comparing Opus / Sonnet / Haiku. Background {colors.canvas} with hairline border, rounded {rounded.lg}, internal padding {spacing.xl} (32px). Carries the model name, a short capability blurb, and a {component.text-link} to learn more.

pricing-tier-card — Standard tier card. Background {colors.canvas} with hairline border, rounded {rounded.lg}, padding {spacing.xl} (32px). Carries the plan name in {typography.title-lg} (StyreneB), price in {typography.display-sm} (Copernicus serif!), feature checklist in {typography.body-md}, and a {component.button-primary} at the bottom.

pricing-tier-card-featured — The featured tier (typically "Pro" or "Team"). Background flips to {colors.surface-dark}, text inverts to {colors.on-dark}. The dark surface IS the featured-tier signal.

callout-card-coral — A full-bleed coral card carrying a major call-to-action. Background {colors.primary} (#cc785c), text {colors.on-primary} (white), rounded {rounded.lg}, padding {spacing.xxl} (48px). The coral surface IS the voltage; the CTA inside uses an inverted button style (cream/canvas button on coral).

connector-tile — Used on the connectors page's integration grid. Background {colors.canvas} with hairline border, rounded {rounded.lg}, padding 20px. Each tile carries a logo at top, a {typography.title-sm} connector name, and a short description.

Inputs & Forms

text-input — Standard text input. Background {colors.canvas}, text {colors.ink}, type {typography.body-md}, rounded {rounded.md} (8px), padding 10px × 14px, height 40px. 1px hairline border in {colors.hairline}.

text-input-focused — Focus state. Border thickens or shifts to {colors.primary} (coral) for emphasis. Carries a 3px coral-at-15%-alpha outer ring.

cookie-consent-card — Bottom-right floating dark cookie banner. Background {colors.surface-dark}, text {colors.on-dark}, rounded {rounded.lg}, padding {spacing.lg} (24px). One of the few places dark surface appears at small scale on cream pages.

Tags / Badges

badge-pill — Small pill label used for category tags. Background {colors.surface-card}, text {colors.ink}, type {typography.caption} (13px / 500), rounded {rounded.pill}, padding 4px × 12px.

badge-coral — Coral-fill badge for "NEW", "BETA", featured highlights. Background {colors.primary}, text {colors.on-primary}, type {typography.caption-uppercase} (12px / 500 / 1.5px tracking), rounded {rounded.pill}, padding 4px × 12px.

Tab / Filter

category-tab + category-tab-active — Used in sub-nav rows on solutions / connectors pages. Inactive: transparent background, {colors.muted} text. Active: {colors.surface-card} background, {colors.ink} text. Padding 8px × 14px, rounded {rounded.md}.

CTA / Footer

cta-band-coral — A pre-footer "Try Claude" CTA card. Full-width coral fill, white type, rounded {rounded.lg}, padding 64px. Carries an h2 in {typography.display-sm} (still serif!), a sub-line, and a cream-button CTA.

cta-band-dark — Alternative pre-footer band on developer-focused pages. Background {colors.surface-dark}, text {colors.on-dark}, rounded {rounded.lg}, padding 64px. Often pairs with a code-window card.

footer — Dark navy footer that closes every page. Background {colors.surface-dark} (#181715), text {colors.on-dark-soft}. 4-column link list at desktop covering Product / Company / Resources / Legal. Vertical padding 64px. The Anthropic spike-mark + "Anthropic" wordmark sits at the top in {colors.on-dark}. The footer never inverts.

Interactive Component Demonstrations:

07

Do's and Don'ts

Do

  • Anchor every page on the cream canvas. Pure white reads as "any other AI tool"; the warm tint is the brand differentiator.
  • Use Copernicus serif for every display headline. Pair with StyreneB sans body. Negative letter-spacing on display sizes is non-negotiable.
  • Reserve {colors.primary} (coral) for primary CTAs and full-bleed {component.callout-card-coral} moments. Don't paint accent moments coral elsewhere.
  • Use {component.product-mockup-card-dark} and {component.code-window-card} to show actual Claude product chrome. Don't paint marketing illustrations of code when you can show real code.
  • Pair {component.feature-card} (cream) with {component.product-mockup-card-dark} (navy) in alternating bands. The cream-to-dark rhythm is the brand's pacing mechanism.
  • Use the Anthropic spike-mark glyph as the brand wordmark prefix. Never invert the mark to white-on-dark within the wordmark itself.
  • Apply {spacing.section} (96px) between major bands.

Don't

  • Don't use cool grays or pure white for canvas. Cream is the brand.
  • Don't bold serif display weight. Copernicus at 700 reads as bombastic; the system stays at 400.
  • Don't use cool blue or saturated cyan as a brand accent. The coral is the brand voltage.
  • Don't put coral everywhere. The coral is scarce on individual elements and generous only on full-bleed coral callout cards.
  • Don't use Inter for display headlines. The serif character is the brand voice.
  • Don't repeat the same surface mode in two consecutive bands. The pacing alternates: cream → cream-card → dark-mockup → cream → coral-callout → dark-footer.
  • Don't add hover state styling beyond what the system already encodes — primary darkens on press; nothing else changes.
✅ Recommended / Do
  • Anchor every page on the cream canvas. Pure white reads as "any other AI tool"; the warm tint is the brand differentiator.
  • Use Copernicus serif for every display headline. Pair with StyreneB sans body. Negative letter-spacing on display sizes is non-negotiable.
  • Reserve {colors.primary} (coral) for primary CTAs and full-bleed {component.callout-card-coral} moments. Don't paint accent moments coral elsewhere.
  • Use {component.product-mockup-card-dark} and {component.code-window-card} to show actual Claude product chrome. Don't paint marketing illustrations of code when you can show real code.
  • Pair {component.feature-card} (cream) with {component.product-mockup-card-dark} (navy) in alternating bands. The cream-to-dark rhythm is the brand's pacing mechanism.
  • Use the Anthropic spike-mark glyph as the brand wordmark prefix. Never invert the mark to white-on-dark within the wordmark itself.
  • Apply {spacing.section} (96px) between major bands.
❌ Discouraged / Don't
  • Don't use cool grays or pure white for canvas. Cream is the brand.
  • Don't bold serif display weight. Copernicus at 700 reads as bombastic; the system stays at 400.
  • Don't use cool blue or saturated cyan as a brand accent. The coral is the brand voltage.
  • Don't put coral everywhere. The coral is scarce on individual elements and generous only on full-bleed coral callout cards.
  • Don't use Inter for display headlines. The serif character is the brand voice.
  • Don't repeat the same surface mode in two consecutive bands. The pacing alternates: cream → cream-card → dark-mockup → cream → coral-callout → dark-footer.
  • Don't add hover state styling beyond what the system already encodes — primary darkens on press; nothing else changes.
08

Responsive Behavior

Breakpoints

NameWidthKey Changes
.........

Touch Targets

  • {component.button-primary} at minimum 40 × 40px.
  • {component.button-icon-circular} at exactly 36 × 36 — slightly under WCAG 44 but visually centered.
  • ...

Collapsing Strategy

  • Top nav collapses to hamburger at < 768px; menu opens as a full-screen cream sheet.
  • Hero band's 6-6 grid collapses to single-column on mobile — h1 + sub-head + buttons first, then the illustration / mockup card below.
  • ...

Image Behavior

  • Code blocks inside dark mockups stay at fixed font-size; horizontal scroll on mobile rather than wrapping.
  • Hero illustrations scale proportionally; line-art strokes thin slightly on mobile.
  • ...

Responsive Adaptation Note:

📱 On mobile, the 30% sidebar collapses into a slide-out navigation menu, and headings drop by 4px in size.
Interactive Viewport Simulator
Width: 800px (Desktop Mode) Grid Container
Primary Column

Adjusts layout width

Secondary Column

Folds on viewport change

Sidebar Column

Stacks to bottom on mobile

09

Agent Prompt Guide

1. Focus on ONE component at a time. Reference its YAML key ({component.feature-card}, {component.code-window-card}). 2. Variants of an existing component (-active, -disabled, -focused) live as separate entries in components:.

  • ...

Copyable Agent Integration Prompt:

"Build a clean reading workspace using a Lora serif typeface for titles, cream (#faf9f5) base background, and terracotta (#cc785c) active borders."
10

Full System Design Tokens

The parsed design tokens extracted from the core stylesheet of this design system:

Design TokenHex ValueSystem Palette Role
--primary#cc785cSystem color representation for primary
--primary-active#a9583eSystem color representation for primary-active
--primary-disabled#e6dfd8System color representation for primary-disabled
--ink#141413System color representation for ink
--body#3d3d3aSystem color representation for body
--body-strong#252523System color representation for body-strong
--muted#6c6a64System color representation for muted
--muted-soft#8e8b82System color representation for muted-soft
--hairline#e6dfd8System color representation for hairline
--hairline-soft#ebe6dfSystem color representation for hairline-soft
--canvas#faf9f5System color representation for canvas
--surface-soft#f5f0e8System color representation for surface-soft
--surface-card#efe9deSystem color representation for surface-card
--surface-cream-strong#e8e0d2System color representation for surface-cream-strong
--surface-dark#181715System color representation for surface-dark
--surface-dark-elevated#252320System color representation for surface-dark-elevated
--surface-dark-soft#1f1e1bSystem color representation for surface-dark-soft
--on-primary#ffffffSystem color representation for on-primary
--on-dark#faf9f5System color representation for on-dark
--on-dark-soft#a09d96System color representation for on-dark-soft
--accent-teal#5db8a6System color representation for accent-teal
--accent-amber#e8a55aSystem color representation for accent-amber
--success#5db872System color representation for success
--warning#d4a017System color representation for warning
--error#c64545System color representation for error