Copied!
Free · open source

Read any website’s design tokens from your terminal

A free, open-source command that opens a page in your own Chrome or Edge and prints its real fonts, colors, type scale, spacing and CSS variables, or writes them as CSS, Tailwind or design-token JSON.

← Free tools

MIT licensed · no dependencies · nothing leaves your machineUpdated October 22, 2026

Publishing to npm and GitHub soon. The commands below work once it is out.

What does it do?

One command reads a page the way a designer would inspect it, and prints what it found:

npx enrichr-cli tokens stripe.com

You get the fonts the page really draws, the colors ranked by how much of the page each covers, the type scale, spacing, border radii, shadows, breakpoints, transition timings, and every CSS variable the site declares on its root element, resolved to its final value. It needs Node 22 or newer and a browser you already have. It downloads nothing and has no dependencies.

What does the output look like?

This is a trimmed run against linear.app, measured on 22 October 2026. Sites change, so yours will differ.

linear.app  Linear – The system for product development
Read in a real browser (desktop, light scheme) in 7.9s

Fonts
  Headings, body Inter Variable  web font, 84.1% of text  weights 300, 400, 500, 510, 590
  Code           Berkeley Mono  web font, 15.9% of text  weights 400

Type scale
  13px   400  lh 20px      23.3%  p span h3 a
  15px   400  lh 24px      24.7%  span p strong
  24px   400  lh 31.92px    6.1%  p
  48px   510  lh 48px       2.7%  h2 strong
  72px   510  lh 72px       0.4%  h2

Which formats can it write?

FlagOutputUse it for
-f css:root { --color-accent: …; --font-heading: …; --text-base: …; }Starting a stylesheet in the same system as a reference site
-f tailwindA Tailwind CSS v4 @theme blockPasting a site’s scale into a Tailwind project
-f dtcgW3C Design Tokens JSONStyle Dictionary and Tokens Studio
-f jsonThe full measured data, stable schemaScripts and CI checks
-f markdownA readable reportAn issue, a pull request or a design doc

Token names describe rank or size (--color-palette-3, --text-xl), never what the designer meant. The site’s own variable names are in the JSON and, with --site-vars, in the CSS.

Which commands are there?

CLI, extension or web tool?

CLIChrome extensionWeb tool
How you use itTerminal, scripts, CIOne click on the page you are onPaste a URL
LimitUnlimitedUnlimitedOne free fresh lookup, then a free account
OutputCSS, Tailwind, DTCG, JSON, MarkdownCopy as hex, CSS or JSONOn the page
LocalhostYesYesNo
Logged-in pagesNo: it does not use your cookiesYes: it sees the page you have openNo

The CLI and the Chrome extensions run the same page-side measurements, so their results agree.

What can’t it see?

A local read sees what the page exposes once it has loaded. It cannot see what ran before that, which is where most interesting motion lives: every GSAP tween and its easing, the shaders a WebGL scene compiled, the 3D scene itself. A library bundled without a global is invisible to it, and motion says so instead of guessing. Colors that sit behind a click or a scroll position it does not reach are not seen either.

That gap is what Enrichr is for. enrichr deep stripe.com --tool animations sends the address to Enrichr, which hooks into the page before its own scripts run, and returns the timings. It costs one credit, and the free plan has 30 a month.

What does it send, and where?

The local commands send nothing. They open the address you gave in a browser on your machine, read it, and close the browser. There is no telemetry and no update check. The code is short enough to read in an afternoon, and the repository has a test that fails if any file other than the two that need the network starts making requests.

FAQ

How do I extract design tokens from a website on the command line?

Run npx enrichr-cli tokens stripe.com. It opens the page in the Chrome or Edge you already have, reads the computed styles of what rendered, and prints the colors, fonts, type scale, spacing, radii, shadows and the site’s CSS variables. Add -f css, -f tailwind or -f dtcg to get a file instead of a report.

Does the Enrichr CLI send my data anywhere?

Not unless you run enrichr deep. The other commands open the address you give in a browser on your machine and print the result: no telemetry, no account, no update check. deep sends the page address and the tool name to Enrichr, with your API key.

Does it need Chrome installed?

For the full read, yes: any of Chrome, Edge, Brave or Chromium. Without one, tokens, fonts and colors fall back to reading the page’s CSS, which is faster but cannot tell which colors cover the page or whether a font loaded.

Is the output exact?

The values are measured from the rendered page, not guessed. The roles are guessed: background, text and accent are picked from how much of the page each color covers, and the report says so. Token names describe rank or size, never the designer’s intent.

What does the CLI not show?

Anything that happened before the page finished loading: GSAP tweens and their easings, compiled WebGL shaders, the 3D scene. enrichr deep returns those through Enrichr, using the free plan’s 30 monthly credits.

Is it really free and open source?

Yes. It is MIT licensed with no dependencies. The only paid part is optional: enrichr deep uses Enrichr credits, and the free plan includes 30 a month with no card.