DesignBench: measured, misses included

How often does a design extractor get a brand's primary colour and body font right? We checked 111 sites against their official brand sources and published every result.

Oil painting of a tailor measuring a painted web page pinned to a dress form

designlang 13.3.2 against Dembrandt 0.33.0

Run on 4 November 2026, one site at a time on the same machine, alternating which tool goes first.

A colour counts as right within ΔE 10 of an official brand colour that is actually painted on the homepage. Sites whose brand colour is not on the page are not scored for colour.

Primary colour right, designlang
60%32 of 53
Dembrandt
49%26 of 53
Body font right, designlang
88%Dembrandt 86%

Where designlang got it wrong

Each miss is a test case we work from. They are listed first on purpose.

SiteOfficialdesignlang readWhy it matters
ikea.com#0058a3 #ffda1a · Noto IKEA#0159a3 · Omani Rialblue painted as #0159a3 (dE 0.9), yellow as #ffdb00 (dE 3); co-equal brand colours
slack.com#4a154b · Salesforce Sans#730394 · Salesforce-Sansaubergine painted (dE 0); site renders Salesforce Sans, not the Slack Circular named in the 2020 guidelines
atlassian.com#1868db · Charlie Text#ffab00 · Charlie Text#1868db painted (dE 0); legacy #0052cc is not; body renders Charlie Text
mailchimp.com#ffe01b · Graphik#ffe01b · TallyCavendish yellow painted (dE 0); body renders Graphik Web
paypal.com#002991 · PayPal Pro#053782 · PayPal Pro Text VF#002991 painted (dE 0); #008cff is not
supabase.com#3ecf8e · Inter#013613 · Inter#3ecf8e painted (dE 0, small area)
bitbucket.org#1868db · Charlie Text#0052cc · Charlie TextAtlassian blue #1868db painted (dE 0); legacy #0052cc is also still painted (dE 0); body renders Charlie Text
docker.com#1d63ed · Repro#2560ff · InterMoby Blue #1d63ed painted (dE 0); older #2496ed is not (closest dE 13.6)
heroku.com#5a1ba9 · Salesforce Sans#0176d3 · Salesforce SansHeroku Purple #5a1ba9 painted (dE 0); the older #430098 is not (closest dE 7.4); Salesforce Sans is the official body face
postman.com · ibmPlexMono#e0531f · inter#ff6c37 is painted (dE 0) but only palette aggregators / scraped design-token sites give the hex, so colour is not scored; #ef5b25 is not (closest dE 4.6); first paragraph renders in IBM Plex Mono
squareup.com · Square Sans Text VF#006aff · Cash Sansno official brand colour hex published; monochrome; body renders Square Sans Text
plaid.com · Plaid Sans#10d1b7 · Cernno official brand colour; monochrome logo; #0a85ea from design-token kits not painted (closest dE 23.6)
cocacola.com · TCCC-UnityText#3860be · Noto-regionalCoca-Cola Red #f40009 not painted on the redirected regional homepage (closest dE 99.7); body renders TCCC Unity Text
canada.ca#26374a · Noto Sans#335075 · Noto Sansmain accent #26374a painted (dE 0)
digital.gov#005ea2 · Public Sans Web#2672de · Public Sans WebUSWDS primary #005ea2 painted (dE 0, small area); large fills are darker blues
harvard.edu · GT America Standard Regular#df072e · GT America Standard Boldcrimson #a51c30 is not painted on the homepage (closest dE 64)
aljazeera.com#1d174e #fa9000 · Robotonavy #1d174e painted (dE 0); gold #d69d10 not painted (closest #fa9000, dE 22.6); body renders Georgia (system)
nasa.gov · Public Sans Web#f64137 · interbrand page gives no hex; commonly cited #0b3d91 / #fc3d21 not painted (closest dE 49.8 / 11.6)
raycast.com#ff6363 · Inter#d72a2a · InterBrand Red #ff6363 painted (dE 0)
pitch.com · Eina 03 Regular#5318eb · Mark Pro Boldbrand-evolution post gives no hex; font from rendering
react.dev#58c4dc · Optimistic Display#087ea4 · Optimistic Textlogo cyan #58c4dc painted (dE 0); legacy #61dafb is not (closest dE 9.1)
astro.build#17191e · Inter#61dafb · Interpress-kit logo dark #17191e painted (dE 0) as the page canvas
bun.sh#14151a #ff1f8f · ArchivoInk painted as #111114 (dE 2.6); Cream, Pink and Blush are not (closest dE 8.7, 12.2, 28.2); body is a system stack
algolia.com · Inter#003dff · Sorapress page and Frontify guide state no hex; font from rendering
clerk.com#6c47ff · geistNumbers#ef4444 · geistNumbers#6c47ff painted (dE 0); stack leads with Geist for numerals ahead of Suisse Intl
prisma.io#00bbcb #f34a60 · Inter#1863dc · InterPrism Cyan 500 #00bbcb and Prism Red 500 #f34a60 painted (dE 0, small areas); brand page names Inter for body
planetscale.com#f35815 #0b6ec5 · —#f35815 painted (dE 0); brand black #1a1a1a is not (closest dE 4.2); body is ui-monospace system stack
ucla.edu#2774ae #ffd100 #00598c · HelveticaUCLA Blue and UCLA Gold both painted (dE 0); body is Helvetica/Arial (system stack, no loaded face)
uw.edu#4b2e83 #85754d · Open Sans#32006e · Open SansSpirit Purple #4b2e83 and Heritage Gold #85754d painted (dE 0); Husky Gold #b7a57a is not (closest dE 18.5); Open Sans is a brand family; redirects to washington.edu
cornell.edu#b31b1b #006699 · freight-sans-pro-n4Carnelian #b31b1b painted (dE 0); first paragraph is a video fallback in Times, so no body font is scored
utoronto.ca#1e3765 · trade-gothic-next#007894 · trade-gothic-nextU of T Blue #1e3765 painted (dE 0); body renders trade-gothic-next

Every site

Ground truth, sources and both tools' answers.

Sitedesignlang colourdesignlang fontDembrandt colourDembrandt fontSource
stripe.com✓ #533afd✓ sohne-var✓ #533afd✓ sohne-varsource
linear.app✓ #5e6ad2✓ Inter Variable✗ #27a644✓ Inter Variablesource
vercel.comnot scored✓ GeistSansnot scored✓ GeistSanssource
github.comnot scored✓ Mona Sansnot scored✓ Mona Sans VFsource
gov.uk✓ #1d70b8✓ GDS Transport✓ #1d70b8✓ GDS Transportsource
ikea.com✓ #0159a3✗ Omani Rial✓ #ffdb00✗ Omani Rialsource
notion.sonot scored✓ NotionInternot scored✓ NotionIntersource
tailwindcss.comnot scored✓ internot scored✓ intersource
spotify.com✓ #1ed760✓ SpotifyMixUI✓ #1ed760✓ SpotifyMixUIsource
airbnb.com✓ #ff385c✓ Airbnb Cereal VF✓ #ff385c✓ Airbnb Cereal VFsource
slack.com✗ #730394✓ Salesforce-Sans✗ #730394✓ Salesforce-Sanssource
atlassian.com✗ #ffab00✓ Charlie Text✓ #1868db✓ Charlie Textsource
discord.com✓ #5865f2✓ Abcgintodiscord✓ #5865f2✓ Abcgintodiscordsource
dropbox.com✓ #0061fe✓ Atlas Grotesk Web✓ #0061fe✓ Atlas Grotesk Websource
mailchimp.com✓ #ffe01b✗ Tally✓ #ffe01b✗ Tallysource
duolingo.com✓ #58cc02✓ duolingo-sans✗ #a5ed6e✓ duolingo-sanssource
asana.comnot scored✓ TWK Lausannenot scored✓ TWK Lausannesource
hubspot.com✓ #ff4800✓ HubSpot Sans✓ #ff4800✓ HubSpot Sanssource
netflix.com✓ #e50914✓ Netflix Sans✓ #e50914✗ sans-serifsource
paypal.com✗ #053782✓ PayPal Pro Text VF✗ #60cdff✓ PayPal Pro Text VFsource
uber.comnot scored✓ UberMoveTextnot scored✓ UberMoveTextsource
mozilla.orgnot scored✓ Mozilla Textnot scored✓ Mozilla Textsource
shopify.comnot scored✓ Shopify-Internot scored✓ Shopify-Intersource
supabase.com✗ #013613✓ Inter✗ #0e7e4e✓ Intersource
resend.comnot scored✓ internot scored✓ intersource
framer.com✓ #0099ff✓ Inter✗ #1f1f1f✓ Inter Variablesource
figma.comnot scored✓ figmaSansnot scored✓ figmaSanssource
bitbucket.org✗ #0052cc✓ Charlie Text✓ #1868db✓ Charlie Textsource
docker.com✗ #2560ff✗ Inter✗ #2560ff✗ Intersource
cloudflare.comnot scored✓ STK Bureau Sansnot scored✓ STK Bureau Sanssource
digitalocean.comnot scored✓ Internot scored✓ Intersource
heroku.com✗ #0176d3✓ Salesforce Sans✗ #0176d3✓ Salesforce Sanssource
netlify.comnot scored✓ Instrument Sansnot scored✓ Instrument Sans—
postman.comnot scored✗ internot scored✗ system-uisource
twilio.comnot scored✓ Whitney SSmnot scored✓ Whitney SSmsource
sentry.ionot scored✓ Rubiknot scored✓ Rubiksource
datadoghq.com✓ #632ca6not scored✓ #632ca6not scoredsource
mongodb.comnot scored✓ Sohnenot scored✓ Sohnesource
elastic.co✓ #0b64dd✓ Inter✓ #0b64dd✓ Intersource
jetbrains.comnot scored✓ JetBrains Sansnot scored✓ JetBrains Sanssource
auth0.comnot scored✓ Aeoniknot scored✓ Aeoniksource
okta.comnot scored✓ Aeoniknot scored✓ Aeoniksource
airtable.comnot scored✓ Haasnot scored✓ Haassource
monday.comnot scored✓ Poppinsnot scored✓ Poppins—
zapier.com✓ #ff4f00✓ Inter✗ #201515✓ Intersource
wordpress.com✓ #3858e9✓ inter-variable-web✗ —✗ Helvetica Neuesource
render.comnot scored✓ PPNeueMontrealnot scored✓ PPNeueMontreal—
vite.devnot scored✓ Internot scored✓ Intersource
deno.comnot scored✓ Internot scored✓ Intersource
revolut.comnot scored✓ Internot scored✓ Inter—
n26.comnot scored✓ N26not scored✓ N26source
squareup.comnot scored✗ Cash Sansnot scored✓ Square Sans Text VFsource
venmo.comnot scored✓ Venmo Sansnot scored✓ Venmo Sanssource
adyen.comnot scored✓ Adyennot scored✓ Adyensource
plaid.comnot scored✗ Cernnot scored✗ Cernsource
brex.comnot scored✓ internot scored✓ intersource
mercury.comnot scored✓ arcadianot scored✓ arcadia—
target.comnot scored✓ Helvetica for Targetnot scored✓ Helvetica for Target—
bestbuy.comnot scored✓ Human BBY Webnot scored✓ Human BBY Websource
starbucks.com✓ #006141✓ SoDoSans✓ #006141✓ SoDoSanssource
nubank.com.brnot scored✓ nuSansDisplaynot scored✓ nuSansTextsource
gocardless.com✓ #ffe500✓ Inter✓ #0f1521✗ sans-serifsource
cocacola.comnot scored✗ Noto-regionalnot scored✗ Noto-regionalsource
wikipedia.org✓ #3366ccnot scored✓ #3366ccnot scoredsource
ft.comnot scored✓ metric 2 VFnot scored✓ metric 2 VFsource
npr.orgnot scored✓ NPRSansnot scored✓ NPRSanssource
usa.govnot scored✓ Source Sans Pro Webnot scored✓ Source Sans Pro Websource
canada.ca✗ #335075✓ Noto Sans✓ #26374a✓ Noto Sanssource
digital.gov✗ #2672de✓ Public Sans Web✗ #2672de✓ Public Sans Websource
southwest.comnot scored✓ Southwest Sansnot scored✓ Southwest Sanssource
qantas.comnot scored✓ Qantas Sansnot scored✓ Qantas Sanssource
harvard.edunot scored✗ GT America Standard Boldnot scored✓ GT America Standard Regularsource
stanford.edu✓ #8c1515✓ Source Sans 3✓ #8c1515✓ Source Sans 3source
berkeley.edu✓ #002676✓ Inter✗ #010133✓ Intersource
yale.edu✓ #00356b✓ yale✓ #00356b✗ sans-serifsource
aljazeera.com✗ #fa9000not scored✗ #fa9000not scoredsource
nasa.govnot scored✗ internot scored✓ Public Sans Websource
microsoft.com✓ #0078d4✓ Segoe UI Variable Text✗ #2a446f✓ Segoe UI Variable Textsource
dribbble.com✓ #ea4c89✓ Mona Sans✓ #ea4c89✓ Mona Sanssource
raycast.com✗ #d72a2a✓ Inter✗ #ffcdcd✓ Intersource
coursera.org✓ #0056d2✓ Source Sans Pro✓ #0056d2✓ Source Sans Prosource
ted.com✓ #eb0028not scored✓ #eb0028not scoredsource
soundcloud.comnot scored✓ Söhnenot scored✓ Söhnesource
bitwarden.com✓ #175ddcnot scored✗ #d2d7eanot scoredsource
headspace.comnot scored✓ Headspace Apercunot scored✓ Headspace Apercusource
deezer.comnot scored✓ Internot scored✓ Intersource
sketch.comnot scored✓ InterVariablenot scored✓ InterVariablesource
pitch.comnot scored✗ Mark Pro Boldnot scored✓ Eina 03 Regularsource
deliveroo.co.uknot scored✓ IBM Plex Sansnot scored✓ plex-sanssource
whatsapp.comnot scored✓ WhatsApp Sans Varnot scored✓ WhatsApp Sans Varsource
signal.orgnot scored✓ Internot scored✓ Intersource
python.org✓ #ffd343✓ SourceSansProRegular✗ #006dad✓ SourceSansProRegularsource
nodejs.orgnot scored✓ OPEN_SANSnot scored✓ OPEN_SANSsource
react.dev✗ #087ea4✗ Optimistic Text✗ #23272f✗ Optimistic Textsource
vuejs.org✓ #42b883✓ Inter var experimental✗ #213547✓ Inter var experimentalsource
astro.build✗ #61dafb✓ Inter✗ #3178c6✗ ui-sans-serifsource
bun.sh✗ #ff1f8fnot scored✗ #ff1f8fnot scoredsource
kubernetes.io✓ #326ce5✓ Open Sans✓ #326ce5✓ Open Sanssource
pagerduty.comnot scored✓ plainFontnot scored✓ plainFontsource
algolia.comnot scored✗ Soranot scored✓ Intersource
clerk.com✗ #ef4444✓ geistNumbers✓ #6c47ff✓ geistNumberssource
prisma.io✗ #1863dc✓ Inter✓ #00bbcb✓ Intersource
planetscale.com✗ #0b6ec5not scored✗ #0b6ec5not scoredsource
europa.eu✓ #0e47cbnot scored✗ #171a22not scoredsource
ucla.edu✗ #00598cnot scored✗ #00598cnot scoredsource
uw.edu✗ #32006e✓ Open Sans✗ #32006e✓ Open Sanssource
cornell.edu✗ #006699not scored✗ #006699not scoredsource
utoronto.ca✗ #007894✓ trade-gothic-next✗ #007894✓ trade-gothic-nextsource
theverge.comnot scored✓ polySansnot scored✗ ui-sans-serifsource
vox.comnot scored✓ baltonot scored✗ ui-sans-serifsource
airnewzealand.co.nznot scored✓ Air New Zealand Sansnot scored✓ airNewZealandSanssource

Every run so far

DatedesignlangSitesPrimary colourBody font
4 November 202613.3.211160%88%
3 November 202613.3.2888%100%

Run it yourself

The site list, the sources, the scorer and the runner are all in the repo. A 20-site holdout no extraction change has seen keeps us honest.

Sign in for 3 more free reads

Your first browser read is free for everyone. Sign in and you get three more. Nothing to pay.

Every site is free in your terminal too: npx designlang <site>