← Loupe

Lint any page against your design system — in the browser

Loupe audits the rendered DOM against a profile of your design system and flags raw colors, off-scale spacing, deprecated tokens, and colors that ignore dark mode — with click-to-locate and fix suggestions.

Source linters check the code you wrote. But design-system drift shows up in what actually rendered — a hardcoded grey that reached the DOM through three layers of indirection, a color that never changes when you toggle dark mode, spacing that skipped the scale. Loupe lints the live page against your design system, catching what source rules can't see.

What it checks

How it works

You teach Loupe your design system once with a profile — a JSON file listing your tokens (CSS variables + utility classes + light/dark values), component fingerprints, theme axes, and which lint rules to run. Import it in the DS panel, bind it to your app's origin, and press L to lint the page. Results group by severity with click-to-locate; a red/amber overlay marks each finding in place.

Built for teams

Profiles are yours to distribute — Loupe never bundles or uploads them. Host one at a URL and it auto-updates daily as your tokens ship. An organisation licence unlocks the Pro audits for everyone using your profile, with no individual accounts, plus optional reporting of findings to your own endpoint and a one-click "AI fix prompt" export for coding agents. See the authoring guide.

FAQ

How is this different from an ESLint plugin?

Source linters see code; Loupe sees what rendered. It catches hardcoded values that reach the DOM through indirection and colors that ignore dark mode — regardless of framework or build.

Is it free?

Design-system profiles and the Tokens/Components views are free. The DS Lint audit and dark-mode diff are part of Loupe Pro (7-day free trial); teams can cover everyone with one org licence.

Keep your design system honest.

Install Loupe, load your profile, and lint any page.

Add to Chrome — free