Web to Figma means moving a rendered webpage onto the Figma canvas as editable layers or a flat visual reference. Figma's official Chrome extension captures the current browser page as design layers. html2design offers a separate Figma-plugin workflow: public URL capture with lossless Pixel or best-effort Editable output, plus manual import from a complete HTML document.
Why Import a Website into Figma?
The classic design workflow goes one direction: Figma files become shipped code. But modern teams constantly need to run it in reverse — capturing what's actually in production and pulling it back into Figma.
Common reasons engineers and designers do this:
- Legacy migration — documenting or redesigning a codebase that predates the design system, with no source Figma file
- Developer handoff audit — verifying that shipped components match the original design file spec
- Competitor analysis — pulling a competitor's UI into Figma to study spacing, type scale, and component patterns
- Design system kickstart — bootstrapping a Figma library from an existing product rather than rebuilding from scratch
- Prototyping from real data — using live component HTML as the starting point for a new design iteration
Figma doesn't have a built-in import-from-URL feature. You need a plugin. And not all plugins work the same way.
Three Current Web to Figma Workflows
Choose by where the page runs and whether fidelity or editability matters more.
Figma's official Chrome extension
Captures a webpage or selected element from the current browser tab and pastes it into Figma as design layers.
- ✓ Official Figma workflow
- ✓ Captures the current browser state
- ✗ Requires Chrome and an extension
html2design public URL capture
A remote browser loads a public URL, then returns lossless Pixel tiles or best-effort Editable nodes to the Figma plugin.
- ✓ Pixel and Editable modes
- ✓ No browser extension required
- ✗ Public HTTP or HTTPS pages only
Complete HTML input
Load a self-contained HTML document for local, private, or component-level content.
- ✓ Local and private source support
- ✓ Supplied markup stays separate from URL capture
- ✗ CSS and assets must be included or reachable
The official extension is the direct browser-state workflow. html2design differs by offering a plugin-only public URL path, a lossless Pixel option, and explicit complete-document input.
Developer note: html2design now supports both methods. Manual paste/file import does not send the supplied markup to its remote URL renderer. Direct URL import sends the requested public URL through html2design infrastructure so a remote browser can capture it. Use manual import for internal or proprietary UI.
How to Import a Website with html2design
Pick public URL capture or complete HTML input before you start.
Install the html2design Figma plugin
Open Figma. In the Community tab, search for html2design (also listed as "Jesse - HTML to Figma - Import Websites as Editable Designs"). Click Install. Requires an active subscription ($12/mo or $96/yr).
Choose a public URL or complete HTML document
Use a public URL when the remote browser can reach the page. Use a complete HTML document for:
- Your local dev server:
http://localhost:3000 - A Storybook story:
http://localhost:6006/?path=/story/... - Private staging or authenticated content
- Email templates and isolated components
Package CSS and assets with manual input
The manual document must include inline styles, <style> blocks, or stylesheet links the plugin can reach. Copying only an element's outerHTML does not include external or computed CSS.
Open the exported file in a clean browser tab first. If the export is unstyled there, fix the source package before importing it.
Choose the output and import
For a public URL, choose lossless Pixel or best-effort Editable mode. For manual input, load or paste the complete document and create editable nodes for supported content.
Editable output can include frames, text, fills, images, and supported visual effects. Complex media and browser-only regions may be rasterized or require cleanup.
Review and clean up the imported layers
Editable mode creates supported native nodes, while unsupported content may be rasterized or omitted. Common cleanup steps:
- Rename auto-generated layer names to match your component vocabulary
- Check flex container frames for spacing and alignment differences
- Detach and replace web fonts not in your Figma team library
- Remove any utility layers you don't need (e.g., invisible overflow wrappers)
Importing a Full Page vs. a Component
Full-page imports and component-level imports require different strategies.
Full page import
Use public URL capture for the page and selected viewport. Very large pages produce complex layer trees in Editable mode; Pixel mode is usually the better visual reference when individual nodes are not required.
Component-level import (recommended)
Export individual components with their CSS rather than isolated markup fragments. This gives you:
- Cleaner, more focused layer trees
- Faster conversion times
- Easier alignment with your existing Figma component library
- More control over what ends up in your design file
Pro tip: For a mobile variant, capture a public URL at the intended viewport or export a complete document with the responsive CSS included. Import each breakpoint as a separate static state.
What Gets Preserved — and What Doesn't
Preserved by html2design
- Supported typography, with possible font fallback and text-metric differences
- Measured positions and dimensions as Figma frames
- Supported colors, fills, borders, gradients, shadows, and opacity
- Border radius and opacity
- Accessible images and supported background images
- Supported SVG content, with raster fallback for complex regions
- Hydrated page content when public URL capture can load it
Not preserved (design decisions required)
- CSS animations and transitions — static snapshot only
- Hover states — copy the hover DOM separately if needed
- CSS Grid layout — falls back to absolute positioning
- Video, canvas, WebGL, and complex SVG — may be rasterized
- Fonts not available in Figma — fall back to Inter with a warning
Importing a Website vs. Importing Raw HTML
You might wonder: is there a difference between importing a website (live page) and converting raw HTML/CSS code?
Yes. Public URL capture runs the page in a remote browser. Manual input renders only the document you provide:
- From a public URL: the capture service loads JavaScript, CSS, fonts, and assets available to the remote browser.
- From manual HTML: the plugin receives exactly the HTML, CSS, and references in the supplied document.
The two paths have different privacy, fidelity, and runtime behavior. Use URL capture for public pages and a verified complete document for private content.
Comparing Alternatives
For a detailed breakdown of html2design vs. URL-based tools like html.to.design vs. manual recreation, see our full comparison page. The short version:
- html2design: manual paste/file input for local or private HTML, plus direct public URL capture in Pixel or Editable mode. No browser extension.
- Browser-extension tools: convenient when the desired state is already visible in a supported browser tab. Capabilities vary by extension and plan.
- Manual recreation: full control, no automation. Only practical for simple components or when pixel-perfect accuracy matters more than speed.
Frequently Asked Questions
Can I import a website into Figma for free?
Some browser-extension tools have free tiers or usage limits. html2design includes 10 trial conversions, then starts at $12/month. URL captures have daily plan allowances; manual HTML import uses a separate workflow.
Can I import a localhost website into Figma?
With html2design, export a complete HTML document from the local project and include its CSS and assets. Figma's official Chrome extension captures the current browser tab and may be the simpler browser-state workflow.
Does Figma have a native website import feature?
Figma now offers an official Chrome extension that captures webpages or selected elements as design layers. Third-party Figma plugins add other input and output choices.
Does importing a website preserve CSS Flexbox layouts?
Editable mode uses captured or locally computed geometry to create positioned Figma frames. Review spacing and alignment because browser Flexbox and Figma frames do not map one-to-one.
How long does it take to import a page?
Conversion time depends on DOM size, remote assets, fonts, SVG complexity, and the selected mode. Test representative pages in the trial instead of relying on a universal timing claim.
Key Takeaways
- ✓ Figma offers an official browser extension, and third-party plugins provide additional browser-tab, URL, HTML, and screenshot workflows
- ✓ html2design manual input is designed for localhost, staging, and authenticated pages whose rendered HTML you can copy
- ✓ Pixel mode favors visual reference; Editable mode favors native layers and may require cleanup
- ✓ Commonly preserved: text, layout, colors, borders, images, and SVG content where browser and Figma features map reliably
- ✓ Pricing: $12/month or $96/year; public URL capture has daily plan allowances
Related Articles
The Complete Guide to HTML to Figma Conversion (2026) →
The pillar guide covering every framework, every method, and every use case — all in one place.
How to Convert HTML to Figma: A Developer's Guide →
The core workflow — DevTools, code paste, and cleaning up the output in Figma.
How to Convert React Components to Figma Designs →
React renders to HTML — capture any component state from Storybook, Next.js, or localhost and import it directly.
Tailwind to Figma: Build a Design System from Your Tailwind Components →
Extract tokens as Figma Variables and convert your Tailwind component library to native Figma layers.
Bootstrap to Figma: A Migration Guide for Bootstrap Teams →
The same paste-from-DevTools approach for Bootstrap — grid, utilities, and responsive breakpoints included.
Use Case: Legacy Migration →
How teams use html2design to document and redesign legacy codebases without a source Figma file.
Use Case: Developer Handoff →
Audit shipped implementations against original designs — pull live HTML back into Figma to close the loop.
Try it now
Import your first page in a few manual steps
Paste a public URL or import a complete HTML document, then choose the result that fits your work.
Install from Figma Community →$12/mo · $96/yr · Cancel anytime