In under 2 minutes you will turn any public website into a complete set of design tokens: colors, typography, spacing, borders, and more. All you need is Node.js and a terminal.
Node.js — a free runtime that lets your computer run CLI tools like Dembrandt. Download it here (click the big green button, install like any app). If you've used npm before, you already have it.
A terminal — just a text window where you type commands.
Mac:⌘ Space → type Terminal → EnterWindows:⊞ Win → type cmd → Enter
2.Install
Open your terminal, paste the line below, and press Enter. You only need to do this once.
Terminal
npm i -g dembrandt
Takes about 30 seconds. You'll see some text scroll by — that's normal.
Dembrandt drives a real browser, and the browser itself downloads separately, so a fresh install does not have one yet. Run this before your first extraction:
Terminal
dembrandtinstall-browser
Installs the exact browser version Dembrandt drives. Skip it and the first run stops with "browser engine not available". Requires dembrandt 0.24.0 or later.
3.Run it
Pick any public website — a competitor, a brand you admire, or your own. Pass its address as the argument:
Terminal
dembrandtdembrandt.com
Dembrandt opens the site in a headless browser, reads every computed style, and prints the full design system in your terminal. Usually takes 10–30 seconds.
dembrandt.comexample.com
4.Output
The terminal prints a structured design system — colors, typography, spacing, borders, and shadows:
~ terminal
$ dembrandt dembrandt.com
✓ Extracted design system from dembrandt.com
✓ Colors: 12 found
#133174#38BDF8#EA580C#FFFFFF#06090F#8294A1
✓ Typography: 8 styles
• Heading: 48px / 36px / 24px
• Body: 16px / 14px / 12px
✓ Spacing: 12 tokens
4px • 8px • 12px • 16px • 24px • 32px • 48px...
✓ Shadows: 5 found
• 0 4px 8px rgba(0,0,0,0.1)
• 0 12px 24px rgba(0,0,0,0.15)
✓ Border radius: 4 values
4px • 8px • 12px • 16px
5.Flags
Add any of these to the end of your command:
--save-outputSave results as a JSON file on your computer
--brand-guideGenerate a brand guide PDF from any URL in 10 seconds
--design-mdExport a DESIGN.md file summarizing the extracted design system
--crawl 5Auto-discover and extract up to 5 pages via DOM links, merging into one output
--sitemapDiscover pages from sitemap.xml instead of DOM links
--dark-modeExtract the dark-mode design tokens (if the site has them)
--mobileExtract from a mobile viewport
--browser firefoxUse Firefox instead — helps with Cloudflare-protected sites
--dtcgExport tokens in W3C Design Tokens format
--tailwindWrite a Tailwind v4 @theme CSS file with the observed values only, ready to drop into a project's CSS entry point (default: output/<domain>/theme.css)
--shadcnWrite a shadcn/ui theme with the slots the page actually supplied, @theme inline mapping included. Slots the page never shows are named in the file header and left at shadcn's defaults (default: output/<domain>/shadcn.css)
--wcagAnalyze WCAG contrast ratios between palette colors
--color-format=oklchShow colors as hex, rgb, oklch, lch, or source (as authored), so you do not convert by hand. JSON output keeps every notation regardless
--slowMore reliable extraction for JavaScript-heavy SPAs
--screenshot path/to/file.pngSave a screenshot of the page during extraction
--no-sandboxDisable browser sandbox — needed for Docker or CI environments
--loginOpen a visible browser, sign in yourself (single sign-on, MFA, passkeys all work), press Enter, and the extraction continues as that user
--save-storage-state session.jsonWith --login, save the signed-in session (cookies, localStorage, sessionStorage) for later runs and CI
--cookie-file session.jsonReuse a saved session or a cookie export (JSON, Playwright storageState, Netscape cookies.txt) without signing in again
--basic-auth user:passwordHTTP Basic credentials for staging hosts behind a browser prompt
--key dmb_···Push the snapshot to your Dembrandt account, stored with a timestamp and kept as history for that domain. Drift is scored when you open the domain at dembrandt.com/app/extractions, against the previous snapshot or a baseline you pin. Generate a key at dembrandt.com/app/api-keys. A run that cannot reach the cloud exits 3, so a CI job that was asked to record drift and did not fails instead of passing quietly.
One setting is an environment variable rather than a flag: DEMBRANDT_ENFORCE_ROBOTS=1 makes a robots.txt disallow, or a robots.txt that cannot be read, skip the target and exit 4. Use it for scheduled jobs and server-side runs, where nobody is at the keyboard deciding what may be fetched. The default stays advisory: the check reports, the run continues.
6.AI Agent Integration (MCP)
Use Dembrandt as a tool inside Claude Code, Cursor, Windsurf, or any MCP-compatible editor. Your agent calls it automatically when you ask.
Wire the CLI into CI and every deploy records a snapshot to your account automatically. Generate an API key in the App, then pass it with --key. Each run uploads its snapshot and scores it against the previous one for that domain — the history builds itself.