OpenAI vs On
65 token-level differences between these two design systems.
Background
#ffffff → #ffffff Text
#000000 → #000000 Brand
#000000 → #000000 Border
rgba(0,0,0,0.1) → rgba(0,0,0,0.08) Display font
OpenAI Sans → On Body size
16px → 16px colors 56 changed
~
surface #fafafa → #ffffff ~
text-muted #5d5d5d → #525252 ~
brand-active #2c2c2c → #000000 ~
link-hover #5d5d5d → #525252 ~
scrim rgba(0,0,0,0.5) → rgba(0,0,0,0.55) ~
success #10a37f → #1f8a4c ~
warning #d97706 → #a35316 ~
danger #cc2525 → #d11507 ~
info #3a3a3a → #1151ff +
bg-dark #000000 +
surface-soft #f5f5f5 +
surface-warm #fafafa +
ink #000000 +
ink-soft #0a0a0a +
charcoal #333333 +
mute #525252 +
mute-soft #767676 +
stone #9a9a9a +
hairline #d4d4d4 +
hairline-soft #e5e5e5 +
text-soft #767676 +
text-on-ink #ffffff +
pill-light #ffffff +
pill-light-text #000000 +
visited #000000 +
selected #000000 +
disabled-bg #e5e5e5 +
disabled-text #9a9a9a +
accent-coral #e63312 +
accent-coral-deep #b3260d +
sale #e63312 +
success-bright #34c873 +
ring #000000 +
ring-on-dark #ffffff −
bg-soft #f1f1f1 −
bg-section #f7f7f7 −
surface-card #ffffff −
surface-hover rgba(0,0,0,0.04) −
surface-press rgba(0,0,0,0.08) −
text-subtle #8e8e8e −
text-faint #b4b4b4 −
text-on-brand #ffffff −
text-on-dark #ededed −
brand-on-dark #ffffff −
accent #10a37f −
accent-hover #0d8a6b −
accent-soft #d6f3e8 −
link-visited #000000 −
border rgba(0,0,0,0.1) −
border-soft rgba(0,0,0,0.08) −
border-strong rgba(0,0,0,0.16) −
shadow-card rgba(0,0,0,0.06) −
shadow-elev rgba(0,0,0,0.10) −
shadow-modal rgba(0,0,0,0.20) −
warning-soft #fdf3e7 −
danger-soft #fae5e5 typography 5 changed
~
display {"family":"OpenAI Sans","size":48} → {"family":"On","size":80} ~
h1 {"family":"OpenAI Sans","size":40} → {"family":"On","size":48} ~
h2 {"family":"OpenAI Sans","size":32} → {"family":"On","size":32} ~
body {"family":"OpenAI Sans","size":16} → {"family":"On","size":16} ~
label {"family":"OpenAI Sans Mono","size":12} → {"family":"SFMono-Regular","size":13} radius identical
No differences.
spacing 4 changed
~
xs 4px → 0px ~
sm 8px → 4px ~
md 16px → 12px ~
xl 48px → 64px