HTML.to.design Chrome Extension Not Working: Fix Import Errors
Find where the html.to.design workflow fails—installation, capture, Figma handoff, or file import—and follow the matching fix or fallback.
If the html.to.design Chrome extension is not working, first identify which step failed: installing the extension, capturing the page, sending the capture to Figma, or importing a saved file. For a direct handoff, be logged into Figma while capturing. If sending fails, save the capture as a local .h2d file and import it through the plugin’s File tab. For a public page, you can also paste its URL into the plugin’s Web tab. These routes address different access and handoff problems; there is no single documented fix for every import error.
The extension works with the html.to.design Figma plugin. Its documented workflows include sending a capture to the plugin and saving it as a local .h2d file. The plugin also accepts several other file formats. [Extension documentation] [File import documentation]
1. Identify which step failed
Before changing browser settings or repeating the import, classify the failure. The right recovery depends on whether the browser can capture the page and whether the problem happens at the Figma handoff or file-import stage.
| What you see | Likely stage | First route to try |
|---|---|---|
| The extension is missing or cannot be installed | Installation | Apply Chrome Web Store installation checks. |
| The extension is installed, but you cannot capture the page | Capture | Check that the extension is enabled and that the browser’s requested access is available. |
| A capture is made, but it does not appear in Figma | Transfer | Sign in to Figma while capturing; then check the plugin’s Extension tab. |
| The plugin rejects a downloaded capture | File import | Import the .h2d file from the plugin’s File tab. |
| A public page is all you need | Route selection | Paste its URL into the plugin’s Web tab. |
| An HTML import has missing images, styles, or scripts | External resources | Try capturing the page with the browser extension. |
The available product documentation describes these workflows and accepted file types, but it does not provide a universal error-code diagnosis. Treat the checks below as ways to isolate the failing stage, not as guaranteed fixes for every system.
2. Fix extension installation problems
If Chrome will not install the extension, start with Google’s general Chrome Web Store checks. They are browser-level guidance, not a product-specific guarantee. [Google Chrome Web Store Help]
- Use a computer. Google’s installation guidance says to install extensions from a computer rather than a phone or tablet.
- Update Chrome. Install available browser updates, then retry the extension installation.
- Check for organization restrictions. A work or school administrator may block extension installation. If the browser is managed, ask the administrator about the restriction.
- Update a Chromium-based browser. If you are using a Chromium browser other than Chrome, make sure it is current.
- Leave Incognito or Guest mode. Do not attempt the installation from either mode.
If installation is blocked by an administrator, changing the import method will not remove that policy. Use an allowed browser profile or ask the administrator to enable the extension.
3. Capture a page and send it to Figma
For a page that needs the browser’s current state—such as a logged-in page, a local page, or a session-specific view—use the extension route. The documented direct-send flow requires you to be logged into Figma while capturing. [html.to.design extension instructions]
- Open the target page in the browser and put it into the state you want to capture.
- Sign in to Figma in the browser.
- Run the html.to.design extension to capture the page.
- Open Figma and the html.to.design plugin if they are not already open.
- Check whether the capture imports automatically or appears in the plugin’s Extension tab, ready to import.
The Chrome Web Store listing says the extension needs access to Chrome debugging features to map the browser view into Figma. If the browser presents an access prompt, check that the extension is enabled and that the requested browser feature is available. The listing does not give a universal sequence for resolving permission prompts, so do not assume one specific permission issue explains every capture failure. [Chrome Web Store listing]
4. Use a local .h2d file when direct sending fails
A local file avoids relying on the direct extension-to-plugin handoff. The vendor recommends .h2d because it contains the information needed to recreate the page. [Extension instructions] [Supported file imports]
- Capture the page with the extension.
- Choose the option to save the capture locally as a
.h2dfile. - Open the html.to.design plugin in Figma.
- Select the plugin’s File tab.
- Drop the saved
.h2dfile into the plugin’s import area.
If this route works while direct sending does not, the capture itself succeeded and the failure is likely in the handoff path. Keep the saved file available until you have confirmed the page imported correctly.
5. Choose the import route that matches the page
There are three documented routes. Choose by whether the page is public or depends on your browser session, and by whether you want a direct handoff or a saved file.
| Route | Use it for | Handoff and limits |
|---|---|---|
| Plugin Web tab | A public page available at an open URL | Paste the URL into the plugin and import. This is not the documented route for private or session-specific content. |
| Extension, send to plugin | Private, logged-in, local, or state-specific pages | Be logged into Figma while capturing. The capture may import automatically or appear in the plugin’s Extension tab. |
Extension, save .h2d |
When direct sending is inconvenient or fails | Save the local file, then import it from the plugin’s File tab. The vendor recommends this format. |
When the Web tab is the better fit
Use the plugin’s Web tab when the page is public and accessible by URL. This avoids the browser capture handoff. It is not a substitute for capturing a page whose content depends on your login, private network access, or a particular browser session. [Web import instructions]
When the extension is the better fit
Use the extension for pages that are private, logged in, local, or dependent on a specific state in your browser. A URL-only import cannot be assumed to have access to that same session. The extension route is the documented option for these cases. [Extension instructions]
6. Check file formats and missing resources
The plugin’s File tab supports these formats according to the vendor’s import documentation:
.h2d— the recommended extension output..htmland.htm.- Webpage
.zipfiles. .eml,.emlx, and.msg..mhtmland.mht.
If an HTML import opens but lacks images, CSS, or JavaScript, external resources may not be publicly reachable. The vendor recommends using the browser extension for this situation. That recommendation does not guarantee every external asset will load in every environment. [File import documentation]
For Google Stitch ZIP imports, keep the archive under 32 MB. If the ZIP is too large, reduce its contents or use another supported route. [File import documentation]
7. Understand the plugin and browser dependencies
The extension is described as a companion to the Figma plugin for certain features. The Chrome Web Store listing says Chrome debugging features are needed to map the browser view into Figma. It also says clipboard copying can be pasted directly onto a Figma canvas without running the plugin. These statements describe different routes and should not be treated as proof that the plugin must be open for every option or that a missing plugin causes every capture failure. [Chrome Web Store listing]
8. Troubleshooting checklist
- Cannot install: retry from a computer, update the browser, leave Incognito or Guest mode, and check whether a work or school policy blocks extensions.
- Extension does not capture: confirm it is installed and enabled. If the browser asks for access to debugging features, check that the requested feature is available.
- Capture is missing in Figma: confirm you were logged into Figma while capturing, then open the html.to.design plugin and check its Extension tab.
- Direct send still fails: save the capture as
.h2dand import it from the plugin’s File tab. - Public URL import fails or is the wrong route: try the Web tab for a public page. For a private or session-specific page, use the extension.
- HTML import is missing assets: external files may not be publicly reachable; try the extension route.
- Stitch ZIP import is rejected: verify the ZIP is under 32 MB.
- Plugin is not available: install or open the html.to.design Figma plugin for workflows that require it. Clipboard paste is described as a separate option that does not require running the plugin.
9. Or skip the browser setup
If your goal is to save a web page as an image or PDF rather than recreate it as editable Figma layers, ScreenshotNeo can capture it with one API request. It is a website screenshot API and MCP server from ScreenshotNeo. See the API documentation for request options.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
timeout=90,
)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before the shot. Bot checks, blank pages, and failed loads are never billed. Its MCP server lets AI agents take screenshots. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. ScreenshotNeo produces screenshots or PDFs, so use the html.to.design workflow when you need the page recreated in Figma. Sign up for 1,000 free screenshots a month, with no card.
Performance and reliability notes
The documented recovery steps favor the shortest route that fits the page: use the Web tab for an open public URL, the extension for browser-specific state, and a local .h2d file when the direct handoff is inconvenient. This can reduce repeated attempts through a route that cannot access the page’s state. The source material does not establish capture speed, reliability rates, or a universal cause for failures, so those should not be inferred from the available instructions.
FAQ
Do I need Figma open while capturing?
The documented direct-send flow requires that you be logged into Figma while capturing. Afterward, the capture may import automatically or appear in the plugin’s Extension tab.
Can I import a URL without the extension?
Yes, for a public page with an open URL, use the plugin’s Web tab. Use the extension for private, logged-in, local, or state-specific pages.
Which file should I use if direct sending fails?
Save the capture as .h2d and import it through the File tab. The vendor recommends it because it contains the information needed to recreate the page.
Does ScreenshotNeo make an editable Figma design?
No. ScreenshotNeo returns a screenshot or PDF. Use html.to.design when the goal is to recreate the page in Figma.


