Skip to content

report / 133 sites

The Invisible UI, by the numbers

We tore down the design systems of 133 top sites into real tokens: color roles, fonts, type scale, radii, spacing. AI-built UI isn’t ugly. It’s identical. Here’s the proof.

or, in your IDE: npx -y uiscanner-mcp

twelve pages. one template.

method

How we measured

133 top sites. Each one run through the same teardown that powers uiscanner: we read the rendered DOM for computed color roles, font stacks, type scale, radii, spacing, and section structure. No opinions, no adjectives. Just the tokens each site actually ships.

describes and tokenizes, never re-hosts assets.

uiscanner.com/your-site.com
Inter8pxpill

type

The web has a house font, and it's Inter

Inter is the single most-used real web font across all 133. system-ui, -apple-system, Geist, and Geist Mono make up most of the rest.

Seeing Times New Roman in font stacks? That’s a serif fallback, not a choice. Nobody renders it.
Inter
system-ui
-apple-system
Geist
Geist Mono
Times New Roman
fallback only, not counted

ranked by frequency across 133 sites

radii

Every corner is an 8px corner

Ranked by frequency across 133 sites, the radius tokens go: 8px, 4px, 12px, 6px, 16px, then fully-round pills. The 8px grid isn’t folklore. It’s the measured default.

8px

hover to morph

color

The tell of a considered palette

~30% of these sites (40 of 133) still ship pure #000000 black text. ~26% (35 of 133) sit on a pure #ffffff white surface. The tasteful majority go off-black on off-white, the small move you feel but can’t name.

Black text

40 / 133
30%
70%
pure #000000off-black remainder

White surface

35 / 133
26%
74%
pure #ffffffoff-white remainder

Accent restraint

Only ~9% (12 of 133) are truly monochrome. Almost everyone else runs a near-monochrome palette with exactly one accent.

Only ~9% run zero accent

12 / 133 monochrome
9%
121 / 133 near-monochrome, one accent
+ accent
+ accent
+ accent
+ accent
+ accent
monochrome
+ accent
+ accent
+ accent
+ accent
+ accent

structure

The shape of an average page

~10 sections. ~8 type-scale steps. That’s the default skeleton, useful, and everyone’s.

~10sections
~8type steps

10 sections · an 8-step type ramp

the turn

Averaged design doesn’t convert

None of this is bad taste. It’s no taste, because it’s the average, and the average is invisible. Your AI builder was trained on the web, so it ships the web’s mean. The market can’t tell you apart, so it scrolls past. When everyone has the same model, taste is the only moat left. And taste isn’t a vibe you prompt for. It’s a reference you feed in.

“Clean and modern” is what invisible looks like.

the gesture

See the tokens your AI keeps defaulting to

Measure your own site the same way we measured these 133. Then measure one you admire, and feed the difference to your builder.

Prepend the URL

Put uiscanner.com/ before any link you admire.

Or call it in your IDE

Works inside Claude Code, Cursor, Codex.

terminal
$ npx -y uiscanner-mcp

5 free scans/month. Indie $12/mo. Studio $39/mo.

Be the tile that isn’t invisible.

uiscanneruiscanner

Paste any public URL and keep what makes it look good. You get the tokens, the structure, and a prompt you can build from.

Scan another site

Paste any public URL and get its tokens, structure, and a build-ready prompt.

© 2026 uiscanner. All rights reserved.