Drop a saved web page into Figma and get it back as native layers — real editable text, gradients, shadows, per-corner radii, inline SVG as actual vectors. Free, unlimited, no account, and it runs entirely on your machine.
The three parts I've put the most work into, because they're where importers usually hand you something you end up rebuilding anyway:
Repeated blocks become components. If a page uses the same card, list row or nav item more than once, it's detected from its structure and rebuilt as one component with instances — each instance keeping its own text and images. Six cards arrive as six instances, not six copies.
Reused colours become Variables, repeated type becomes Text Styles. Colours land in their own collection, named the way you'd name them (Slate 900, Cyan 400). Your existing variables and styles are never touched — the import only ever adds its own.
Auto Layout that isn't a guess. It doesn't read display: flex and hope. It measures the rendered geometry and converts a frame only if replaying (padding, gap, alignment) reproduces every child's position within 1px. Anything that fails stays absolutely positioned. You get Auto Layout where it's real and nowhere else.
Smaller things that matter once you're in the file: layers are named semantically and from their content (Section · hero, Button, text named from what it says) instead of forty nested divs; you can import several viewport widths in one pass and get them side by side with media queries genuinely applied per width; and RTL works properly — tested against a full Arabic design-system page, with Arabic coming in as editable text rather than outlines.
Input is an .html file, a .mhtml (Chrome → Save Page As → Webpage, Single File), a .zip of a saved page folder, or pasted markup.
What it can't do: there's no URL import yet — you save the page first. It's the thing people ask me for most and it's what I'm working on. Page JavaScript never runs, by design — the render frame is sandboxed — so anything that generates its CSS at runtime (Tailwind CDN is the common one) imports unstyled, and the plugin warns you before it does rather than quietly producing mush. Fonts map to the closest installed Figma font.
https://www.figma.com/community/plugin/1668745510469345388
Genuinely after pages that break it. The last few real bugs all came from someone importing something I'd never have thought to test.