ZIP multi-page import · production-regression verified

Import ZIP to Figma

Turn a prepared HTML website archive into separate editable pages. Keep related HTML files, styles and assets together, then import the archive from the plugin's Files workspace.

Package a rendered website, not a source repository

Use a ZIP containing actual HTML pages and the assets they reference. A framework repository with JSX, TypeScript, package files and a development-server requirement is not the same thing as an exported website.

Keep relative paths valid inside the archive. Include shared CSS and images in their referenced locations. For a build requiring runtime services, export a static version or capture the running site with the extension.

website.zip
├── index.html
├── details.html
├── styles.css
└── assets/
    └── product.png

Import the archive in Files

Open HTML to Figma and switch to Files. Select one ZIP archive, then choose the capture widths and themes that you need. Start with one width for a large archive so the first result is easier to inspect.

The importer discovers supported HTML pages and gives each page its own result. An index page is prioritized and the remaining pages use a stable order. Shared assets are resolved from the archive rather than flattened into unrelated filenames.

After import, check page names, structure and key images. Inspect a link between included pages if you intend to use the result as a prototype reference. Link generation does not recreate forms, authentication or arbitrary JavaScript interactions.

Choose the right file format

Files also accepts .html and .htm, saved-page .mhtml and .mht, and supported email archives .eml, .emlx and .msg. Email import captures available HTML content; it is not a mailbox connector or a guarantee of every email client's rendering.

A .h2f file is the capture package generated by our extension. It carries captured structure and assets for the plugin. It is not the competitor's private .h2d format, and renaming an unsupported file will not convert it.

Use Code when you want to paste and edit HTML/CSS directly. Use Website for public URLs and the Chrome extension for a live signed-in or localhost page.

Know the multi-file boundary

One ZIP can contain up to 20 HTML pages. Multiple .h2f files can be selected together, with a current maximum of 20 files and 64 MB of input. These limits describe separate workflows.

Multiple independent HTML, ZIP, MHTML or email source files are still handled one at a time. Do not assume every supported format can be mixed into a single batch selection.

Missing assets, unsupported paths, unsafe archive entries and files exceeding a safety limit are reported. Only import archives you trust; captured HTML can involve executable source content. Review warnings and never treat import as a security scanner.

FAQ

Questions before you import

Practical answers for zip & archive import.

Will a ZIP create more than one Figma page result?

Yes, when it contains multiple supported HTML pages. The current limit is 20 HTML pages per archive; each gets a separate import result.

Can I upload my React project ZIP?

A raw application repository usually needs a build step. Prepare exported HTML and assets, paste a self-contained example in Code, or capture the running application with the extension.

Can I select several ZIP files at once?

No. Independent HTML/ZIP/archive/email sources are processed one at a time. Multi-file selection is supported for .h2f captures.

Are MHTML and email files supported?

Files accepts MHTML/MHT and EML/EMLX/MSG in addition to HTML and ZIP. Supported content and assets are imported with explicit compatibility limits.