Websites and apps into Figma

Paste a URL or scan an entire site without leaving Figma, or capture anything you can open in Chrome. Twinfig rebuilds it the way a designer would: real text, exact auto layout, components and tokens.

Download for FigmaDownload for ChromeScroll to see the workflow

From localhost to Figma

Build the component in your editor, capture it from the browser, and paste it into Figma as a design you can keep refining.

A PlanCard React component is typed in an editor while it renders on localhost. The page is captured with Option-Shift-P, pasted into Figma with Command-V, and its corner radius and button fill are then edited in Figma.

Works with your stack

If it renders in Chrome, Twinfig can bring it into Figma.

  • Next.jslocalhost:3000
  • Vitelocalhost:5173
  • Reactany app
  • Astrolocalhost:4321
  • Nuxtlocalhost:3000
  • SvelteKitlocalhost:5173
  • Angularlocalhost:4200
  • Remixlocalhost:3000
  • Vuelocalhost:5173
  • Gatsbylocalhost:8000
  • Solidlocalhost:3000
  • Chromeany open tab
  • Storybooklocalhost:6006
  • Tailwindutility classes
  • Vercelpreview deploys
  • Webflowpublished sites
  • shadcn/uicomponent kits
  • Netlifydeploy previews
  • Framerpublished sites
  • Shopifystorefronts
  • Stagingbehind SSO
  • WordPresslive themes
  • Plain HTMLindex.html

What you get

Not a screenshot. A design you can work in.

Twinfig reads the rendered page the way a browser does, then rebuilds it the way a designer would.

Capture anything you can see

Public pages import straight from Figma. For everything else, use your own browser and session: a full page, the visible area, one element or several pages, with real customer data swapped for mock data on the way out.

In a logged-in dashboard the Twinfig popup opens, Data is switched to Mock, and the element picker moves from a name to a row to the whole customers table. The captured table arrives in Figma with names, emails, phones and avatars replaced.

Real layers, not fragments

Text stays text. Auto layout is applied only where it reproduces the page exactly, and repeated UI becomes components.

A typical import with hundreds of per-letter layers switches to Twinfig’s clean tree; the headline, an auto layout row and a button instance are inspected in turn.

Storybook in, component sets out

Open your Storybook, pick components, and every story becomes a variant. Themes and viewports become extra variant properties.

Button and Badge are picked in the Twinfig popup on a Storybook. Eight Button variants appear in a Figma component set across Light and Dark themes, then a Badge set, then the instance properties.

Tokens and prototypes, included

Colors used more than once become variables, type becomes text styles, and links between pages become prototype connections.

Captured colors, type and spacing appear as Figma variables, three pages are linked with prototype connections, and the prototype is presented from Pricing to Sign up.

The details

The small things a handoff depends on.

Settings live in both the plugin and the extension, so every capture comes out the way your team works.

Every viewport and theme

Capture 1920, 1440, 1024, 768 and 390 in light, dark or both. Each combination becomes its own frame.

Scan a whole site

Twinfig reads the sitemap and links, then groups template pages so you import three blog posts, not 412.

Mock data, consistently

Names, emails, phones and IDs swap for stand-ins. One person keeps one face everywhere, from any DiceBear style.

Check it against the browser

Every frame carries a hidden reference screenshot. Drag to compare the import with what Chrome rendered.

Recapture in place

Frames remember their URL, width, theme and language. Select one, recapture, and it updates where it sits.

Keyboard first

Capture without opening anything. Shortcuts work on any page, and the capture is on your clipboard when it’s done.

Private by default

Browser captures go to your clipboard and local history. Nothing is uploaded to capture a page you’re logged into.

Get started

Three steps from any site to your canvas.

  1. 1

    Install Twinfig

    Add the Figma plugin. Add the Chrome extension too for logged-in apps, localhost and Storybook.

  2. 2

    Pick what to capture

    In Figma, paste a URL and import the page or scan the whole site. In Chrome, press ⌥⇧P for the full page or ⌥⇧E to pick an element, then ⌘V in Twinfig.

  3. 3

    Refine it

    Everything lands as real layers, not a picture. Start designing.

Why Twinfig

A screenshot is a reference. Twinfig gives you a design.

FeatureScreenshotTypical HTML importTwinfig
TextPixelsLines split up or one layer per letterReal text layers with every style run
AnimationsWhatever frame was on screenOften caught mid-transitionFinished before capture
LayoutFlat imageAbsolute positionsAuto layout where it reproduces the page exactly
Repeated UINot availableCopies of copiesComponents with instances, across every page
Colors and typeNot availableHard-coded valuesVariables and text styles
Links between pagesNot availableNot availablePrototype connections
Whole sitesOne page at a timeOne page at a timeScan the site, pick pages, import them in one run
localhost and loginsYesUsually notYes, captured in your own browser
StorybookNot availableNot availableComponent sets, one variant per story
Customer dataCaptured as isCaptured as isSwapped for mock data on the way out

Compared with other tools

Built for teams that design from what they ship.

How Twinfig lines up against the importers designers already know.

CapabilityTwinfightml.to.designFigma’s Chrome extension
Import a live URLYesYesYes
Pages behind a login, localhostYour own browser sessionVia its extensionYour own browser session
Pick a single elementYesNot advertisedNot advertised
Many viewports × light and dark in one runYesViewportsNot advertised
Repeated UI becomes componentsAcross every pageNot advertisedNot advertised
Colors and type as variables and text stylesYesNot advertisedNot advertised
Links become prototype connectionsYesNot advertisedNot advertised
Storybook stories to component setsYesNot advertisedNot advertised
Mock data for customer informationBefore it leaves the pageNot advertisedNot advertised
Recapture a frame in placeYesNot advertisedNot advertised

Based on each tool’s public product pages as of October 2026. “Not advertised” means we couldn’t find the capability described, not that it can’t exist. html.to.design and Figma are trademarks of their owners.

Roadmap

Where Twinfig is going next.

These are planned, not shipped yet.

  • Planned

    GitHub repo → Figma

    Point Twinfig at a repo. It installs, starts the dev server or Storybook, finds your routes and captures each one.

  • Planned

    Light and dark as variable modes

    Pair each color with its dark-theme twin and write them as two modes of one variable.

  • Planned

    Interactive states

    Hover, focus, active, open menus and dialogs, added as variants like State=Hover.

  • Planned

    CSS grid → auto layout

    Simple grid layouts map to wrapping auto layout instead of absolute positions.

  • Planned

    Mobile apps

    Expo and React Native through the web pipeline first, then native iOS and Android from the simulator.

FAQ

Questions designers ask.

What is Twinfig?

Twinfig is a Figma plugin and a Chrome extension that turn any website or app into an editable Figma design. Import public pages, or a whole site, straight from Figma; capture anything else from Chrome. Pages arrive with real text layers, finished animations, exact auto layout, components, variables, text styles and prototype connections, not as a screenshot.

Can I import an entire website from inside Figma?

Yes. Type a URL in the plugin and choose Scan site. Twinfig finds the site’s pages from its sitemap or by following links, groups them by path and collapses repetitive templates such as blog posts, so you pick the pages that matter and import them in one run, linked as a prototype. No extension needed for public sites.

Does it work on localhost, staging and pages behind a login?

Yes. The Chrome extension captures in your own browser with your own session, so anything you can see works: dev servers, preview deploys, staging behind SSO and admin dashboards.

Do my captures leave my machine?

Not when you capture with the extension. The capture goes to your clipboard, your local history and, if you choose, a .twinfig file. The one network call is to DiceBear when mock avatars are on, and it sends only the mock name. Public website imports from the plugin use Twinfig’s capture service.

What about real customer data in a logged-in app?

Switch Data to Mock before you capture. Names, emails, phone numbers, addresses, card numbers and other IDs, handles and avatars are replaced with realistic stand-ins inside the browser, before anything reaches the clipboard. Each person keeps one consistent stand-in across every page and viewport.

Which frameworks are supported?

All of them, because Twinfig reads what Chrome renders: React, Next.js, Remix, Vue, Nuxt, Svelte, Astro, Tailwind, plain HTML and anything else that ends up in the DOM.

How does Storybook capture work?

Open your Storybook and click Twinfig. It reads the story index, you pick components, and every story is captured and combined into a Figma component set with one variant per story. If you capture more than one theme or viewport, those become extra variant properties.

Will it break my Figma file with thousands of layers?

No. Twinfig drops wrapper elements that only exist for layout, keeps text as whole text layers, turns repeated UI into instances and builds in small batches so Figma stays responsive. A typical marketing page arrives as a few hundred clean layers.

How is Twinfig different from a screenshot or other HTML-to-Figma importers?

A screenshot is a picture. Most importers give you absolute positions and text split into fragments. Twinfig rebuilds the page as a designer would: style runs inside real text, auto layout only where it matches the page exactly, components, tokens and prototype links.

Is Twinfig affiliated with Figma?

No. Twinfig is an independent product. Figma is a trademark of Figma, Inc.

Start from what’s live.
Finish it in Figma.