Heuristic, best-effort analysis. Page rendering and forced light/dark mode match most sites, but some JS-themed apps don’t flip cleanly and HTML has endless variations. Something look off? Open an issue.

Design Analyzer v3.11.152

Rule-based scoring against WCAG, Material Design, and typography best practices. Checks computed styles — no AI, just evidence and math.

Enter a URL to analyze — works on phone, no console needed.

How it works
The page is fetched via a CORS proxy and rendered in a sandboxed iframe with its CSS. JavaScript runs on by default (most sites need it to render) — untick it below to render statically without executing any page scripts. Storage, cookies, and other sensitive APIs are always isolated while JS runs. Pages behind login, localhost, or sites that block proxies/framing need the Console Snippet tab instead.

Running locally? clone the repo, cd into it and start node server.js — then analyze http://localhost pages.

The page's JavaScript runs in a sandboxed frame — storage, cookies, and other sensitive APIs are blocked and logged. It's on by default because most sites need it to render. Untick “Run the page's JavaScript” above to render statically (no page scripts) for sites you don't recognize.
Prefer the Console Snippet (safer)
The console snippet runs in the page's own context with zero security concerns and full screenshot support. Open DevTools → Console, paste the snippet from the Console Snippet tab above.
Skip elements from analysis (optional)

Elements you skip (and everything inside them) won't be scored.
Useful for decorative UI mockups, screenshots, or third-party widgets.

1
Open the page you want to analyze in any browser (works with localhost, staging, pages behind login) The snippet analyzes the page as it is in your browser — set the window size and light/dark theme there. (The Viewport and Color‑scheme selectors above apply to URL mode only.)
2
Press F12 to open DevTools → Console tab Tip: undock DevTools ( → undock into separate window) so the page viewport stays at its real size.
3
Copy the snippet below, paste into the console, press Enter. The extracted JSON is copied to your clipboard automatically. With screenshots enabled, it captures the page and includes pixel data for contrast verification.
4
Come back here and paste (Ctrl+V) into the box below, then click Analyze. Fallback: if auto-copy failed, type copy(window.__milgData_json) in the console.

Extraction Snippet

JavaScript
Loading...

Paste extracted JSON

Paste copied markup from DevTools Elements when URL mode and the console snippet are blocked. This is a partial fallback for pages behind login, strict CSP, or private environments.

What this can and cannot see
The analyzer renders the pasted HTML in an isolated iframe and scores whatever survives. Relative URLs, private assets, file URLs, app runtime state, CSS loaded behind authentication, and JavaScript-generated behavior may be missing. It should not fail hard: missing resources are expected and the report will include a warning. For a more faithful result, export a self-contained HTML file with inline CSS/assets, or run the analyzer locally against a page you can serve from localhost.

Load a saved analysis

Drop a .milg or .json file here or click to browse.

Export & Share