OpenAI Design Tokens
AI research and deployment company
Minimalist animations
Observed with Dembrandt. Semantic roles, gradients, and breakpoints come from live extractions where available; contrast is computed from the real palette. Try the CLI for the complete W3C token export.
Design tokens observed from publicly visible CSS. Dembrandt does not host, copy, or redistribute any brand assets.
Colors
#000000
#202123
#6e6e80
#f1f1f1
#f7f7f8
#ffffff
primary#000000
secondary#ffffff
background#ffffff
text#000000
logo#000000
Typography
OpenAI Sans, -apple-system, sans-serif
hero:48px / 500
body:18px / 400
button:16px / 500
weights:400, 500
leading:1, 1.1, 1.4, 1.6
tracking:-0.02em, 0, 0.04em
Shadows
sm
md
lg
Spacing
4px8px16px24px32px48px
Border Radius
6px
12px
40px
Borders
1px solid rgba(0, 0, 0, 0.12)
Links
Link text#000000 · no underline
Gradients
linear-gradient(135deg, #000000 0%, #ffffff 100%)
linear-gradient(90deg, #000000, #202123, #6e6e80)
radial-gradient(circle at 30% 20%, #000000 0%, #202123 70%)
Opacity
0
0.04
0.08
0.16
0.4
0.64
0.92
1
Breakpoints
640px768px1024px1280px1536px
Motion
Duration120ms180ms280ms420ms
Easingcubic-bezier(0.4, 0, 0.2, 1)cubic-bezier(0.16, 1, 0.3, 1)linear
Contrast · WCAG 2.2
Aa
Button label
21.00:1
Aa
Body text
21.00:1
Button States
React + Next.jsDefault
#000000Hover
#202123Active
#000000Focus
focusDisabled
disabledLoading
loadingradius: 40pxpadding: 10px 20px
output.json
{
"$schema": "https://design-tokens.org/schema.json",
"color": {
"palette-1": {
"$type": "color",
"$value": "#000000"
},
"palette-2": {
"$type": "color",
"$value": "#202123"
},
"palette-3": {
"$type": "color",
"$value": "#6e6e80"
},
"palette-4": {
"$type": "color",
"$value": "#f1f1f1"
},
"palette-5": {
"$type": "color",
"$value": "#f7f7f8"
},
"palette-6": {
"$type": "color",
"$value": "#ffffff"
},
"primary": {
"$type": "color",
"$value": "#000000"
},
"secondary": {
"$type": "color",
"$value": "#ffffff"
},
"background": {
"$type": "color",
"$value": "#ffffff"
},
"text": {
"$type": "color",
"$value": "#000000"
},
"logo": {
"$type": "color",
"$value": "#000000"
},
"link": {
"$type": "color",
"$value": "#000000"
}
},
"border": {
"border-1": {
"$type": "border",
"$value": "1px solid rgba(0, 0, 0, 0.12)"
}
},
"gradient": {
"gradient-1": {
"$type": "gradient",
"$value": "linear-gradient(135deg, #000000 0%, #ffffff 100%)"
},
"gradient-2": {
"$type": "gradient",
"$value": "linear-gradient(90deg, #000000, #202123, #6e6e80)"
},
"gradient-3": {
"$type": "gradient",
"$value": "radial-gradient(circle at 30% 20%, #000000 0%, #202123 70%)"
}
},
"fontFamily": {
"base": {
"$type": "fontFamily",
"$value": "OpenAI Sans, -apple-system, sans-serif"
}
},
"fontWeight": {
"weight-400": {
"$type": "fontWeight",
"$value": 400
},
"weight-500": {
"$type": "fontWeight",
"$value": 500
}
},
"dimension": {
"space-1": {
"$type": "dimension",
"$value": "4px"
},
"space-2": {
"$type": "dimension",
"$value": "8px"
},
"space-3": {
"$type": "dimension",
"$value": "16px"
},
"space-4": {
"$type": "dimension",
"$value": "24px"
},
"space-5": {
"$type": "dimension",
"$value": "32px"
},
"space-6": {
"$type": "dimension",
"$value": "48px"
},
"radius-1": {
"$type": "dimension",
"$value": "6px"
},
"radius-2": {
"$type": "dimension",
"$value": "12px"
},
"radius-3": {
"$type": "dimension",
"$value": "40px"
}
},
"shadow": {
"shadow-1": {
"$type": "shadow",
"$value": "0 2px 4px rgba(0,0,0,0.06)"
},
"shadow-2": {
"$type": "shadow",
"$value": "0 8px 16px rgba(0,0,0,0.1)"
},
"shadow-3": {
"$type": "shadow",
"$value": "0 24px 48px rgba(0,0,0,0.15)"
}
},
"opacity": {
"opacity-0": {
"$type": "number",
"$value": 0
},
"opacity-1": {
"$type": "number",
"$value": 0.04
},
"opacity-2": {
"$type": "number",
"$value": 0.08
},
"opacity-3": {
"$type": "number",
"$value": 0.16
},
"opacity-4": {
"$type": "number",
"$value": 0.4
},
"opacity-5": {
"$type": "number",
"$value": 0.64
},
"opacity-6": {
"$type": "number",
"$value": 0.92
},
"opacity-7": {
"$type": "number",
"$value": 1
}
},
"duration": {
"duration-1": {
"$type": "duration",
"$value": "120ms"
},
"duration-2": {
"$type": "duration",
"$value": "180ms"
},
"duration-3": {
"$type": "duration",
"$value": "280ms"
},
"duration-4": {
"$type": "duration",
"$value": "420ms"
}
},
"cubicBezier": {
"ease-1": {
"$type": "cubicBezier",
"$value": "cubic-bezier(0.4, 0, 0.2, 1)"
},
"ease-2": {
"$type": "cubicBezier",
"$value": "cubic-bezier(0.16, 1, 0.3, 1)"
},
"ease-3": {
"$type": "cubicBezier",
"$value": "linear"
}
},
"breakpoint": {
"bp-1": {
"$type": "dimension",
"$value": "640px"
},
"bp-2": {
"$type": "dimension",
"$value": "768px"
},
"bp-3": {
"$type": "dimension",
"$value": "1024px"
},
"bp-4": {
"$type": "dimension",
"$value": "1280px"
},
"bp-5": {
"$type": "dimension",
"$value": "1536px"
}
},
"contrast": {
"button-label": {
"ratio": 21,
"grade": "AAA"
},
"body-text": {
"ratio": 21,
"grade": "AAA"
}
}
}
// ...and moreOther token exports
--dtcgW3C token JSON, checked by the DTCG Validator
--design-mdDESIGN.md for agents and docs
--brand-guideBrand guide PDF
--wcagPalette-wide contrast report
All flags in the CLI quickstart. Same tokens in your editor via the MCP server.
$npx dembrandt openai.com