Last updated 2 October 2026
Privacy
The short version. Your pages are converted on your own machine. The html2figma Figma plugin and the html2figma Chrome extension never upload the page you import, its contents, its address or its file name. There are no accounts, and nothing is sold or shared with anyone.
The Chrome extension
The extension — html2figma — Save any page for Figma — saves the page you are
looking at as a single .mhtml file in your own Downloads folder, so you can drop
it into the Figma plugin.
What it does with the page
- When you click the toolbar button, it prepares the current tab (scrolls it so images below the fold load, waits for web fonts, and copies styles that exist only in memory into the page) and then asks Chrome to save that tab as one file.
- The file is written to your computer and nowhere else. It is never sent to us or to any other server.
- The extension makes no network requests of its own. It has no server, no account and no analytics.
- It stores nothing between uses — no history of what you captured, no settings, no identifiers.
Why it asks for each permission
activeTab— lets it read the one tab you are on, only at the moment you click the button. It has no standing access to any site.pageCapture— the Chrome feature that writes a page to a single file.downloads— to put that file in your Downloads folder.scripting— to run the short preparation step described above inside the page before it is saved.
It requests no host permissions, so it has no access to any site you have not explicitly captured.
The Figma plugin
The plugin converts a file you drop in — or code you paste — into Figma layers. The conversion happens inside the plugin, on your machine.
- Your HTML, CSS, text and images are never uploaded.
- The only requests it makes for your page are to fetch images and web fonts that the page itself references by absolute URL, so they can be embedded in the design. Those go to whatever server the page named, exactly as a browser would.
- It does not read your Figma file, your account or anything else in Figma, and it stores nothing derived from them.
Anonymous usage counts
The plugin sends a small, anonymous count of how it is used, so we can see which imports fail and fix them. You can switch it off with “Share anonymous usage data” in the plugin; switched off, it sends nothing at all.
- What is sent: that a run started, whether an import succeeded or failed, a short code for the kind of failure, rough size and element counts, the viewport widths chosen, the plugin version, and a random identifier created on first run.
- What is never sent: your HTML, CSS, text, images, layer names, file names, full URLs, or anything about you, your machine, your Figma account or your Figma file.
- For a page that carries a web address, only the host name (for example
example.com) is recorded. Anything local or private — localhost, an IP address, an internal network — is recorded as the wordprivateinstead. - The random identifier is generated with no input of any kind: it is not derived from you, your machine or your Figma account, and it cannot be traced back to any of them.
- After an import, the plugin sometimes offers a feedback box. Nothing from it is sent unless you type something and press Send; then only what you typed is sent.
Where that data goes
The usage counts go to a file on html2figma.com's own server and are read only by us, to improve the plugin. They are not sold, shared, or used for advertising, and there is no third-party analytics service involved.
Children
html2figma is a design tool for professional use and is not directed at children.
Changes
If this policy changes, the date at the top changes with it. Material changes will also be noted in the plugin's release notes.
Contact
Questions, or want your usage counts removed? Email [email protected] and we will answer.