How to Convert a Website to Figma (Editable Layers)
By @andymarrows · Updated · 7 min read
The short answer
To convert a website to Figma as editable layers, use a tool that reads the page's HTML and CSS instead of taking a picture of it: Figma's own Chrome extension (its code to canvas capture, on paid plans), the html.to.design plugin, or the Livery extension with the Livery for Figma plugin for a whole site, every page with its text, images, videos and fonts. A screenshot only gives you a flat image. Import other people's sites as private reference, not as something to ship.
What are the ways to turn a website into Figma?
There are four: paste a screenshot, capture the page with Figma's own Chrome extension, import it with the html.to.design plugin, or copy the whole site with the Livery extension and open it with the Livery for Figma plugin. Only the last three give you layers you can edit.
The tools that give editable layers all work the same way underneath. They read the page in a real browser, after its CSS has been applied, and turn each box into a frame, each run of text into a text layer and each picture into an image fill. They differ in how much of the site they take, what they build on top (styles, variables, components) and what they cost.
| Method | Editable text | Auto layout | Images | Several pages | Cost |
|---|---|---|---|---|---|
| Screenshot | No: one flat image | No | Part of the picture | One image per page | Free |
| Figma Chrome extension (code to canvas) | Yes, with font properties | Some auto layout properties | Not detailed in Figma's docs | One page or element per capture | Paid Figma plan; open beta |
| html.to.design | Yes, with local text styles | Optional, set up on import | Yes; high-resolution versions on Pro | Several URLs at once; batch import on Pro | Free plan with a monthly allowance; Pro |
| Livery extension + Livery for Figma | Yes, every styled run kept | Simple rows and components; the rest placed as measured | Image fills and components; SVGs as vectors; video | Whole site: 5 pages a copy free, 40 on Pro | Free plan; Pro |
Can you just paste a screenshot into Figma?
You can, but you get a picture, not a design. Text can't be edited, colours have to be picked by eye and every box has to be traced by hand. It's fine as a reference frame to design on top of, and that's all.
If a screenshot is all you have (a mock-up, a brand board, an app you can't open in a browser), a tool that reads the image is the next step up. Livery's image to design reads screenshots in the browser, with no AI model, and rebuilds them as editable Figma layers: text, frames with fills, corners, borders and shadows, and logos as vectors.
How do I use Figma's own website capture?
Install the Figma Chrome extension, sign in on a paid plan, open the page and capture it. Figma's help centre says code to canvas "turns on automatically once you're signed in to a paid plan", and that capturing is "currently gradually rolling out in open beta".
- 1Open the page in Chrome and choose Capture page, or pick a single element. Figma says the page capture "includes parts of the page that are scrolled out of view".
- 2Each capture goes to the extension's tray and is copied to your clipboard.
- 3Paste it into a Figma Design file or a FigJam board, where it lands as layers.
Figma lists two other routes to the same result: copying layers from a Figma Make preview, and the generate_figma_design tool on the Figma MCP server, which lets a coding agent send a running web app to a Figma file. Where your file already has variables, Figma tries to connect them to the pasted layers: colours, text properties such as font size and line height, and frame properties such as corner radius, padding and gap.
Figma is open about the limits: captures come in "as plain Figma layers with variables bound if any are available", there is "no component and styles mapping yet", pages with heavy JavaScript animation, canvas drawing or virtualised lists may capture imperfectly, and browser pages such as chrome:// can't be captured.
How does html.to.design work?
html.to.design is a Figma plugin with a companion browser extension. Paste a URL into the plugin (press Tab to add more and import several pages at once) and it builds the page as editable layers, with text and colour styles created as local styles.
- Auto layout: optional. Its docs say it "imports websites with advanced auto layout already set up for you, if you want it".
- Private pages: the browser extension captures pages behind a login and sends them to the plugin.
- Cost: a free plan with a monthly allowance of imports (12 a month on its docs page at the time of writing). Pro adds batch imports of many URLs and high-resolution images, under a fair use limit of 1,000 imports a month.
How do I copy a whole website into Figma with Livery?
Copy the site with the Livery browser extension, then import it with the Livery for Figma plugin. The extension takes every page with its text, images, videos and fonts; the plugin rebuilds it as a design system you can edit.
- 1Add the Livery extension (free on the Chrome Web Store; Edge, Brave and Arc work too).
- 2On the site, choose what to copy: this page, the whole site (this page and the pages it links to, up to your plan's limit), or a walkthrough recorded while you browse.
- 3In the Figma desktop app (any Figma plan), open Livery for Figma and sign in once. Your copies are waiting there, newest first.
- 4Pick a copy, choose what comes in (assets, motion, the walkthrough) and press Import.
What lands in Figma:
- Every page as a frame at its real size. Boxes keep their fills, borders, per-corner radii, shadows and opacity; text keeps each styled run (font, weight, size, line height, letter spacing, colour).
- Pictures as image fills, inline SVGs as vectors you can edit, and videos where your Figma plan plays video. Canvas drawings and embeds Figma can't rebuild are cut from the page's screenshot, so nothing goes missing.
- The site's colours as variables bound to the layers that use them, radii and spacing as variables, and its type as text styles in the site's own fonts. A font Figma doesn't have is set in Inter, and the plugin says which.
- Components with variants, sections, and a page for each foundation (colour, typography, icons, spacing, radius, shadows, motion).
- Links between copied pages as prototype clicks, so the copy navigates like the site.
Simple flex rows (a button, a label and its icon) and components come in as auto layout, so a longer label pushes what follows along. Everything else keeps its measured position, which keeps the page exact. Copies are private to your account; the free plan copies up to 5 pages at a time and Pro up to 40.
Is it legal to import someone else's website into Figma?
Importing a site to study it is common practice, but the text, photos, illustrations, logos and fonts in it still belong to their owners. The U.S. Copyright Office lists "the layout, format, or 'look and feel' of a web page" among things it won't register, while text, photographs and artwork on a site can be protected.
This is not legal advice, and the rules differ between countries. Use an imported copy as reference, replace its words, images, logo and any paid fonts with your own, and ask the owner when in doubt.
Our guide on copying a website's design explains where the line sits between style you can borrow and assets you can't.
Questions
- Can Figma import a website by itself?
- Yes. Figma's Chrome extension can capture a page or an element as editable layers, and the Figma MCP server's generate_figma_design tool does the same from a coding agent. Figma says code to canvas turns on when you're signed in to a paid plan.
- Will the website's fonts come through?
- Only if Figma has them. Figma's capture keeps font properties; Livery's plugin uses the site's fonts where Figma has them, sets the rest in Inter and tells you which. Install paid fonts only if you hold a licence.
- Can I import pages behind a login?
- Yes, with a browser extension that works in your own signed-in browser: html.to.design's extension and the Livery extension both copy the page you're looking at.
- Do animations come through?
- Figma notes that pages with heavy JavaScript animation may capture imperfectly. Livery's plugin adds the site's CSS transitions and animations as motion cards with their curves drawn, and their durations and easings as variables.
- What if I want the design in code, not in Figma?
- Make a Livery kit instead: it measures the site's colours, type, spacing, components and motion and writes a skill your coding agent can apply to your own project.
Sources
Try it on a site you love
Paste a link and get an installable design kit in about a minute. Free.
More guides
- State of Web Design: The Fonts, Colours and Themes Real Sites Use
- Why AI-Generated UI All Looks the Same (and How to Fix It)
- What Is an Agent Skill? SKILL.md Explained
- DESIGN.md vs SKILL.md vs tokens.json: What Should AI Agents Read?
- Best Design Skills for Claude Code, Cursor and Codex
- How to Extract Design Tokens from Any Website: 5 Methods Compared