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.

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.
| Site | Official | designlang read | Why it matters |
|---|---|---|---|
| ikea.com | #0058a3 #ffda1a · Noto IKEA | #0159a3 · Omani Rial | blue painted as #0159a3 (dE 0.9), yellow as #ffdb00 (dE 3); co-equal brand colours |
| slack.com | #4a154b · Salesforce Sans | #730394 · Salesforce-Sans | aubergine 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 · Tally | Cavendish 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 Text | Atlassian blue #1868db painted (dE 0); legacy #0052cc is also still painted (dE 0); body renders Charlie Text |
| docker.com | #1d63ed · Repro | #2560ff · Inter | Moby Blue #1d63ed painted (dE 0); older #2496ed is not (closest dE 13.6) |
| heroku.com | #5a1ba9 · Salesforce Sans | #0176d3 · Salesforce Sans | Heroku 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 Sans | no official brand colour hex published; monochrome; body renders Square Sans Text |
| plaid.com | · Plaid Sans | #10d1b7 · Cern | no official brand colour; monochrome logo; #0a85ea from design-token kits not painted (closest dE 23.6) |
| cocacola.com | · TCCC-UnityText | #3860be · Noto-regional | Coca-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 Sans | main accent #26374a painted (dE 0) |
| digital.gov | #005ea2 · Public Sans Web | #2672de · Public Sans Web | USWDS primary #005ea2 painted (dE 0, small area); large fills are darker blues |
| harvard.edu | · GT America Standard Regular | #df072e · GT America Standard Bold | crimson #a51c30 is not painted on the homepage (closest dE 64) |
| aljazeera.com | #1d174e | #fa9000 · Roboto | navy #1d174e painted (dE 0); gold #d69d10 not painted (closest #fa9000, dE 22.6); body renders Georgia (system) |
| nasa.gov | · Public Sans Web | #f64137 · inter | brand page gives no hex; commonly cited #0b3d91 / #fc3d21 not painted (closest dE 49.8 / 11.6) |
| raycast.com | #ff6363 · Inter | #d72a2a · Inter | Brand Red #ff6363 painted (dE 0) |
| pitch.com | · Eina 03 Regular | #5318eb · Mark Pro Bold | brand-evolution post gives no hex; font from rendering |
| react.dev | #58c4dc · Optimistic Display | #087ea4 · Optimistic Text | logo cyan #58c4dc painted (dE 0); legacy #61dafb is not (closest dE 9.1) |
| astro.build | #17191e · Inter | #61dafb · Inter | press-kit logo dark #17191e painted (dE 0) as the page canvas |
| bun.sh | #14151a | #ff1f8f · Archivo | Ink 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 · Sora | press 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 · Inter | Prism 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 · Helvetica | UCLA 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 Sans | Spirit 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-n4 | Carnelian #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-next | U of T Blue #1e3765 painted (dE 0); body renders trade-gothic-next |
Every site
Ground truth, sources and both tools' answers.
| Site | designlang colour | designlang font | Dembrandt colour | Dembrandt font | Source |
|---|---|---|---|---|---|
| stripe.com | ✓ #533afd | ✓ sohne-var | ✓ #533afd | ✓ sohne-var | source |
| linear.app | ✓ #5e6ad2 | ✓ Inter Variable | ✗ #27a644 | ✓ Inter Variable | source |
| vercel.com | not scored | ✓ GeistSans | not scored | ✓ GeistSans | source |
| github.com | not scored | ✓ Mona Sans | not scored | ✓ Mona Sans VF | source |
| gov.uk | ✓ #1d70b8 | ✓ GDS Transport | ✓ #1d70b8 | ✓ GDS Transport | source |
| ikea.com | ✓ #0159a3 | ✗ Omani Rial | ✓ #ffdb00 | ✗ Omani Rial | source |
| notion.so | not scored | ✓ NotionInter | not scored | ✓ NotionInter | source |
| tailwindcss.com | not scored | ✓ inter | not scored | ✓ inter | source |
| spotify.com | ✓ #1ed760 | ✓ SpotifyMixUI | ✓ #1ed760 | ✓ SpotifyMixUI | source |
| airbnb.com | ✓ #ff385c | ✓ Airbnb Cereal VF | ✓ #ff385c | ✓ Airbnb Cereal VF | source |
| slack.com | ✗ #730394 | ✓ Salesforce-Sans | ✗ #730394 | ✓ Salesforce-Sans | source |
| atlassian.com | ✗ #ffab00 | ✓ Charlie Text | ✓ #1868db | ✓ Charlie Text | source |
| discord.com | ✓ #5865f2 | ✓ Abcgintodiscord | ✓ #5865f2 | ✓ Abcgintodiscord | source |
| dropbox.com | ✓ #0061fe | ✓ Atlas Grotesk Web | ✓ #0061fe | ✓ Atlas Grotesk Web | source |
| mailchimp.com | ✓ #ffe01b | ✗ Tally | ✓ #ffe01b | ✗ Tally | source |
| duolingo.com | ✓ #58cc02 | ✓ duolingo-sans | ✗ #a5ed6e | ✓ duolingo-sans | source |
| asana.com | not scored | ✓ TWK Lausanne | not scored | ✓ TWK Lausanne | source |
| hubspot.com | ✓ #ff4800 | ✓ HubSpot Sans | ✓ #ff4800 | ✓ HubSpot Sans | source |
| netflix.com | ✓ #e50914 | ✓ Netflix Sans | ✓ #e50914 | ✗ sans-serif | source |
| paypal.com | ✗ #053782 | ✓ PayPal Pro Text VF | ✗ #60cdff | ✓ PayPal Pro Text VF | source |
| uber.com | not scored | ✓ UberMoveText | not scored | ✓ UberMoveText | source |
| mozilla.org | not scored | ✓ Mozilla Text | not scored | ✓ Mozilla Text | source |
| shopify.com | not scored | ✓ Shopify-Inter | not scored | ✓ Shopify-Inter | source |
| supabase.com | ✗ #013613 | ✓ Inter | ✗ #0e7e4e | ✓ Inter | source |
| resend.com | not scored | ✓ inter | not scored | ✓ inter | source |
| framer.com | ✓ #0099ff | ✓ Inter | ✗ #1f1f1f | ✓ Inter Variable | source |
| figma.com | not scored | ✓ figmaSans | not scored | ✓ figmaSans | source |
| bitbucket.org | ✗ #0052cc | ✓ Charlie Text | ✓ #1868db | ✓ Charlie Text | source |
| docker.com | ✗ #2560ff | ✗ Inter | ✗ #2560ff | ✗ Inter | source |
| cloudflare.com | not scored | ✓ STK Bureau Sans | not scored | ✓ STK Bureau Sans | source |
| digitalocean.com | not scored | ✓ Inter | not scored | ✓ Inter | source |
| heroku.com | ✗ #0176d3 | ✓ Salesforce Sans | ✗ #0176d3 | ✓ Salesforce Sans | source |
| netlify.com | not scored | ✓ Instrument Sans | not scored | ✓ Instrument Sans | — |
| postman.com | not scored | ✗ inter | not scored | ✗ system-ui | source |
| twilio.com | not scored | ✓ Whitney SSm | not scored | ✓ Whitney SSm | source |
| sentry.io | not scored | ✓ Rubik | not scored | ✓ Rubik | source |
| datadoghq.com | ✓ #632ca6 | not scored | ✓ #632ca6 | not scored | source |
| mongodb.com | not scored | ✓ Sohne | not scored | ✓ Sohne | source |
| elastic.co | ✓ #0b64dd | ✓ Inter | ✓ #0b64dd | ✓ Inter | source |
| jetbrains.com | not scored | ✓ JetBrains Sans | not scored | ✓ JetBrains Sans | source |
| auth0.com | not scored | ✓ Aeonik | not scored | ✓ Aeonik | source |
| okta.com | not scored | ✓ Aeonik | not scored | ✓ Aeonik | source |
| airtable.com | not scored | ✓ Haas | not scored | ✓ Haas | source |
| monday.com | not scored | ✓ Poppins | not scored | ✓ Poppins | — |
| zapier.com | ✓ #ff4f00 | ✓ Inter | ✗ #201515 | ✓ Inter | source |
| wordpress.com | ✓ #3858e9 | ✓ inter-variable-web | ✗ — | ✗ Helvetica Neue | source |
| render.com | not scored | ✓ PPNeueMontreal | not scored | ✓ PPNeueMontreal | — |
| vite.dev | not scored | ✓ Inter | not scored | ✓ Inter | source |
| deno.com | not scored | ✓ Inter | not scored | ✓ Inter | source |
| revolut.com | not scored | ✓ Inter | not scored | ✓ Inter | — |
| n26.com | not scored | ✓ N26 | not scored | ✓ N26 | source |
| squareup.com | not scored | ✗ Cash Sans | not scored | ✓ Square Sans Text VF | source |
| venmo.com | not scored | ✓ Venmo Sans | not scored | ✓ Venmo Sans | source |
| adyen.com | not scored | ✓ Adyen | not scored | ✓ Adyen | source |
| plaid.com | not scored | ✗ Cern | not scored | ✗ Cern | source |
| brex.com | not scored | ✓ inter | not scored | ✓ inter | source |
| mercury.com | not scored | ✓ arcadia | not scored | ✓ arcadia | — |
| target.com | not scored | ✓ Helvetica for Target | not scored | ✓ Helvetica for Target | — |
| bestbuy.com | not scored | ✓ Human BBY Web | not scored | ✓ Human BBY Web | source |
| starbucks.com | ✓ #006141 | ✓ SoDoSans | ✓ #006141 | ✓ SoDoSans | source |
| nubank.com.br | not scored | ✓ nuSansDisplay | not scored | ✓ nuSansText | source |
| gocardless.com | ✓ #ffe500 | ✓ Inter | ✓ #0f1521 | ✗ sans-serif | source |
| cocacola.com | not scored | ✗ Noto-regional | not scored | ✗ Noto-regional | source |
| wikipedia.org | ✓ #3366cc | not scored | ✓ #3366cc | not scored | source |
| ft.com | not scored | ✓ metric 2 VF | not scored | ✓ metric 2 VF | source |
| npr.org | not scored | ✓ NPRSans | not scored | ✓ NPRSans | source |
| usa.gov | not scored | ✓ Source Sans Pro Web | not scored | ✓ Source Sans Pro Web | source |
| canada.ca | ✗ #335075 | ✓ Noto Sans | ✓ #26374a | ✓ Noto Sans | source |
| digital.gov | ✗ #2672de | ✓ Public Sans Web | ✗ #2672de | ✓ Public Sans Web | source |
| southwest.com | not scored | ✓ Southwest Sans | not scored | ✓ Southwest Sans | source |
| qantas.com | not scored | ✓ Qantas Sans | not scored | ✓ Qantas Sans | source |
| harvard.edu | not scored | ✗ GT America Standard Bold | not scored | ✓ GT America Standard Regular | source |
| stanford.edu | ✓ #8c1515 | ✓ Source Sans 3 | ✓ #8c1515 | ✓ Source Sans 3 | source |
| berkeley.edu | ✓ #002676 | ✓ Inter | ✗ #010133 | ✓ Inter | source |
| yale.edu | ✓ #00356b | ✓ yale | ✓ #00356b | ✗ sans-serif | source |
| aljazeera.com | ✗ #fa9000 | not scored | ✗ #fa9000 | not scored | source |
| nasa.gov | not scored | ✗ inter | not scored | ✓ Public Sans Web | source |
| microsoft.com | ✓ #0078d4 | ✓ Segoe UI Variable Text | ✗ #2a446f | ✓ Segoe UI Variable Text | source |
| dribbble.com | ✓ #ea4c89 | ✓ Mona Sans | ✓ #ea4c89 | ✓ Mona Sans | source |
| raycast.com | ✗ #d72a2a | ✓ Inter | ✗ #ffcdcd | ✓ Inter | source |
| coursera.org | ✓ #0056d2 | ✓ Source Sans Pro | ✓ #0056d2 | ✓ Source Sans Pro | source |
| ted.com | ✓ #eb0028 | not scored | ✓ #eb0028 | not scored | source |
| soundcloud.com | not scored | ✓ Söhne | not scored | ✓ Söhne | source |
| bitwarden.com | ✓ #175ddc | not scored | ✗ #d2d7ea | not scored | source |
| headspace.com | not scored | ✓ Headspace Apercu | not scored | ✓ Headspace Apercu | source |
| deezer.com | not scored | ✓ Inter | not scored | ✓ Inter | source |
| sketch.com | not scored | ✓ InterVariable | not scored | ✓ InterVariable | source |
| pitch.com | not scored | ✗ Mark Pro Bold | not scored | ✓ Eina 03 Regular | source |
| deliveroo.co.uk | not scored | ✓ IBM Plex Sans | not scored | ✓ plex-sans | source |
| whatsapp.com | not scored | ✓ WhatsApp Sans Var | not scored | ✓ WhatsApp Sans Var | source |
| signal.org | not scored | ✓ Inter | not scored | ✓ Inter | source |
| python.org | ✓ #ffd343 | ✓ SourceSansProRegular | ✗ #006dad | ✓ SourceSansProRegular | source |
| nodejs.org | not scored | ✓ OPEN_SANS | not scored | ✓ OPEN_SANS | source |
| react.dev | ✗ #087ea4 | ✗ Optimistic Text | ✗ #23272f | ✗ Optimistic Text | source |
| vuejs.org | ✓ #42b883 | ✓ Inter var experimental | ✗ #213547 | ✓ Inter var experimental | source |
| astro.build | ✗ #61dafb | ✓ Inter | ✗ #3178c6 | ✗ ui-sans-serif | source |
| bun.sh | ✗ #ff1f8f | not scored | ✗ #ff1f8f | not scored | source |
| kubernetes.io | ✓ #326ce5 | ✓ Open Sans | ✓ #326ce5 | ✓ Open Sans | source |
| pagerduty.com | not scored | ✓ plainFont | not scored | ✓ plainFont | source |
| algolia.com | not scored | ✗ Sora | not scored | ✓ Inter | source |
| clerk.com | ✗ #ef4444 | ✓ geistNumbers | ✓ #6c47ff | ✓ geistNumbers | source |
| prisma.io | ✗ #1863dc | ✓ Inter | ✓ #00bbcb | ✓ Inter | source |
| planetscale.com | ✗ #0b6ec5 | not scored | ✗ #0b6ec5 | not scored | source |
| europa.eu | ✓ #0e47cb | not scored | ✗ #171a22 | not scored | source |
| ucla.edu | ✗ #00598c | not scored | ✗ #00598c | not scored | source |
| uw.edu | ✗ #32006e | ✓ Open Sans | ✗ #32006e | ✓ Open Sans | source |
| cornell.edu | ✗ #006699 | not scored | ✗ #006699 | not scored | source |
| utoronto.ca | ✗ #007894 | ✓ trade-gothic-next | ✗ #007894 | ✓ trade-gothic-next | source |
| theverge.com | not scored | ✓ polySans | not scored | ✗ ui-sans-serif | source |
| vox.com | not scored | ✓ balto | not scored | ✗ ui-sans-serif | source |
| airnewzealand.co.nz | not scored | ✓ Air New Zealand Sans | not scored | ✓ airNewZealandSans | source |
Every run so far
| Date | designlang | Sites | Primary colour | Body font |
|---|---|---|---|---|
| 4 November 2026 | 13.3.2 | 111 | 60% | 88% |
| 3 November 2026 | 13.3.2 | 8 | 88% | 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.