Use Case · Design System Migration

Last reviewed: March 2026

Sketch to Figma —
Use Your HTML

Migrating from Sketch to Figma is faster when your design system already has HTML. Instead of recreating components manually or running a risky file converter, render each component in the browser and paste the HTML into the html2design plugin. The result is native Figma components that match your live production code — not a translation of a potentially stale Sketch file.

Why use HTML to migrate from Sketch to Figma?

Most Sketch-to-Figma migrations fail because they start from the Sketch file, not from the live product. Sketch files drift from the codebase over time — components get renamed, colors get tweaked in code but not in Sketch, spacing values diverge. When you import a stale Sketch file into Figma, you inherit all that drift.

The HTML approach starts from truth: the browser-rendered output of your real components. Every component you import via html2design is accurate to what your users actually see. This makes the Figma library a reliable handoff tool from day one — designers can iterate on components knowing the Figma frame represents the real thing.

The Sketch to Figma migration workflow

Four steps to migrate each component. Start with your highest-priority components and build the library incrementally.

Step 01

Inventory your components

List every component you need in Figma. Start with the core 20 components designers use for most screens: buttons, inputs, cards, modals, navigation, badges, icons, typography styles, and layout containers. Prioritize by frequency of use in design handoffs.

For each component, identify its HTML equivalent — a Storybook story, a page in your app, a component playground entry. If your design system has a Storybook, it is the ideal source: each story renders one component in isolation, in exactly the state you want.

Step 02

Render the component in the browser

Open the component in your browser — via Storybook, your local app, or a component playground. Set the exact state you want to capture: the default state, a hover or focus state, a loading state, an error state. The html2design plugin will import whatever the browser currently renders.

Open DevTools (F12), find the component's root element in the Elements panel, right-click it, and choose Copy > Copy outerHTML.

Step 03

Import into Figma via html2design

Open Figma, run the HTML to Figma plugin, paste the copied HTML, and click Generate. In seconds you will have a native Figma frame with editable layers, accurate fills, correct typography, and a layer structure that mirrors the component.

Repeat for each variant — primary button, secondary button, destructive button, disabled state. Import them as separate frames, then convert them into a Figma component set using Figma's native component tools. Your Figma component will have real variants grounded in production code.

Step 04

Organize and publish your Figma library

After importing your core components, organize them into a Figma library file, set up component properties, and publish to your team. Designers can immediately use the library to compose new screens — and every component they place is a faithful representation of what's in production.

When the codebase changes — a spacing update, a color refinement, a border radius tweak — simply re-import the affected components. The HTML-first approach makes updates faster than maintaining Sketch files because the source of truth is always the live code.

HTML import vs Sketch-to-Figma converters

Two approaches to migrating from Sketch to Figma — with very different results.

File converters start from the Sketch file — which may be stale

Sketch-to-Figma file converters (Figma's built-in import, third-party tools) translate Sketch's internal data format into Figma objects. If your Sketch file is out of sync with production — and it almost always is — the resulting Figma library inherits that drift. Designers get a library that doesn't match what engineers ship.

HTML import starts from the live product — which is always accurate

The html2design approach imports the browser-rendered output of your real components. Whatever your users see is exactly what lands in Figma. There is no drift because you are not translating between file formats — you are capturing the computed output of the browser at the moment of import.

When to use a file converter vs HTML import

Use a file converter when your design system exists only in Sketch with no corresponding HTML implementation. Use HTML import when your design system has a code implementation — any Storybook, React app, Vue app, or plain HTML component library. For teams with a code-based design system, HTML import produces more accurate Figma components with less cleanup.

What you get in Figma

Every component imported via html2design is a native Figma object — ready to become a published Figma component.

Production-accurate colors

Colors come from computed CSS — the exact values your production code applies. Not the colors in a Sketch file that may have been updated only on one side.

Real spacing and layout

Padding, gap, and margin values are read from the browser's computed layout — not approximated from a Sketch artboard. What the browser renders is what Figma gets.

Editable text layers

Every text node becomes a real Figma text layer with the correct font, size, weight, and color. Designers can update copy directly in Figma without losing the text styling.

Component-ready layer structure

The layer hierarchy mirrors the HTML structure. Named layers make it easy to identify elements and convert the imported frame into a proper Figma component with variants.

Frequently asked questions

How do I migrate my design system from Sketch to Figma?

Use your design system's HTML as the bridge. Render each component in the browser, copy its outerHTML from DevTools, and paste into the html2design Figma plugin. This produces Figma frames that match production code, not a potentially stale Sketch file.

Why use HTML instead of a Sketch-to-Figma converter?

File converters import from Sketch files that may have drifted from the codebase. HTML import uses the browser-rendered output of your real components — accurate to production, not to a potentially outdated design file.

Can I import my Sketch design system's HTML into Figma?

Yes. If your design system has a HTML component library (Storybook, a React/Vue app, or a component playground), you can render each component and import it via html2design. No Sketch file needed.

How long does a full design system migration take?

Each component import takes under two minutes. A core library of 20 components (buttons, inputs, cards, modals, navigation, badges, typography) takes under an hour. A full 100-component design system can be migrated incrementally over a few days.

What if my Sketch design system has no HTML equivalent?

If there is no HTML implementation, use a Sketch-to-Figma file converter as a starting point, then reconcile the Figma library against production code manually. For teams with a code implementation, html2design is faster and more accurate.

Related Guides

Start your Sketch to Figma migration today

Install html2design from the Figma Community — free to try. Import your first component in under two minutes.

Install Free on Figma Community

Free to try · $12/mo to unlock all features