W3C Design Tokens
3 filesCross-tool design-token spec (DTCG/W3C). Light + dark mode siblings.
OpenAI is an AI research and deployment company — creator of the GPT model family, ChatGPT, the OpenAI API, and the Codex code- generation surface. The brand voice is research-grounded and understated: it lets demos and capability speak. Visually, OpenAI is monochrome-first — pure white or pure black canvases, a five- stop neutral ramp for quiet emphasis, and a small set of "hue" accents (red, lime, magenta, blue, yellow) reserved for diagrams and data visualization. Typography is OpenAI Sans, the company's proprietary brand face.
Use the [email protected] brand from brand-atoms.com.
Fetch https://brand-atoms.com/dist/brands/openai/1.0.0/json/brand.json
and apply its role mappings (primary, accent, identity, etc.),
reference the fonts in references.fonts, and honor every rule where
severity is "error". Surface any deviation you choose to make.
All converter outputs for [email protected]. Served from
/dist/brands/openai/1.0.0/.
Cross-tool design-token spec (DTCG/W3C). Light + dark mode siblings.
Plain JSON mirror of the resolved brand — palette, fonts, roles, rules.
CSS custom properties on :root with prefers-color-scheme dark.
SCSS variables + Sass maps for swatches, roles, and fonts.
Tailwind v3 theme.extend.colors + fontFamily.
Figma Tokens plugin JSON (Tokens Studio compatible).
Swift enums for SwiftUI / UIKit color + font tokens.
Kotlin objects for Jetpack Compose color + typography tokens.
Human-readable brand guide. Same source as the on-page Brand Guide.
Inline rendering of the Markdown brand guide. Same source as the
markdown/brand-guide.md download.
OpenAI is an AI research and deployment company — creator of the GPT model family, ChatGPT, the OpenAI API, and the Codex code- generation surface. The brand voice is research-grounded and understated: it lets demos and capability speak. Visually, OpenAI is monochrome-first — pure white or pure black canvases, a five- stop neutral ramp for quiet emphasis, and a small set of "hue" accents (red, lime, magenta, blue, yellow) reserved for diagrams and data visualization. Typography is OpenAI Sans, the company's proprietary brand face.
Tags: openai, ai, research, brand, minimal, monochrome
OpenAI · [email protected] · Proprietary — All Rights Reserved
OpenAI's brand palette as observed on the live marketing site (openai.com). The brand is monochrome-first: a pure-white canvas with pure-black foreground in light mode, inverted in dark, and a calibrated five-stop neutral ramp ("primary" / "secondary" / "tertiary") for surfaces and quiet emphasis. OpenAI's research and documentation surfaces additionally publish a "hue" scale (red, blue, green, yellow, magenta, lime) used in diagrams, code-syntax highlighting, and data visualization. These are preserved here as a documented secondary scale.
| Role | Font | License | Classification |
|---|---|---|---|
heading |
Inter ([email protected]) |
OFL-1.1 | sans-serif |
body |
Inter ([email protected]) |
OFL-1.1 | sans-serif |
mono |
JetBrainsMono Nerd Font ([email protected]) |
OFL-1.1 | monospace |
| ID | Name | Value |
|---|---|---|
openai-black |
OpenAI Black | #000000 |
openai-white |
OpenAI White | #FFFFFF |
primary-solid-4 |
Primary Solid 4 | #1F1F1F |
primary-solid-12 |
Primary Solid 12 | #333333 |
primary-solid-44 |
Primary Solid 44 | #707070 |
primary-solid-60 |
Primary Solid 60 | #999999 |
primary-solid-80 |
Primary Solid 80 | #CCCCCC |
secondary-solid-4 |
Secondary Solid 4 | #F5F5F5 |
secondary-solid-12 |
Secondary Solid 12 | #E0E0E0 |
secondary-solid-44 |
Secondary Solid 44 | #8F8F8F |
secondary-solid-60 |
Secondary Solid 60 | #666666 |
secondary-solid-80 |
Secondary Solid 80 | #333333 |
tertiary-solid-60 |
Tertiary Solid 60 | #888888 |
tertiary-solid-80 |
Tertiary Solid 80 | #5C5C5C |
tertiary-solid-100 |
Tertiary Solid 100 | #1F1F1F |
openai-hue-red |
OpenAI Hue Red | #ED6079 |
openai-hue-lime |
OpenAI Hue Lime | #8FAC39 |
openai-hue-magenta |
OpenAI Hue Magenta | #C759AB |
openai-hue-blue |
OpenAI Hue Blue | #36A6D7 |
openai-hue-yellow |
OpenAI Hue Yellow | #E2A727 |
openai-accent-blue |
OpenAI Accent Blue | #4DA3FF |
| Role | Swatch | Hex |
|---|---|---|
background |
openai-white |
#FFFFFF |
surface |
secondary-solid-4 |
#F5F5F5 |
surface-elevated |
openai-white |
#FFFFFF |
text-primary |
openai-black |
#000000 |
text-secondary |
secondary-solid-60 |
#666666 |
text-tertiary |
secondary-solid-44 |
#8F8F8F |
primary |
openai-black |
#000000 |
primary-hover |
secondary-solid-80 |
#333333 |
accent |
openai-accent-blue |
#4DA3FF |
accent-hover |
openai-hue-blue |
#36A6D7 |
warning |
openai-hue-yellow |
#E2A727 |
warning-hover |
openai-hue-yellow |
#E2A727 |
error |
openai-hue-red |
#ED6079 |
success |
openai-hue-lime |
#8FAC39 |
border |
secondary-solid-12 |
#E0E0E0 |
| Role | Swatch | Hex |
|---|---|---|
background |
openai-black |
#000000 |
surface |
primary-solid-4 |
#1F1F1F |
surface-elevated |
primary-solid-12 |
#333333 |
text-primary |
openai-white |
#FFFFFF |
text-secondary |
primary-solid-80 |
#CCCCCC |
text-tertiary |
primary-solid-60 |
#999999 |
primary |
openai-white |
#FFFFFF |
primary-hover |
primary-solid-80 |
#CCCCCC |
accent |
openai-accent-blue |
#4DA3FF |
accent-hover |
openai-hue-blue |
#36A6D7 |
warning |
openai-hue-yellow |
#E2A727 |
warning-hover |
openai-hue-yellow |
#E2A727 |
error |
openai-hue-red |
#ED6079 |
success |
openai-hue-lime |
#8FAC39 |
border |
primary-solid-12 |
#333333 |
| Role | Swatch | Hex |
|---|---|---|
identity |
openai-black |
#000000 |
on-identity |
openai-white |
#FFFFFF |
primary |
openai-black |
#000000 |
primary-hover |
secondary-solid-80 |
#333333 |
accent |
openai-accent-blue |
#4DA3FF |
accent-hover |
openai-hue-blue |
#36A6D7 |
success |
openai-hue-lime |
#8FAC39 |
warning |
openai-hue-yellow |
#E2A727 |
error |
openai-hue-red |
#ED6079 |
text-primary-light |
openai-black |
#000000 |
text-primary-dark |
openai-white |
#FFFFFF |
background-light |
openai-white |
#FFFFFF |
background-dark |
openai-black |
#000000 |
surface-light |
secondary-solid-4 |
#F5F5F5 |
surface-dark |
primary-solid-4 |
#1F1F1F |
| Role | Font role key |
|---|---|
display |
heading |
prose |
body |
code |
mono |
contrastRatio → text-primarybackground7WCAG-AAAPure black on pure white (and vice versa) is the maximum possible contrast (21:1). The brand's monochrome posture clears AAA by construction; this rule guards against consumers swapping in mid-neutrals that would defeat the property.
colorChoice → roles.colors.primaryOpenAI's primary brand color is monochrome — black on white, white on black. The "hue" tokens are reserved for data visualization, syntax highlighting, and illustration and must not be used as the brand interactive primary.
forbiddenTreatment → logoOpenAI's blossom mark is monochrome by design. Recolored, skewed, or gradient variants conflict with the brand's minimal posture.
fontPairing → typography.headingbody1.5OpenAI Sans is the only display face on openai.com; the visual hierarchy is established entirely by size and weight. A 1.5× minimum heading-to-body ratio preserves the hierarchy without introducing a second family.
accessibilityRequirement → *WCAG-AA1.4.3WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. The brand's monochrome posture clears AA effortlessly; consumers must preserve the property when composing neutral ramps.
compositionConstraint → roles.colors.identityThe identity block is black-on-white or white-on-black. Placing the brand identity directly against a hue background breaks the documented monochrome treatment.
enumMembership → typography.heading.fontWeightOpenAI Sans is distributed in a constrained weight range on openai.com. The marketing site uses Regular (400) for body, Medium (500) and SemiBold (600) for emphasis, and Bold (700) for hero headings. Display weights outside this band are reserved for special editorial contexts.
contextRestriction → roles.colors.accentOpenAI's documented accent blue (#4DA3FF) and the hue ramps appear at small sizes — links, data points, syntax tokens — not as large background fills. Large hue fills conflict with the brand's monochrome canvas.
Proprietary — All Rights Reserved2026-05-17Generated by the brand-atoms converter. Source: [email protected] from the encyclopedia.
Every block below renders from the resolved palette + font references on this brand. Swap the brand and the same template re-themes — no per-brand component code required.
Body copy renders in the brand's prose font on the brand's background.
Inline links and highlighted phrases pick up
the brand's primary and highlight roles. Code spans like brand.references.palette
fall back to the monospace face.
A blockquote uses the brand's accent color as its rule. Useful for pulling tagline copy out of running prose.
Neutral status — provides supplemental context without urgency. Uses the brand's primary as the rule.
Confirms a completed action — palette role success determines the rule color.
Calls out something that needs attention but isn't an error — palette role warning.
Surfaces a failure that blocks progress — palette role error. Use sparingly.
| Role | Resolves to | Mode |
|---|---|---|
| primary | brand color #1 | light + dark |
| accent | brand color #2 | light + dark |
| warning | brand warning | light + dark |
| error | brand error | light + dark |
Brand-level role overrides on top of palette-default mappings. Each role resolves to a concrete swatch or font reference.
→ openai-accent-blue #4DA3FF → openai-hue-blue #36A6D7 → openai-black #000000 → openai-white #FFFFFF → openai-hue-red #ED6079 → openai-black #000000 → openai-white #FFFFFF → openai-black #000000 → secondary-solid-80 #333333 → openai-hue-lime #8FAC39 → primary-solid-4 #1F1F1F → secondary-solid-4 #F5F5F5 → openai-white #FFFFFF → openai-black #000000 → openai-hue-yellow #E2A727 → mono JetBrainsMono Nerd Font → heading Inter → body Inter → openai-accent-blue → openai-hue-blue → openai-white → secondary-solid-12 → openai-hue-red → openai-black → secondary-solid-80 → openai-hue-lime → secondary-solid-4 → openai-white → openai-black → secondary-solid-60 → secondary-solid-44 → openai-hue-yellow → openai-hue-yellow → openai-accent-blue → openai-hue-blue → openai-black → primary-solid-12 → openai-hue-red → openai-white → primary-solid-80 → openai-hue-lime → primary-solid-4 → primary-solid-12 → openai-white → primary-solid-80 → primary-solid-60 → openai-hue-yellow → openai-hue-yellow contrastRatio text-primary against background minRatio 7 standard WCAG-AAA Pure black on pure white (and vice versa) is the maximum possible contrast (21:1). The brand's monochrome posture clears AAA by construction; this rule guards against consumers swapping in mid-neutrals that would defeat the property.
colorChoice roles.colors.primary allowed openai-black, openai-white forbidden openai-hue-red, openai-hue-blue, openai-hue-lime, openai-hue-magenta, openai-hue-yellow OpenAI's primary brand color is monochrome — black on white, white on black. The "hue" tokens are reserved for data visualization, syntax highlighting, and illustration and must not be used as the brand interactive primary.
forbiddenTreatment logo treatments stretched, rotated, recolored, drop-shadow, gradient-fill, on-busy-photo OpenAI's blossom mark is monochrome by design. Recolored, skewed, or gradient variants conflict with the brand's minimal posture.
fontPairing typography.heading requires body minSizeRatio 1.5 OpenAI Sans is the only display face on openai.com; the visual hierarchy is established entirely by size and weight. A 1.5× minimum heading-to-body ratio preserves the hierarchy without introducing a second family.
accessibilityRequirement * standard WCAG-AA criterion 1.4.3 WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. The brand's monochrome posture clears AA effortlessly; consumers must preserve the property when composing neutral ramps.
compositionConstraint roles.colors.identity pairsWith openai-white doesNotPairWith openai-hue-red, openai-hue-blue, openai-hue-magenta The identity block is black-on-white or white-on-black. Placing the brand identity directly against a hue background breaks the documented monochrome treatment.
enumMembership typography.heading.fontWeight allowed 400, 500, 600, 700 OpenAI Sans is distributed in a constrained weight range on openai.com. The marketing site uses Regular (400) for body, Medium (500) and SemiBold (600) for emphasis, and Bold (700) for hero headings. Display weights outside this band are reserved for special editorial contexts.
contextRestriction roles.colors.accent forbiddenContexts background, large-fill allowedContexts link, data-viz-primary, focus-ring OpenAI's documented accent blue (#4DA3FF) and the hue ramps appear at small sizes — links, data points, syntax tokens — not as large background fills. Large hue fills conflict with the brand's monochrome canvas.
Proprietary — All Rights Reserved2026-05-17