For product managers and founders

Capture any screen you can open in Chrome and paste it into Figma. Switch Data to Mock first and personal details are replaced inside your browser before anything is copied.

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
  • Diaany 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

Why product teams use it

An accurate canvas, without waiting on a designer.

Specs, research decks and what-if mockups all start with a true picture of the current product.

  • Mock data built in

    Names, emails, phone numbers, addresses, card numbers and other IDs, handles and avatars are replaced with realistic stand-ins before anything reaches the clipboard.

  • Consistent stand-ins

    Each person keeps one stand-in across every page and viewport, so a flow still reads like a real account.

  • Whole flows, linked

    Capture several pages and links between them become prototype connections you can present.

  • Nothing leaves your machine

    Extension captures go to your clipboard, local history and, if you choose, a file. Twinfig does not receive the content of pages you capture with the extension.

Without asking for a mockup

From a screen in Chrome to an editable frame.

If you can open it in your browser, you can capture it.

  1. Open the screen

    Sign in to your product as usual. The extension uses your own browser session, so admin pages and dashboards work.

  2. Switch Data to Mock

    Names, emails, phone numbers, addresses, card numbers, IDs and avatars are swapped for realistic stand-ins before the capture leaves the page.

  3. Capture and paste

    Press ⌥⇧P, then ⌘V in the Twinfig plugin. Text stays text, so you can change copy and rearrange sections right away.

  4. Share it

    Use the frame in a spec, a research deck or a what-if mockup. Stand-ins stay consistent across pages, so a flow still reads as one account.

In the product

What it looks like.

The Chrome extension with Data set to Mock and the Notionists avatar style, noting that names, emails, phones, addresses, IDs and avatars are swapped before anything leaves the page. Beside it, the plugin's capture settings with toggles for auto layout, components, design tokens, prototype links, reference screenshot and mock data.
Mock dataPersonal details are replaced in the browser, before the capture leaves the page.
The Twinfig Chrome extension popup. Capture modes Full page, Visible area, Element and Pages; viewports As is, 1440, 1024, 768 and 390; theme As is, Light, Dark or Both; data Real or Mock; states Default or All. Beside it, a Pages picker listing 30 pages found from links and the sitemap, with a /blog/ template collapsed to 2 of 24 pages and a Capture button.
Chrome extension: capture modesFull page, visible area, one element or several pages, at the viewports, themes and states you choose.

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.

Twinfig for FigmaFigma Community · PluginInstall Installed
Twinfig for ChromeChrome Web Store · ExtensionAdd Added
Pinned

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

Compared with other tools

Built for teams that design from what they ship.

How Twinfig lines up against the importers designers already know, and a plain screenshot.

CapabilityTwinfightml.to.designFigma’s extensionScreenshot
Import a live URLYesYesYesAs a flat image
Pages behind a login, localhostYour own browser sessionVia its extensionYour own browser sessionYes
Pick a single elementYesYesYesNo
Many viewports × light and dark in one runYesYesNot advertisedOne at a time
Repeated UI becomes componentsAcross every pageNot advertisedNot advertisedNo
Colors and type as variables and text stylesYesNot advertisedNot advertisedNo
Links become prototype connectionsYesNot advertisedNot advertisedNo
Storybook stories to component setsYesNot advertisedNot advertisedNo
Mock data for customer informationBefore it leaves the pageNot advertisedNot advertisedCaptured as is
Recapture a frame in placeYesNot advertisedNot advertisedTake a new one

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

What landed, and what's next.

Vote for what you want next. Shipped items are in the current build.

Asked for 2

  • Native iOS and Android

    Read the accessibility hierarchy from the simulator or emulator and pair it with screenshots.

  • Smarter components

    Group near-matches that differ only in text or icon into one component with properties, and detect variants.

In progress 1

  • Repo → Figma from inside Figma

    Paste a GitHub URL into the plugin and let the capture service run the same pipeline in the cloud.

Shipped 5

  • Repo → Figma

    Point the CLI at a repo. It installs, starts the dev server or Storybook, finds your routes and captures each one into a bundle for the plugin.

  • Light and dark as variable modes

    Capture a page in both themes and each color becomes one variable with Light and Dark modes; dark frames are pinned to Dark.

  • Interactive states

    Hover, focus, active and open menus or dialogs, captured from an element or a story and added as variants like State=Hover.

  • CSS grid → auto layout

    Equal-column grids become wrapping auto layout with the grid's gaps instead of absolute positions.

  • Expo and React Native on the web

    Apps running through their web target are detected, captured at phone widths and named from testID and roles.

FAQ

Questions designers ask.

Do I need Figma skills to use it?

You paste a capture into Figma and everything arrives as editable layers. Basic Figma editing is enough to update copy, swap images and rearrange sections.

Is the mock data safe to share?

Mock replacement happens in your browser before the copy. Review a capture before sharing it, as with any file that began as a real screen.

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 go through 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.