Tutorial · 8 min read

How to Convert HTML to Figma: A Developer's Guide

Import a public URL or supply a complete HTML document with its CSS, then create editable nodes for supported content.

HF

HTML to Figma Team

Last reviewed: March 2026

HTML to Figma conversion uses a rendered webpage or a supplied HTML/CSS document to create native Figma nodes for supported text, shapes, images, and measured layout. Public URL capture can record browser-resolved output. Manual input can only compute styles that are included with or reachable from the supplied document.

Why Convert HTML to Figma?

Most design workflows flow one direction: Figma to code. A designer creates components, a developer ships them. But modern teams often need to go the other way — importing existing UI back into Figma to document a component library, hand off a legacy codebase, or sync a live product with its design system.

The manual path is painful. Recreating a single component by hand can take 20–40 minutes. For an entire design system with dozens of states and breakpoints, that's weeks of work just to have a starting point.

html2design addresses this workflow. Copy rendered HTML from browser DevTools, a local dev server, or another source, then paste it into the Figma plugin. Supported content becomes native, editable Figma layers with measured positions and sizes. Review fonts, media, effects, and complex layout against the browser source.

Prerequisites

Tip: html2design works with any HTML/CSS you can copy — including localhost builds, Storybook components, email templates, and internal tools that never touch a public URL. This is its key advantage over Chrome-extension-based tools.

Step-by-Step: Converting HTML to Figma

Step 1

Install the html2design plugin

Open Figma and go to the Community tab. Search for html2design or HTML to Figma. Click Install. Once installed, you'll find it under Plugins → html2design in any Figma file.

Step 2

Prepare a complete HTML and CSS input

For a public page, use the URL workflow so the capture browser can load its CSS and assets. For localhost or private content, export a complete HTML document that includes inline styles, <style> blocks, or reachable stylesheet links.

Copy outerHTML is not a self-contained visual export. It preserves markup and inline style attributes, but external stylesheets, framework-generated CSS, and values shown in the browser's Computed panel are not embedded in that fragment.

<div class="card" style="..."> <h2>Card Title</h2> <p>Some description text here.</p> <button>CTA</button> </div>
Step 3

Open html2design in Figma

In your Figma file, open the plugin via Main Menu → Plugins → html2design. The plugin panel opens on the right side of the canvas. Make sure you're logged in with your subscription active.

Step 4

Paste your HTML and convert

In the plugin panel, paste your copied HTML into the input field. Click Convert (or press Cmd+Enter). The plugin processes your markup and generates native Figma layers on the canvas.

For larger components, conversion typically takes 2–5 seconds. For full-page layouts with many elements, give it up to 15 seconds.

Step 5

Review and clean up the output

Select the generated frame on the canvas. Inspect the layers panel. You'll find:

Typical cleanup: rename layers to meaningful names, merge any redundant groups, and swap placeholder fills with your design system's tokens.

Tips for Better Conversions

Inline or package styles for complex layouts

When a component relies on CSS custom properties, CSS Modules, utility classes, or CSS-in-JS, export the generated stylesheet with the HTML or inline the resolved visual properties into the document. Pasting a plain list copied from DevTools' Computed panel is not valid CSS unless you attach those declarations to a selector or style attribute.

Work at the component level, not the page level

Converting an entire page at once produces a large, flat layer tree that's hard to organize. Instead, convert one component at a time — a card, a nav bar, a form — and assemble them in Figma manually. You'll get a cleaner, more maintainable file.

Use Figma's "Detach Instance" for final cleanup

After importing, the output is a standalone frame. If you want to turn it into a reusable component, select the frame and use Create Component (Cmd+Alt+K). Then refine props and variants as you normally would.

Manual import does not require a public URL. Copy or export rendered HTML from localhost:3000, localhost:6006 (Storybook), or another development server, then review external assets and fonts after import.

What Gets Converted — and What Doesn't

html2design handles the vast majority of production UI, but a few things need manual follow-up:

html2design vs. Alternatives

There are a few tools in this space. The main difference is how they access your UI:

For a deeper breakdown, read our full comparison of HTML to Figma tools.

Frequently Asked Questions

Can I convert HTML to Figma for free?

html2design is a paid plugin. Pricing starts at $12/month or $96/year. You can install it from the Figma Community and explore it before subscribing.

Does HTML to Figma work with localhost?

Yes. Export a complete HTML document from localhost, Storybook, or an internal tool and include the generated CSS and assets it requires. Manual input does not require the remote URL service.

Does it preserve CSS Flexbox layouts?

html2design reads the computed positions and sizes from Flexbox containers and recreates them as accurately positioned Figma frames. The visual layout — spacing, padding, and alignment — is preserved. Note that Flexbox containers are converted to fixed-position frames, not Figma Auto Layout. You can apply Auto Layout manually in Figma after import.

What about responsive designs?

html2design converts a static snapshot — what the HTML looks like at the moment you copy it. To capture a mobile layout, resize your browser window to mobile dimensions first, then copy the HTML from DevTools.

Key Takeaways


Related Articles

Try it now

Convert your first component

Install html2design from the Figma Community, paste supplied HTML, and review the resulting editable Figma layers.

Install from Figma Community →

$12/mo · $96/yr · Cancel anytime

← Back to Blog