<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Crafttor Blog]]></title><description><![CDATA[Crafttor Blog]]></description><link>https://crafttor.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Mon, 02 Nov 2026 10:56:44 GMT</lastBuildDate><atom:link href="https://crafttor.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Build a Figma Code Layer From a Live Website With AI]]></title><description><![CDATA[Record a flow on a live page, copy it for Figma's AI, paste it into a code layer and press play. A step-by-step guide.]]></description><link>https://crafttor.hashnode.dev/build-a-figma-code-layer-from-a-live-website-with-ai</link><guid isPermaLink="true">https://crafttor.hashnode.dev/build-a-figma-code-layer-from-a-live-website-with-ai</guid><category><![CDATA[figma]]></category><category><![CDATA[AI]]></category><category><![CDATA[Web Development]]></category><category><![CDATA[UX]]></category><dc:creator><![CDATA[Sandeep Virk]]></dc:creator><pubDate>Mon, 02 Nov 2026 09:14:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae4d1bddcb8970c82677472/36c80014-49bc-44dc-82e6-732ec5e4fdc5.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This article first appeared on <a href="https://crafttor.com/blog/figma-code-layer-ai">crafttor.com</a>. It was written with AI assistance and checked against the product.</em></p>
<p>Figma's code layers run real code on the canvas, and Figma's AI can write that code for you. The hard part is telling the AI what the page actually looks like and does. Describe it in a sentence and you get a guess. Give it the page's real layout, colours, type and interactions and you get the page.</p>
<p>This guide shows how to do that with WebCapture's <strong>Copy for LLM</strong>: capture a live page, optionally record a click-through flow, and paste the result into a code layer's AI chat.</p>
<h2>What you need</h2>
<ul>
<li>The <a href="https://chromewebstore.google.com/detail/webcapture-to-figma/opmkeglngfoamamdiidbdjkkdhbgbcbc">WebCapture Chrome extension</a>.</li>
<li>A Figma file where code layers are available on your plan.</li>
<li>The page open in Chrome. It can be public, behind a login, or on your own machine.</li>
</ul>
<h2>Step by step</h2>
<ol>
<li><strong>Open the page in Chrome</strong> and close any cookie banner or popup, so it isn't part of the brief.</li>
<li><strong>Record a flow, if you want the layer to be interactive.</strong> Press <strong>Record flow</strong> in WebCapture and click through what should work: open a menu, switch a tab, answer a question. Press <strong>Stop</strong> when you're done. See <a href="https://crafttor.com/blog/record-website-user-flow">recording a website user flow</a>.</li>
<li><strong>Press Copy for LLM.</strong> WebCapture puts a brief on your clipboard: the page's layout tree, colours, fonts, every icon as SVG markup, each hover, transition and keyframe animation, and the recorded steps.</li>
<li><strong>In Figma, create a code layer and open its AI chat.</strong> Paste the brief and send it.</li>
<li><strong>Let it build, then press play.</strong> Hover the buttons, and click through the steps you recorded.</li>
</ol>
<p>In our own test, we recorded a 9-step flow on an interactive maths lesson: a wrong answer, then the right one. The brief was 76 KB. The code layer Figma's AI built from it showed the lesson's real colours and tiles, and played the recorded steps, including the wrong-answer state.</p>
<h2>Keep it a reproduction, not a redesign</h2>
<p>An AI with design skills will sometimes "improve" a page: a new colour scheme, a different font, reworded copy, an extra feature. The brief asks for an exact rebuild, but if the result drifts, say so plainly:</p>
<ul>
<li><em>"Keep the colours, fonts and copy exactly as in the brief. This is a reproduction, not a redesign."</em></li>
<li><em>"Don't add anything the brief doesn't describe."</em></li>
</ul>
<p>Two more tips. Build one screen first and check it before asking for the flow, since small fixes are easier early. And if the page's images live behind a login, they may not load inside the code layer; swap them for uploaded copies.</p>
<h2>What carries over</h2>
<ul>
<li><strong>Layout:</strong> every element's box, so the rebuild matches the page's spacing.</li>
<li><strong>Look:</strong> the exact colours, gradients, borders, shadows and corner radii.</li>
<li><strong>Type:</strong> font families, sizes, weights and line heights. Fonts that aren't on Google Fonts fall back to a similar one unless the AI is given the files.</li>
<li><strong>Icons:</strong> the page's own SVG markup, not look-alikes.</li>
<li><strong>Behaviour:</strong> hover states, transitions, keyframe animations, and each recorded step with what it showed, hid or changed.</li>
</ul>
<h2>AI rebuild or exported code layer?</h2>
<p>There are two ways to put a captured page in a code layer, and they suit different jobs:</p>
<ul>
<li><strong>Built by AI from the brief:</strong> new, readable code you can edit and extend in the code layer's chat. Best for prototypes you want to change.</li>
<li><strong>Exported from the WebCapture plugin:</strong> the captured page itself, running as it was captured, with no AI rewriting it. Best when it must match the page exactly. See <a href="https://crafttor.com/blog/website-to-figma-code-layer">turning a website into a code layer</a>.</li>
</ul>
<h2>FAQ</h2>
<h3>Does it work with Claude or ChatGPT instead?</h3>
<p>Yes. The same brief works in any AI chat that can write HTML and CSS. See <a href="https://crafttor.com/blog/rebuild-website-with-claude">rebuilding a website with Claude</a>.</p>
<h3>Do I need to record a flow?</h3>
<p>No. Without one, the brief still carries hover states and animations. A recorded flow adds the click-through steps.</p>
<h3>Can I use a page I'm logged in to?</h3>
<p>Yes. The extension captures the page in your own browser, so a dashboard or a lesson behind a login works. Images that need your login may not load in the code layer.</p>
<h3>Why does the AI version look slightly different from the page?</h3>
<p>The AI writes new code from a description, so small differences are normal, and custom fonts may be substituted. For a pixel-faithful copy, use the plugin's code-layer export instead.</p>
<p><strong>Turn a live page into a working code layer:</strong> <a href="https://chromewebstore.google.com/detail/webcapture-to-figma/opmkeglngfoamamdiidbdjkkdhbgbcbc">add WebCapture to Chrome</a>, then Copy for LLM. New to WebCapture? Start with <a href="https://crafttor.com/blog/website-to-figma">website to Figma</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Can You Import a Website Into Figma? Yes, Here Are the Ways]]></title><description><![CDATA[Yes, you can turn a live website into editable Figma layers. The four ways to do it, what comes across, and what doesn't.]]></description><link>https://crafttor.hashnode.dev/can-you-import-a-website-into-figma-yes-here-are-the-ways</link><guid isPermaLink="true">https://crafttor.hashnode.dev/can-you-import-a-website-into-figma-yes-here-are-the-ways</guid><category><![CDATA[figma]]></category><category><![CDATA[Web Design]]></category><category><![CDATA[UX]]></category><category><![CDATA[Design]]></category><dc:creator><![CDATA[Sandeep Virk]]></dc:creator><pubDate>Mon, 02 Nov 2026 09:11:52 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae4d1bddcb8970c82677472/247b2b2a-4d90-445a-b92d-1b2f88eb439e.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This article first appeared on <a href="https://crafttor.com/blog/can-you-import-a-website-into-figma">crafttor.com</a>. It was written with AI assistance and checked against the product.</em></p>
<p>Yes. Figma has no "open this URL" command in its File menu, but a live web page can become editable Figma layers: frames, real text, images and vector icons, not a flat screenshot. There are four ways to do it, and the right one depends on where the page is and what you want to do with it.</p>
<h2>The short answer</h2>
<ul>
<li><strong>A public page:</strong> paste its URL into a Figma plugin.</li>
<li><strong>A page behind a login, or on your own machine:</strong> capture it with a browser extension.</li>
<li><strong>A page you want to click through in Figma:</strong> turn it into a code layer.</li>
<li><strong>Only a screenshot:</strong> you can trace it or use AI, but you won't get the page's real structure.</li>
</ul>
<h2>Four ways to get a website into Figma</h2>
<h3>1. A plugin that fetches the URL</h3>
<p>You paste an address into a plugin inside Figma, it renders the page in a remote browser, and the layers land in your file. The <a href="https://www.figma.com/community/plugin/1688943241214350584/webcapture-to-figma">WebCapture plugin</a> works this way, and lets you pick Desktop, Tablet or a real phone width before you fetch. It's the quickest route for public pages. See <a href="https://crafttor.com/blog/url-to-figma">URL to Figma</a>.</p>
<h3>2. A browser extension that captures the page you're on</h3>
<p>A remote browser can't log in to your account, see a staging site behind a password, or reach <code>localhost</code>. A browser extension can, because it captures the page in your own browser, exactly as you see it. The <a href="https://chromewebstore.google.com/detail/webcapture-to-figma/opmkeglngfoamamdiidbdjkkdhbgbcbc">WebCapture Chrome extension</a> also records hover states and animations, and can <a href="https://crafttor.com/blog/record-website-user-flow">record a click-through flow</a>. See <a href="https://crafttor.com/blog/logged-in-page-to-figma">logged-in pages to Figma</a>.</p>
<p>Figma also has a Chrome extension of its own for this, part of its <a href="https://help.figma.com/hc/en-us/articles/40826832449303-Turn-webpages-into-editable-design-layers">Code to canvas</a> feature. Figma's help centre notes that its captures aren't mapped to library components, and that heavy JavaScript animation and canvas-drawn content may capture imperfectly.</p>
<h3>3. A code layer that runs the page</h3>
<p>Figma's code layers run real HTML, CSS and JavaScript on the canvas, so a captured page can keep working: hovers respond, animations play, and a recorded flow can be clicked through. You can build one from WebCapture's export, or by giving the capture to Figma's AI. See <a href="https://crafttor.com/blog/website-to-figma-code-layer">turning a website into a code layer</a> and <a href="https://crafttor.com/blog/figma-code-layer-ai">building a code layer with AI</a>.</p>
<h3>4. A screenshot, traced or given to AI</h3>
<p>Pasting a screenshot is instant, but it's one flat image. Tracing it by hand takes hours, and AI that redraws a screenshot has to guess the fonts, spacing and colours. Use this only when the page itself is out of reach.</p>
<h2>What comes across, and what doesn't</h2>
<p>A good import brings:</p>
<ul>
<li><strong>Layout,</strong> each element at the size and position the browser drew it.</li>
<li><strong>Real text,</strong> with the page's fonts matched to the fonts you have in Figma.</li>
<li><strong>Images, and SVG icons as vectors</strong> you can recolour.</li>
<li><strong>Colours, gradients, borders, shadows and corner radii.</strong></li>
</ul>
<p>What a frame can't hold:</p>
<ul>
<li><strong>Behaviour.</strong> A frame doesn't hover or animate. WebCapture records those with the layers, and a code layer plays them.</li>
<li><strong>Fonts you don't have.</strong> Figma can only use installed fonts, so missing ones fall back to a default.</li>
<li><strong>Some videos and canvas drawings,</strong> when the browser doesn't let a capture read them.</li>
<li><strong>Content that only appears after you click,</strong> unless you open it before capturing.</li>
</ul>
<h2>Common questions</h2>
<h3>Can you import the mobile version of a website?</h3>
<p>Yes, if the tool renders the page at phone width with a real mobile browser profile. Many sites serve a different layout to phones, and resizing a desktop capture won't show it. See <a href="https://crafttor.com/blog/import-mobile-website-into-figma">importing a mobile website into Figma</a>.</p>
<h3>Can you import a page you have to log in to see?</h3>
<p>Yes, with a browser extension, since it captures what's already open in your browser. A URL-fetching plugin can't sign in.</p>
<h3>Does it work with Webflow, Framer and Shopify sites?</h3>
<p>Yes. Each has a few quirks, such as appear effects, custom fonts and popups. See <a href="https://crafttor.com/blog/webflow-to-figma">Webflow to Figma</a>, <a href="https://crafttor.com/blog/framer-to-figma">Framer to Figma</a> and <a href="https://crafttor.com/blog/shopify-to-figma">Shopify to Figma</a>.</p>
<h3>Can you import HTML code rather than a live site?</h3>
<p>Yes. Open your local dev server in Chrome and capture the page with the extension. For a <code>file://</code> page, first turn on <strong>Allow access to file URLs</strong> for WebCapture on Chrome's extensions page. See <a href="https://crafttor.com/blog/html-to-figma">HTML to Figma</a>.</p>
<h3>Is it legal to import someone else's website?</h3>
<p>Capturing a public page for reference, research, or work you have permission for is common practice. Republishing someone else's design, copy or images as your own is not. When in doubt, ask the site's owner.</p>
<h3>Do the layers become components?</h3>
<p>Not automatically. You get frames, text, images and vectors, named after the page's elements. Turning repeated parts into components is a step you do in Figma.</p>
<p><strong>Try it on a page you know:</strong> <a href="https://www.figma.com/community/plugin/1688943241214350584/webcapture-to-figma">install the WebCapture plugin</a> for public pages, or <a href="https://chromewebstore.google.com/detail/webcapture-to-figma/opmkeglngfoamamdiidbdjkkdhbgbcbc">add the Chrome extension</a> for everything else. The full walkthrough is in <a href="https://crafttor.com/blog/website-to-figma">website to Figma</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Shopify to Figma: Import a Shopify Store as Editable Layers]]></title><description><![CDATA[Turn a live or password-protected Shopify store into editable Figma layers, and handle popups, carousels and theme fonts.]]></description><link>https://crafttor.hashnode.dev/shopify-to-figma-import-a-shopify-store-as-editable-layers</link><guid isPermaLink="true">https://crafttor.hashnode.dev/shopify-to-figma-import-a-shopify-store-as-editable-layers</guid><category><![CDATA[figma]]></category><category><![CDATA[shopify]]></category><category><![CDATA[ecommerce]]></category><category><![CDATA[Web Design]]></category><dc:creator><![CDATA[Sandeep Virk]]></dc:creator><pubDate>Mon, 02 Nov 2026 09:09:43 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae4d1bddcb8970c82677472/843b7475-9426-4505-beec-92fa1bf8022e.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This article first appeared on <a href="https://crafttor.com/blog/shopify-to-figma">crafttor.com</a>. It was written with AI assistance and checked against the product.</em></p>
<p>Redesigning a Shopify theme usually starts with a store that's already live, and often with no Figma file that matches it. Importing the store gives you its real layout, type and images to design on, instead of screenshots to trace.</p>
<p>This guide shows how to bring a Shopify store into Figma as editable layers with WebCapture, using a real capture of the Allbirds store, which runs on Shopify, as the example.</p>
<h2>How to import a Shopify store</h2>
<h3>A live store</h3>
<ol>
<li>Open the <a href="https://www.figma.com/community/plugin/1688943241214350584/webcapture-to-figma">WebCapture plugin</a> in Figma.</li>
<li>Paste the store's address: its own domain or its <code>.myshopify.com</code> address. A collection or product page works as well as the home page.</li>
<li>Choose <strong>Desktop</strong>, <strong>Tablet</strong> or <strong>Mobile</strong>, and press <strong>Fetch</strong>.</li>
</ol>
<p>The page is rendered in a remote browser and imported straight into your file. Fetching runs on Apify, so add your own Apify API token once; a free Apify account is enough to start.</p>
<h3>A password-protected store, or a theme preview</h3>
<p>Development stores sit behind a storefront password, and an unpublished theme is only visible in a preview. A remote browser can't see either. Open the page in Chrome instead, and capture it with the <a href="https://chromewebstore.google.com/detail/webcapture-to-figma/opmkeglngfoamamdiidbdjkkdhbgbcbc">WebCapture Chrome extension</a>, which takes the page exactly as you see it. The same goes for a store that blocks automated browsers: if Fetch fails, capture it with the extension.</p>
<h2>What came across from the Allbirds store</h2>
<p>We captured the Allbirds home page at 1440px wide on 2 November 2026. The page is 3,662px tall, and the capture held:</p>
<ul>
<li><strong>623 layers:</strong> 111 text layers, 17 images and 24 vector icons.</li>
<li><strong>13 hover states</strong> and <strong>58 links</strong>, which the plugin can carry over as prototype connections.</li>
<li><strong>7 pinned elements:</strong> 2 sticky, such as the header, and 5 fixed to the window.</li>
</ul>
<h2>What to know about Shopify stores</h2>
<h3>Close the popups first</h3>
<p>The store greeted our capture with a "Where are we shipping to?" region selector, and it came into Figma as part of the page. Shopify stores are full of these: region and currency pickers, newsletter offers, cookie notices and chat widgets. With the extension, close them before you capture. With the plugin, delete their layers after the import.</p>
<h3>Carousels keep the slides you can see</h3>
<p>The page had 41 images in its markup, and 17 came into the capture. Product sliders hide the slides that are out of view, and those aren't imported. If you need every product, capture a collection page, where the products sit in a grid, or scroll the slider to the slides you want before capturing with the extension.</p>
<h3>Pinned bars and widgets</h3>
<p>The sticky header and the floating widgets are recorded as sticky or fixed, and placed where they sit at the top of the page. In Figma they're ordinary layers. A theme's slide-out cart can come along too, sitting just outside the frame; delete it, and any chat or shopping-assistant widgets you don't want in the design.</p>
<h3>Theme fonts</h3>
<p>This store's type is set in Geograph, Akkurat Mono and Self Modern, all commercial fonts, plus Barlow from Google Fonts. Figma can only use fonts it has, so the plugin falls back to Inter, at the closest weight, for anything missing. If your theme uses a licensed font, install it on your computer before importing and use the Figma desktop app.</p>
<h3>Animations</h3>
<p>The store's 3 CSS animations all belonged to its shopping-assistant widget. Hover states and animations are recorded with each layer. A frame can't play them, but a <a href="https://crafttor.com/blog/website-to-figma-code-layer">code layer</a> can.</p>
<h2>Mobile first, if your traffic is</h2>
<p>For most stores, most visits come from phones, and themes change a lot at mobile width. Choose <strong>Mobile</strong> and the store is rendered at phone width with a real mobile browser profile, so you get the mobile theme, not a squeezed desktop. See <a href="https://crafttor.com/blog/import-mobile-website-into-figma">importing a mobile website</a>.</p>
<h2>FAQ</h2>
<h3>Can I import a competitor's store?</h3>
<p>You can capture any public page. Use it for research and reference, and don't republish someone else's design or product photos as your own.</p>
<h3>Does it work on a password-protected development store?</h3>
<p>Yes, with the Chrome extension: enter the storefront password in Chrome, then capture the page.</p>
<h3>Will Shopify sections become Figma components?</h3>
<p>No. You get frames, text, images and vectors, named after the page's elements. Making components out of repeated product cards is a step you do in Figma.</p>
<h3>Can I capture the cart or checkout?</h3>
<p>The extension captures any page you can open in Chrome, including a cart with items in it.</p>
<p><strong>Bring your Shopify store into Figma:</strong> <a href="https://www.figma.com/community/plugin/1688943241214350584/webcapture-to-figma">install the WebCapture plugin</a>, or <a href="https://chromewebstore.google.com/detail/webcapture-to-figma/opmkeglngfoamamdiidbdjkkdhbgbcbc">add the Chrome extension</a> for development stores. New to it? Start with <a href="https://crafttor.com/blog/website-to-figma">website to Figma</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Framer to Figma: Import a Framer Site as Editable Layers]]></title><description><![CDATA[Bring a live Framer site into Figma as frames, text and vectors. What came across from framer.com: appear effects, videos and fonts.]]></description><link>https://crafttor.hashnode.dev/framer-to-figma-import-a-framer-site-as-editable-layers</link><guid isPermaLink="true">https://crafttor.hashnode.dev/framer-to-figma-import-a-framer-site-as-editable-layers</guid><category><![CDATA[figma]]></category><category><![CDATA[framer]]></category><category><![CDATA[Web Design]]></category><category><![CDATA[UX]]></category><dc:creator><![CDATA[Sandeep Virk]]></dc:creator><pubDate>Mon, 02 Nov 2026 09:07:35 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae4d1bddcb8970c82677472/63efa7a9-93f0-4bd6-9396-6810029c87e7.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This article first appeared on <a href="https://crafttor.com/blog/framer-to-figma">crafttor.com</a>. It was written with AI assistance and checked against the product.</em></p>
<p>Framer sites are often designed straight in Framer, so there may be no Figma file to go back to. When you need one, for a redesign, a design review or a pitch, you can import the live site instead of rebuilding it by hand.</p>
<p>This guide shows how to bring a Framer site into Figma as editable layers with WebCapture, using a real capture of framer.com, which is built in Framer, as the example.</p>
<h2>How to import a Framer site</h2>
<h3>A published site</h3>
<ol>
<li>Open the <a href="https://www.figma.com/community/plugin/1688943241214350584/webcapture-to-figma">WebCapture plugin</a> in Figma.</li>
<li>Paste the site's address: its custom domain, or its <code>.framer.website</code> address.</li>
<li>Choose <strong>Desktop</strong>, <strong>Tablet</strong> or <strong>Mobile</strong>, and press <strong>Fetch</strong>.</li>
</ol>
<p>The page is rendered in a remote browser and imported straight into your file. Fetching runs on Apify, so add your own Apify API token once; a free Apify account is enough to start.</p>
<h3>A site that isn't public yet</h3>
<p>For a password-protected or unpublished page, use the <a href="https://chromewebstore.google.com/detail/webcapture-to-figma/opmkeglngfoamamdiidbdjkkdhbgbcbc">WebCapture Chrome extension</a>. It captures the page you're viewing in your own browser, then you paste the result into the plugin.</p>
<h2>What came across from framer.com</h2>
<p>We captured framer.com's home page at 1440px wide on 2 November 2026. It's a long page, 13,403px tall, and the capture held:</p>
<ul>
<li><strong>3,529 layers:</strong> 518 text layers, 163 images and 184 vector icons.</li>
<li><strong>5 videos</strong>, <strong>12 hover states</strong> and <strong>12 scroll reveals</strong>, recorded with the layers they belong to.</li>
<li><strong>4 pinned elements</strong> and <strong>145 links</strong>, which the plugin can carry over as prototype connections.</li>
</ul>
<h2>What to know about Framer sites</h2>
<h3>Appear effects come in visible</h3>
<p>Framer's appear and scroll effects keep sections invisible until you scroll to them. Imported naively, those sections would arrive in Figma as nothing at all. WebCapture recognised all 12 of framer.com's as Framer Motion reveals and imported them visible.</p>
<p>One trade-off: if a reveal also slides content in, the capture can't always know its final position, so a revealed block may sit a little lower than it settles on the live page. Nudge it into place if it matters.</p>
<h3>Some videos arrive without a picture</h3>
<p>Of the 5 videos on framer.com, 4 came in as empty frames at the video's size. The browser didn't let the capture draw their current picture. The capture records a warning for each one, and keeps the video's address so it can still be embedded. Drop a poster image into those frames, or note them for the developer.</p>
<h3>Fonts</h3>
<p>framer.com uses Inter for most of its text, which Figma has, so those layers match directly. Its other faces, GT Walsheim and Input Mono, are commercial fonts. Figma can only use fonts it has, so the plugin falls back to Inter, at the closest weight, for anything missing. If your site uses a licensed font, install it on your computer before importing and use the Figma desktop app.</p>
<h3>The cookie banner comes too</h3>
<p>The capture takes the page as it is on screen, so framer.com's cookie notice arrived as a layer. Dismiss banners before capturing with the extension, or delete the layer after.</p>
<h3>Interactions</h3>
<p>Hover states, transitions and CSS animations are recorded with each layer. A Figma frame can't play them, but a <a href="https://crafttor.com/blog/website-to-figma-code-layer">code layer</a> can. More in <a href="https://crafttor.com/blog/hover-states-animations-to-figma">capturing hover states and animations</a>.</p>
<h2>Large pages</h2>
<p>A long Framer page with thousands of layers imports fine, it just takes longer. If you only need one part of it, import once and delete what you don't need, or capture at <strong>Desktop</strong> first and add <strong>Mobile</strong> only when you need it.</p>
<h2>FAQ</h2>
<h3>Can I import a Framer template I bought?</h3>
<p>If it's published as a site, yes, the same way as any Framer site. Check the template's licence for how you may reuse the design.</p>
<h3>Do Framer components become Figma components?</h3>
<p>No. You get frames, text, images and vectors, named after the page's elements. Making components out of repeated parts is a step you do in Figma.</p>
<h3>Does it capture the mobile breakpoint?</h3>
<p>Yes. Choose <strong>Mobile</strong> and the page is rendered at phone width with a real mobile browser profile, so Framer serves its mobile layout. See <a href="https://crafttor.com/blog/import-mobile-website-into-figma">importing a mobile website</a>.</p>
<h3>Can an AI rebuild the Framer page as code?</h3>
<p>Yes. The extension's Copy for LLM button gives Claude, ChatGPT or Figma's own AI the layout, colours, fonts and every interaction. See <a href="https://crafttor.com/blog/rebuild-website-with-claude">rebuilding a website with Claude</a>.</p>
<p><strong>Bring your Framer site into Figma:</strong> <a href="https://www.figma.com/community/plugin/1688943241214350584/webcapture-to-figma">install the WebCapture plugin</a>, or <a href="https://chromewebstore.google.com/detail/webcapture-to-figma/opmkeglngfoamamdiidbdjkkdhbgbcbc">add the Chrome extension</a> for pages that aren't public. New to it? Start with <a href="https://crafttor.com/blog/website-to-figma">website to Figma</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Webflow to Figma: Import a Webflow Site as Editable Layers]]></title><description><![CDATA[Turn a published or staging Webflow site into editable Figma layers. What came across from webflow.com, and the three things to fix first.]]></description><link>https://crafttor.hashnode.dev/webflow-to-figma-import-a-webflow-site-as-editable-layers</link><guid isPermaLink="true">https://crafttor.hashnode.dev/webflow-to-figma-import-a-webflow-site-as-editable-layers</guid><category><![CDATA[figma]]></category><category><![CDATA[webflow]]></category><category><![CDATA[Web Design]]></category><category><![CDATA[UX]]></category><dc:creator><![CDATA[Sandeep Virk]]></dc:creator><pubDate>Mon, 02 Nov 2026 09:05:08 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6ae4d1bddcb8970c82677472/4907f705-89ff-42dc-9b48-7a29f60b1669.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This article first appeared on <a href="https://crafttor.com/blog/webflow-to-figma">crafttor.com</a>. It was written with AI assistance and checked against the product.</em></p>
<p>Webflow's official Figma plugin moves designs from Figma into Webflow. Going the other way is just as common: a redesign of a site that has drifted from its Figma file, a client site you inherited with no design file at all, or an audit of what's actually live.</p>
<p>This guide shows how to bring a Webflow site into Figma as editable layers with WebCapture, using a real capture of webflow.com, which is built in Webflow, as the example.</p>
<h2>Two ways in</h2>
<h3>A published site: paste the URL into the plugin</h3>
<ol>
<li>Open the <a href="https://www.figma.com/community/plugin/1688943241214350584/webcapture-to-figma">WebCapture plugin</a> in Figma.</li>
<li>Paste the site's address, either its custom domain or its <code>.webflow.io</code> address.</li>
<li>Choose <strong>Desktop</strong>, <strong>Tablet</strong> or <strong>Mobile</strong>, and press <strong>Fetch</strong>.</li>
</ol>
<p>The page is rendered in a remote browser and imported straight into your file. Fetching runs on Apify, so add your own Apify API token once; a free Apify account is enough to start. See <a href="https://crafttor.com/blog/url-to-figma">URL to Figma</a> for the details.</p>
<h3>A staging site behind a password: use the Chrome extension</h3>
<p>A remote browser can't get past a site password. The <a href="https://chromewebstore.google.com/detail/webcapture-to-figma/opmkeglngfoamamdiidbdjkkdhbgbcbc">WebCapture Chrome extension</a> captures the page you're looking at instead, so open the staging site, enter the password, capture, and paste the result into the plugin. The same works for any <a href="https://crafttor.com/blog/logged-in-page-to-figma">page behind a login</a>.</p>
<h2>What came across from webflow.com</h2>
<p>We captured webflow.com's home page at 1440px wide on 2 November 2026. The page is 7,648px tall, and the capture held:</p>
<ul>
<li><strong>1,178 layers:</strong> 240 text layers, 49 images, 17 vector icons and 4 videos, each video with its current frame.</li>
<li><strong>154 hover states</strong>, 3 CSS animations and 6 scroll reveals, recorded with the layers they belong to.</li>
<li><strong>2 pinned elements</strong> (the sticky navigation bar and the fixed "Made in Webflow" badge) and <strong>104 links</strong>, which the plugin can carry over as prototype connections.</li>
</ul>
<p>Layers are named after the page's elements and classes, so the class names you gave things in the Designer show up in Figma's layers panel.</p>
<h2>Three things to fix first</h2>
<h3>1. Fonts</h3>
<p>Every text layer on webflow.com is set in WF Visual Sans, Webflow's own typeface. Figma can only use fonts it has, so the plugin matches each one against the fonts available to you and falls back to Inter, at the closest weight, for anything missing.</p>
<p>If your site uses a licensed custom font, install it on your computer before you import, and use the Figma desktop app. Google Fonts come across directly.</p>
<h3>2. Webflow Interactions</h3>
<p>Webflow Interactions run in JavaScript. WebCapture records the parts that live in CSS: hover states, transitions and keyframe animations. Sections that an interaction hides until you scroll are brought in visible, so they don't go missing.</p>
<p>What it can't replay is a timeline driven by script. That element lands in Figma as it was at the moment of capture. To see how the page behaves, put it in a <a href="https://crafttor.com/blog/website-to-figma-code-layer">code layer</a>, where the recorded hovers and animations play.</p>
<h3>3. Badges and banners</h3>
<p>The capture takes the page as it is on screen. On webflow.com that included the "Made in Webflow" badge, pinned to the corner, which arrived as its own layer. Cookie banners and popups can come in the same way. Dismiss them before you capture with the extension, or delete those layers after the import.</p>
<h2>Tablet and mobile</h2>
<p>Webflow sites change layout at their breakpoints. Choosing <strong>Tablet</strong> (820px) or <strong>Mobile</strong> in the plugin renders the page at that width with a real mobile browser profile, so you get the layout the site actually serves, not a squeezed desktop. More on that in <a href="https://crafttor.com/blog/import-mobile-website-into-figma">importing a mobile website</a>.</p>
<h2>FAQ</h2>
<h3>Can I import a Webflow site I don't own?</h3>
<p>You can capture any public page. Use it for reference, research or work you have permission for, and don't republish someone else's design as your own.</p>
<h3>Does it work with a password-protected staging site?</h3>
<p>Yes, with the Chrome extension. It captures the page in your own browser, after you've entered the password.</p>
<h3>Will my Webflow components become Figma components?</h3>
<p>No. You get frames, text, images and vectors, named after the page's elements. Turning repeated parts into components is a step you do in Figma.</p>
<h3>Can I import every page of the site at once?</h3>
<p>One page per import. Fetch each page you need; recent URLs are remembered in the plugin, so re-capturing at a second width is quick.</p>
<p><strong>Bring your Webflow site into Figma:</strong> <a href="https://www.figma.com/community/plugin/1688943241214350584/webcapture-to-figma">install the WebCapture plugin</a>, or <a href="https://chromewebstore.google.com/detail/webcapture-to-figma/opmkeglngfoamamdiidbdjkkdhbgbcbc">add the Chrome extension</a> for staging sites. New to it? Start with <a href="https://crafttor.com/blog/website-to-figma">website to Figma</a>.</p>
]]></content:encoded></item><item><title><![CDATA[PSD to Figma: Import Photoshop Files as Editable Layers]]></title><description><![CDATA[Convert PSD and PSB files to native Figma layers: live text, vector shapes, masks and layer effects. Four import modes, batch import, export back to PSD.]]></description><link>https://crafttor.hashnode.dev/psd-to-figma-import-photoshop-files-as-editable-layers</link><guid isPermaLink="true">https://crafttor.hashnode.dev/psd-to-figma-import-photoshop-files-as-editable-layers</guid><category><![CDATA[figma]]></category><category><![CDATA[photoshop]]></category><category><![CDATA[Design]]></category><category><![CDATA[tools]]></category><dc:creator><![CDATA[Sandeep Virk]]></dc:creator><pubDate>Sat, 31 Oct 2026 06:18:38 GMT</pubDate><content:encoded><![CDATA[<p><img src="https://crafttor-admin.s3.amazonaws.com/blog_content/2026/10/31/psd-to-figma-s1-2x.jpg" alt="Flat is over: a flattened PSD card splitting into editable layers" /></p>
<p>Most "PSD to Figma" tools give you a picture. You import a mockup, and every button, headline and shadow is frozen into one image. Then you rebuild it by hand, pixel by pixel, guessing the font and eyedropping the colours.</p>
<p><strong>PSD to Figma</strong> takes the other road. It reads the Photoshop file itself, layer by layer, and rebuilds it as native Figma nodes. Text stays text. Shapes stay shapes. Groups stay groups. Masks and layer styles come along for the ride.</p>
<h2>What comes through as editable</h2>
<p>Drop a <code>.psd</code> or <code>.psb</code> on the plugin and you get:</p>
<ul>
<li><strong>Live text</strong>: font, size, weight, line height and colour. If the font isn't in Figma, the text falls back to Inter and the plugin names the missing font.</li>
<li><strong>Vector shapes</strong>: rectangles, ellipses and paths, with fills, strokes and gradients.</li>
<li><strong>Masks</strong>: vector masks and clipping masks, recreated as Figma masks.</li>
<li><strong>Layer effects</strong>: drop and inner shadows, glows, strokes, colour and gradient overlays.</li>
<li><strong>Groups as frames</strong>: names, opacity, blend modes and visibility preserved.</li>
<li><strong>Repeated smart objects</strong> become one component with instances.</li>
</ul>
<p>Anything Figma has no equivalent for (Bevel &amp; Emboss, warped text, adjustment layers) is baked as an image <strong>and listed in the import report</strong>, so nothing fails silently.</p>
<p><img src="https://crafttor-admin.s3.amazonaws.com/blog_content/2026/10/31/psd-to-figma-s2-2x.jpg" alt="What converts to editable layers" /></p>
<h2>Pick how deep to go</h2>
<ol>
<li><strong>Fully editable</strong>: text, shapes, masks, gradients and styles as native layers.</li>
<li><strong>Editable text</strong>: live text, everything else as crisp images.</li>
<li><strong>Layers as images</strong>: each layer as its own image, structure kept.</li>
<li><strong>Flattened</strong>: one image of the whole file.</li>
</ol>
<p>Batch import works too: drop ten PSDs at once and each becomes its own page.</p>
<p><img src="https://crafttor-admin.s3.amazonaws.com/blog_content/2026/10/31/psd-to-figma-s4-2x.jpg" alt="Four import modes" /></p>
<h2>It goes both ways</h2>
<p>Select frames in Figma and export them as a PSD: editable (real text layers and groups), layers, or flattened, at 1x, 2x or 3x. The file opens in Photoshop as a Photoshop file, not a screenshot.</p>
<p><img src="https://crafttor-admin.s3.amazonaws.com/blog_content/2026/10/31/psd-to-figma-s3-2x.jpg" alt="Both ways" /></p>
<h2>Under the hood</h2>
<p>The parser runs in the plugin's UI iframe, so the whole PSD is read client-side with no upload. Figma's main thread then rebuilds nodes from an intermediate layer tree. Two limits worth knowing if you build Figma plugins: <code>figma.createImage</code> rejects bitmaps wider or taller than 4096 px, so oversized raster layers are downscaled before being handed over, and text is placed by aligning the text box to the ink bounds of the original so baselines land where Photoshop drew them.</p>
<h2>Where your files go</h2>
<p>The PSD is parsed on your machine, inside Figma. The plugin talks to Crafttor only for your account and credits, and sends limited usage details (the action, its mode, the file or frame name and size). Your artwork is never uploaded.</p>
<h2>Try it on a real file</h2>
<p>Drop the PSD, watch the preview, then sign in when you want to import. A free Crafttor account comes with free credits; paid plans refill credits every month.</p>
<p><img src="https://crafttor-admin.s3.amazonaws.com/blog_content/2026/10/31/psd-to-figma-s5-2x.jpg" alt="Drop. Preview. Import." /></p>
<p><strong><a href="https://www.figma.com/community/plugin/1687850435434962649">Install PSD to Figma on Figma Community</a></strong> · Original post: <a href="https://crafttor.com/blog/psd-to-figma">crafttor.com/blog/psd-to-figma</a></p>
]]></content:encoded></item></channel></rss>