FAQ

Frequently Asked Questions

Everything you need to know about HTML to Figma — from installation and pricing to framework support, workflow tips, and how it compares to alternatives.

Getting Started

What is HTML to Figma (html2design)?

Quick Answer: HTML to Figma (html2design) is a Figma plugin that converts HTML and CSS code into native, editable Figma layers — paste raw HTML from DevTools and get editable frames in seconds. No Chrome extension or live URL required.

You paste raw HTML into the plugin — copied from a live website, a local dev server, or a static file — and it generates Figma frames, text nodes, and rectangles that match the browser's computed layout. Every layer is fully editable in Figma without any plugin dependency.

No Chrome extension or live URL is required. It is used by over 2,000 designers and developers to bridge the gap between production code and design files.

Read the full guide →

How do I install the HTML to Figma plugin?

Open Figma and go to the Community tab (or visit the Figma Community page for html2design). Search for html2design or HTML to Figma. Click Install.

The plugin then appears under Main Menu → Plugins → html2design inside any Figma file. Installation takes under 30 seconds.

Which browsers does HTML to Figma support?

HTML to Figma works with any modern browser — Chrome, Firefox, Edge, and Safari. You use your browser to copy HTML from DevTools, then paste it into the plugin running inside Figma. No browser extension is required.

How much does HTML to Figma cost?

HTML to Figma (html2design) is a paid Figma plugin available from Figma Community. Pricing starts at $12 per month. You can install the plugin directly from Figma Community and begin converting HTML components into native Figma layers immediately after subscribing.

Do I need a paid Figma plan to use html2design?

No. html2design works with a free Figma account. You need any Figma account (free or paid) to install and run plugins. The html2design subscription is separate from your Figma plan — you do not need Figma Professional or Figma Organization to use the plugin.

Does html2design work in both Figma Web and Figma Desktop?

Yes. html2design runs identically in Figma Web (figma.com in your browser) and Figma Desktop (the Mac and Windows app). The plugin is sandboxed inside the Figma Plugin API in both environments, so there is no functional difference between the two.

Technical

Which CSS properties does html2design support?

html2design reads computed CSS values from the browser's rendering engine, including background colors and gradients, border colors, border radius, box shadows, opacity, font family, font size, font weight, line height, letter spacing, text alignment, text decoration, padding, margin, width, height, and absolute position.

Because it reads resolved values rather than source CSS, all CSS methodologies are supported: plain CSS, CSS Modules, CSS-in-JS, Tailwind, Bootstrap, Sass, and any other approach that compiles to standard CSS.

Does html2design work with React, Vue, Angular, and Svelte?

Yes. All major frontend frameworks compile to standard HTML and CSS in the browser. The process is the same regardless of framework: render the component in a browser, open DevTools, right-click the element → Copy → Copy outerHTML, paste into html2design. No source code changes are required.

This also applies to Next.js, Nuxt, Remix, Astro, and any other framework that outputs standard HTML. See specific guides for React and Tailwind + React.

Can I import Tailwind CSS components into Figma?

Yes. Tailwind utility classes compile to standard CSS before the browser renders them. When you copy a component's outerHTML from DevTools, all computed styles are included — your custom colors from tailwind.config.js, spacing scale values, shadows, and responsive variants. html2design reads those resolved values, not the class names.

Read the Tailwind to Figma guide →

Does html2design preserve Flexbox and CSS Grid layouts?

html2design reads computed positions (top, left, width, height) and sizes from the browser's rendered layout. Flexbox and Grid layouts are preserved visually — spacing, alignment, and padding are all maintained. The resulting Figma frames use absolute positioning rather than Figma Auto Layout. You can manually apply Auto Layout in Figma after import if you want responsive Figma frames.

Does html2design work with localhost and local development servers?

Quick Answer: Yes — html2design works with localhost because you paste raw HTML rather than providing a URL. No proxy, tunnel, or network configuration required.

It works with any local development server: localhost:3000, localhost:8080, localhost:6006 (Storybook), Vite dev server, Next.js dev server, or any other local environment.

Can I convert HTML email templates with html2design?

Yes. MJML, HTML email, and table-based email layouts can be imported. Open the email template in a browser (most email preview tools render standard HTML), copy the outerHTML, and paste into html2design. The resulting Figma layers preserve the table-based layout, fonts, and colors exactly as rendered in the browser.

Workflow

How do I capture hover, focus, and active states in Figma?

In Chrome DevTools, right-click the element in the Elements panel → Force State:hover (or :focus, :active, :visited). The browser applies the state styles. Copy outerHTML in that state and paste into html2design.

Each state becomes a separate Figma frame. Select all frames, right-click → Create Component Set to create a Figma Component with Variants.

How do I import dark mode variants into Figma?

Open Chrome DevTools → three-dot menu (⋮) → More Tools → Rendering → Emulate CSS media feature prefers-color-scheme → dark. The component re-renders with its dark-mode styles applied. Copy outerHTML and convert in html2design. Pair the light and dark frames as Figma Component Variants to create a complete dark-mode component in your design system.

How do I create Figma Component Variants from imported states?

Import each component state (default, hover, focus, dark mode, error, disabled) as a separate Figma frame using html2design. Select all imported frames on the canvas, right-click → Create Component Set. Figma groups them into a single component with Variants, which you can rename and connect to your design system tokens and styles.

Can teams use html2design together?

Yes. Each team member installs the html2design plugin on their own Figma account. The plugin subscription is per-seat. Teams use it to import components into shared Figma files, build design libraries from existing code, and keep Figma files in sync with production UI.

How do I use html2design for design handoff?

html2design is often used in reverse-handoff workflows: a developer imports the production UI into Figma so a designer can refine it, document it, or migrate it to a design system.

Typical workflow: (1) developer copies outerHTML of the live component, (2) pastes into html2design, (3) the resulting Figma frame becomes the source of truth for the designer's review. This eliminates manual recreation and ensures the Figma file reflects what is actually in production. See the developer handoff use case for a detailed walkthrough.

How large can the HTML be that I import?

There is no hard character limit on pasted HTML. A single component converts in 2–5 seconds. A full page section takes 8–15 seconds. A dense full page (entire body element of a complex app) typically takes 20–60 seconds. For best performance on large pages, import sections or individual components rather than the entire page at once.

Comparison

How is html2design different from taking a screenshot?

A screenshot produces a flat, non-editable image. html2design produces native Figma layers — frames, text nodes, rectangles, and vector shapes — that are fully editable in Figma. You can change text, recolor shapes, resize frames, move layers, and connect the result to your design system.

Screenshots cannot be edited at all; html2design imports are a starting point for design work. See the comparison page for a full breakdown.

How is html2design different from Figma Dev Mode?

Quick Answer: Figma Dev Mode goes Figma → code (helps developers read design specs). html2design goes code → Figma (imports production HTML into Figma). They work in opposite directions and solve different problems.

Figma Dev Mode helps developers read Figma designs (inspect measurements, copy CSS). html2design does the opposite — it imports production code into Figma so designers can work with it. Dev Mode requires a designer-created Figma file to exist first; html2design creates that Figma file from existing code when no design file exists.

How is html2design different from html.to.design?

html.to.design uses a Chrome extension to capture a live URL from the browser. html2design works by pasting raw HTML directly into the Figma plugin — no Chrome extension, no live URL, no network access required.

This means html2design works on localhost, Storybook, auth-gated pages, and any HTML you can copy from DevTools — including cases where html.to.design cannot access the page. See the full alternatives comparison →

When should I use html2design instead of rebuilding manually?

Use html2design whenever the production HTML and CSS already exist and you need an accurate Figma representation. A component that takes 20–40 minutes to recreate manually converts in under 30 seconds with html2design. A full page section that would take 2–4 hours converts in under a minute.

Main use cases: documenting existing UI, building a design system from a live codebase, keeping Figma files in sync with production, and reviewing code changes as a designer.

Is my HTML data sent to any server?

Quick Answer: No. All HTML processing happens locally inside the Figma Plugin API sandbox — no user HTML is ever sent to external servers.

The html2design plugin runs entirely inside the Figma Plugin API sandbox. This makes html2design safe to use with confidential internal tools, private staging environments, auth-gated pages, and proprietary source code.

Still have questions?

Ready to try it?

Install the plugin from Figma Community and convert your first component in minutes.