OpenAI design system.

OpenAI design system — Calm, near-monochrome system anchored in deep teal-black with generous white space and editorial typography.

See it in context

The same design tokens applied across artifact kinds — a website, an app, a slide, a poster. Original mocks re-skinned with this system, not screenshots.

Website
Slides
App
Poster

Design tokens

56 tokens conforming to the Open Design token contract — the same structured palette, type, spacing, and motion values your agent reads to theme any artifact.

Surface

  • --bg #ffffff
  • --surface #f5f5f5
  • --surface-warm #fafafa

Text

  • --fg #0d0d0d
  • --fg-2 #1a1a1a
  • --muted #6e6e6e
  • --meta #9b9b9b

Border

  • --border #e5e5e5
  • --border-soft #ededed

Accent

  • --accent #10a37f
  • --accent-on #ffffff
  • --accent-hover #0a7a5e
  • --accent-active color-mix(in oklab, var(--accent), black 14%)

Semantic

  • --success #10a37f
  • --warn #f5a623
  • --danger #ef4146

Typography

  • --font-display "Signifier", "Source Serif Pro", Georgia, ui-serif, serif
  • --font-body "Söhne", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif
  • --font-mono "Söhne Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace

Type scale

  • --text-xs 12px
  • --text-sm 13px
  • --text-base 16px
  • --text-lg 18px
  • --text-xl 20px
  • --text-2xl 28px
  • --text-3xl 40px
  • --text-4xl 56px
  • --leading-body 1.65
  • --leading-tight 1.08
  • --tracking-display -0.02em

Spacing

  • --space-1 4px
  • --space-2 8px
  • --space-3 12px
  • --space-4 16px
  • --space-5 20px
  • --space-6 24px
  • --space-8 32px
  • --space-12 48px
  • --section-y-desktop 96px
  • --section-y-tablet 64px
  • --section-y-phone 48px

Radius

  • --radius-sm 12px
  • --radius-md 16px
  • --radius-lg 16px
  • --radius-pill 9999px

Elevation

  • --elev-flat none
  • --elev-ring 0 0 0 1px var(--border)
  • --elev-raised 0 4px 16px rgba(13, 13, 13, 0.06)

Focus

  • --focus-ring 0 0 0 3px rgba(16, 163, 127, 0.12)

Motion

  • --motion-fast 150ms
  • --motion-base 220ms
  • --ease-standard cubic-bezier(0.16, 1, 0.3, 1)

Layout

  • --container-max 1200px
  • --container-gutter-desktop 48px
  • --container-gutter-tablet 24px
  • --container-gutter-phone 24px

Design System Inspired by OpenAI

Category: AI & LLM Calm, near-monochrome system anchored in deep teal-black with generous white space and editorial typography.

1. Visual Theme & Atmosphere

OpenAI’s product surface reads like a research lab dressed for the public — clinical, restrained, deliberately quiet. The page background is a true white (#ffffff) layered against a near-black ink (#0d0d0d) with a subtle teal undertone, so even the text feels slightly cooled rather than aggressively dark. The result is a chromatic neutrality that puts model output, code, and prose front and center, not the chrome around them.

The signature move is the use of Söhne (or its system stand-in inter) at restrained weights — 400 for body, 500 for nav and labels, 600 for emphasis — paired with Signifier, a contemporary serif used for editorial display. Where most AI brands lean futuristic, OpenAI’s serif headlines give the product a quietly literary tone, as if every announcement is an essay.

The shape system is uniformly soft: 8px–12px radii, 9999px pills for tags and chips, no harsh corners anywhere. Section transitions are denoted by whitespace rather than dividers; when borders appear they are #e5e5e5 hairlines that read as the absence of color rather than its presence.

Key Characteristics:

  • True white canvas (#ffffff) with deep teal-black ink (#0d0d0d)
  • Söhne / Inter at modest weights (400, 500, 600) — restraint over assertion
  • Signifier serif for editorial display headlines
  • Soft 8–12px radii everywhere; 9999px pills for chips
  • Hairline borders (#e5e5e5) used sparingly; whitespace as primary divider
  • Single-color illustrations in deep teal — no gradients in marks
  • Generous line-height (1.55–1.65) and tracking near zero

2. Color Palette & Roles

Primary

  • Pure White (#ffffff): Primary background, card surface, button background.
  • Ink Black (#0d0d0d): Primary text, brand mark, primary CTA.
  • Soft Black (#1a1a1a): Secondary heading, alternative ink for non-critical text.

Surface & Background

  • Mist (#fafafa): Section break background, footer surface.
  • Pearl (#f5f5f5): Card surface, elevated panel.
  • Cloud (#ececec): Disabled background, divider tint.

Brand Accent

  • OpenAI Teal (#10a37f): Brand primary, link, highlight badge — the lone color in an otherwise neutral system.
  • Teal Deep (#0a7a5e): Hover and pressed state for the brand color.
  • Teal Soft (#e8f5f0): Surface tint for success badges, highlight callouts.

Neutrals & Text

  • Graphite (#3c3c3c): Body text, default reading color.
  • Slate (#6e6e6e): Secondary text, captions, metadata.
  • Ash (#9b9b9b): Tertiary text, placeholder, disabled label.
  • Stone (#c4c4c4): Decorative dividers, faint icons.

Semantic & Border

  • Border Hairline (#e5e5e5): Standard hairline separator.
  • Border Soft (#ededed): Card outline on white surface.
  • Error (#ef4146): Validation, destructive action.
  • Warning (#f5a623): Soft amber for advisory states.
  • Info (#2563eb): Informational link tone (used sparingly; teal still wins).

3. Typography Rules

Font Family

  • Display / Editorial: Signifier, with fallback: 'Source Serif Pro', Georgia, serif
  • Body / UI: Söhne, with fallback: Inter, system-ui, -apple-system, 'Segoe UI', sans-serif
  • Code / Mono: Söhne Mono, with fallback: ui-monospace, 'JetBrains Mono', Menlo, Consolas, monospace

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingNotes
DisplaySignifier56px (3.5rem)4001.08-0.02emEditorial hero, announcement titles
H1Söhne40px (2.5rem)6001.15-0.01emPage heading
H2Söhne28px (1.75rem)6001.2-0.005emSection heading
H3Söhne20px (1.25rem)6001.3normalSub-section
Body LargeSöhne18px (1.125rem)4001.6normalLede paragraphs
BodySöhne16px (1rem)4001.65normalStandard reading text
Body SmallSöhne14px (0.875rem)4001.55normalCard body, dense UI
CaptionSöhne13px (0.8125rem)5001.40.01emMetadata, badges
LabelSöhne12px (0.75rem)5001.30.04emEyebrow, uppercase nav links
CodeSöhne Mono14px (0.875rem)4001.55normalCode blocks, terminal output

Principles

  • Restraint as identity: weights cap at 600; 700+ feels off-brand. Hierarchy comes from size and color, not weight.
  • Serif for soul, sans for system: Signifier appears only in editorial display moments. The product UI is sans-only.
  • Negative tracking on display: -0.02em on display sizes; tracking returns to zero by 16px.

4. Component Stylings

Buttons

Primary

  • Background: #0d0d0d
  • Text: #ffffff
  • Padding: 10px 18px
  • Radius: 9999px (full pill) on chips, 12px on rectangular CTAs
  • Hover: #1a1a1a background
  • Use: Primary CTA, “Try ChatGPT”, “Sign in”

Secondary

  • Background: #ffffff
  • Text: #0d0d0d
  • Border: 1px solid #e5e5e5
  • Padding: 10px 18px
  • Radius: 12px
  • Hover: background #fafafa, border #d4d4d4

Brand Accent

  • Background: #10a37f
  • Text: #ffffff
  • Padding: 10px 18px
  • Radius: 12px
  • Hover: #0a7a5e
  • Use: Highlighted upgrade CTA, success path

Cards

  • Background: #ffffff
  • Border: 1px solid #ededed
  • Radius: 16px
  • Padding: 24px–32px
  • Shadow: none by default; on hover 0 4px 16px rgba(13,13,13,0.06)

Inputs

  • Background: #ffffff
  • Border: 1px solid #e5e5e5
  • Radius: 12px
  • Padding: 12px 14px
  • Focus: border #10a37f, ring 0 0 0 3px rgba(16,163,127,0.12)

Pills & Tags

  • Background: #f5f5f5
  • Text: #3c3c3c
  • Padding: 4px 10px
  • Radius: 9999px
  • Font: 12px / 500

5. Spacing & Layout

  • Base unit: 4px. Scale: 4, 8, 12, 16, 24, 32, 48, 64, 96, 128.
  • Container: max-width 1200px, 24px gutter on mobile, 48px on desktop.
  • Section rhythm: 96–128px vertical between major sections; 64px on mobile.
  • Grid: 12-column desktop, 4-column mobile, 24px gap.

6. Motion

  • Duration: 150–220ms for hover; 280–360ms for layout transitions.
  • Easing: cubic-bezier(0.16, 1, 0.3, 1) (smooth out) for entrances.
  • Restraint: no parallax, no scroll-jacking. Subtle fade and translate only.

7. Usage Guardrails

  • Preserve the neutral editorial restraint, soft radius, and sparse accent usage together; green accents alone do not create an OpenAI-like surface.
  • Use Signifier-style display moments only for editorial or announcement hierarchy, keeping product controls in the sans system.
  • Avoid ornamental motion, heavy shadows, and oversized decorative cards; the system should feel calm, readable, and deliberate.
Mode
design-system
Scenario
design
Surface
web
Manifest id
design-system-openai

Tags

  • design-system
  • first-party
  • design
  • ai-llm

Open Design Desktop

One design system. Every output unmistakably your brand

Inside the full Vibe Design Workspace, use the same brand rules across websites, slide decks, interactive prototypes, dashboards, images, and HTML video. Connect Codex, Claude Code, Cursor, and other coding agents already on your computer, then create locally for free.

  • Web, slides, prototypes, dashboards, images, and video
  • 140+ design systems, plus the full template and skill library
  • Connect local Codex and 21+ coding agents · Free to use
Download free

Available for macOS, Windows, and Linux