Export Framer Website to HTML: Backup, Self-Host or Rebuild
Can you export a Framer website to HTML? What Framer allows, how to save an offline ZIP backup, why pages go blank, and when to convert or rebuild.
Website Downloader 9 min read
You cannot export a Framer website to HTML from inside Framer. There is no official code or HTML export, and your project stays on Framer's hosting. You can still save the published site from the outside: a crawler-based download gives you a static offline copy as a ZIP, which works well as a backup. Hosting that copy live somewhere else, or converting it to React or Next.js, is a separate job with its own trade-offs. This guide keeps the two apart and shows how to check that your copy actually works.
Can you export a Framer website to HTML? What Framer officially allows
Framer's help documentation says it plainly: there is no HTML export and no code export. The editor has no download button that hands you a folder of files you could put on another server. Framer builds and hosts the published site, and the project file only opens in Framer.
Here is what you can take with you:
- The published output. Framer serves real, pre-rendered HTML for every page, plus CSS, JavaScript, fonts and images. Anything a browser can fetch, a downloader can save.
- Your own source material. Images, videos, copy and brand files you uploaded probably still exist on your computer or in a shared drive. Collect them now, while you still have them.
- CMS content. Collection items are published as individual pages, so a crawl that follows your links captures them. Also check whether your Framer version offers a structured export for collections. If it doesn't, the published item pages are your content archive.
Anything you want outside Framer therefore starts from the live, published site.
Why does a saved Framer page go blank or show invisible content?
Framer sites are React applications that ship with pre-built HTML. The server sends a finished page, and React then loads in the browser and hydrates that HTML: it attaches itself to the existing markup and takes over animations, hover effects, navigation and interactive components.
Two things can go wrong in an offline copy:
- Invisible sections. Elements with appear or scroll animations are often in the HTML with a starting state such as zero opacity or an offset position, and JavaScript animates them into view. If the scripts don't run, the text and images are in the file but nobody can see them. The page looks half empty.
- A blank page. Framer loads its JavaScript as ES modules, and many of those modules import further code chunks at runtime. If a chunk is missing from the copy, or the browser refuses to load modules from a local file, hydration can fail. Depending on where it breaks, React may wipe or skip parts of the pre-rendered page.
The second problem has a simple fix. Browsers treat pages opened straight from disk (file:// addresses) more strictly, and module scripts in particular are often blocked there. Serve the unpacked folder through a small local web server instead, for example python3 -m http.server 8000 run inside the folder, then open http://localhost:8000. A copy that looked broken on double-click often renders correctly that way. If it is still empty, the copy is missing files. The article on downloaded websites missing images and CSS walks through how to find out which ones.
Backup, offline copy or self-hosting: what do you actually need?
Most people searching for "Framer to HTML" want one of these four things. They are very different jobs.
| Your goal | Static ZIP copy | Converter (HTML or Next.js) | Rebuild elsewhere |
|---|---|---|---|
| Backup of what the site looks like and says | Ideal | Overkill | Overkill |
| Offline viewing, client handover, portfolio, evidence | Ideal | Possible | No |
| Keep the same site live on cheaper hosting | Possible for simple sites, forms will not work | Designed for this | Possible |
| Keep editing and growing the site without Framer | Poor: the compiled HTML is hard to edit | Varies: the code is generated, not hand-written | Best long-term |
If you only need a Framer backup, a static download is enough. Keep the ZIP and you have a record of every page, image and text. If you want to leave Framer and keep a site that you continue to edit, a backup alone won't get you there.
Option 1: download a Framer website as a static offline copy
In the browser with Website Downloader
- Open the download form and enter your published address, such as your custom domain or the framer.website address.
- Start the download. Progress shows live as pages are found, and you can close the tab: the crawl runs on the server, not on your computer.
- Download the ZIP. Unpack it and open
index.html, or serve the folder locally as described above.
Many Framer sites are small portfolios or landing pages, and the free plan covers up to 100 subpages without an account. The free archive is only kept for 1 day, so save the ZIP to your own disk straight away. Larger sites with big CMS collections fit the one-time Single Site plan (up to 5000 subpages, kept 30 days). See pricing for the other plans.
One limit applies here. Content that is built entirely in the browser by JavaScript can end up as an empty shell in any static copy. Framer pre-renders its pages, which helps, but check the result before you rely on it. For more on how ZIP downloads work in general, see Download a Website as ZIP Online.
With HTTrack or wget
Desktop crawlers also work on Framer sites, with one catch. Framer serves its images, fonts and scripts from its own asset domain, framerusercontent.com, not from your domain. By default HTTrack and wget stay on the starting domain, so you have to allow that host explicitly. With wget, for example:
wget --mirror --convert-links --adjust-extension --page-requisites --span-hosts --domains=example.com,framerusercontent.com https://example.com/
Neither tool runs JavaScript. They save whatever the HTML and CSS reference directly, but code chunks that Framer's modules import at runtime can be missed. That gap is exactly what produces the invisible-section and blank-page problems described above. wget vs HTTrack vs an online downloader compares the tools in more detail.
How to check the copy before you rely on it
- Open the home page and three or four subpages, including at least one CMS item page.
- Scroll to the bottom of each page. Sections that are animated in on the live site are the first to go missing offline.
- Turn off Wi-Fi and reload. If images or fonts disappear, the copy was still loading them from the live site.
- Click through the navigation and confirm the links stay inside the copy.
- Compare the page count with your live sitemap, which Framer publishes at
/sitemap.xml.
Option 2 and 3: Framer-to-HTML converters or a rebuild
Paid converters
Several third-party services sell Framer exporters. Some produce a static bundle meant for hosting on Netlify, Vercel or ordinary web space. Others produce a React or Next.js project. They usually do more than a plain mirror: they fetch the runtime chunks, rewrite asset paths and sometimes patch forms.
Weigh the trade-offs before you pay:
- The output is still Framer's generated code, with machine-made class names and bundled scripts. Small text edits are possible; real redesigns are painful.
- A "Next.js export" gives you a project that builds, but not code a developer would have written by hand. Ask for a sample on your own site before buying.
- Framer changes its runtime from time to time, so a converter only works as long as its maker keeps up.
- Read Framer's terms and the converter's terms about running Framer's runtime code on other hosting.
Rebuilding elsewhere
If the site will keep growing, rebuilding it in another builder, a CMS or a static site generator takes the most effort but leaves you with something you fully control. Keep the offline ZIP open next to the new project as a pixel reference and a source for every text and image. On a small site, the rebuild often takes less time than fighting a converter's output.
What breaks when you leave Framer
Whichever route you choose, some parts of the site depend on Framer's servers and will not come along:
- Forms. Framer forms send submissions to Framer's backend. In a static copy the form is visible but submitting it fails. On a self-hosted site, connect a form service or your own endpoint instead.
- CMS collections. Each item is captured as a finished page, frozen as it was on the day of the download. There is no editor, and new items will not appear unless you download the site again.
- Animations and hover effects. These work only as long as Framer's JavaScript loads and hydrates correctly. CSS-only hover states usually survive; scroll, appear and page-transition effects are the fragile part.
- Site search, password-protected pages and anything else that needs a server. Search needs Framer's index, and pages behind a password are not downloaded at all.
How to move your domain off Framer and keep your SEO
To self-host a Framer site or move it to a rebuilt version, you change where the domain points. Search engines care that the URLs and content stay consistent while you do it.
- List every URL. Save your
/sitemap.xmland keep the offline ZIP as a record of titles, descriptions and content. - Keep the same paths. If
/blog/my-postexists today, publish it at the same address on the new host. Wherever a path has to change, set up a permanent (301) redirect from the old one. - Carry over the metadata. Page titles, meta descriptions, Open Graph images and canonical tags should match the old site, and canonicals must point to your real domain.
- Switch DNS at your registrar. Your domain is connected to Framer through DNS records. Lower the TTL a day ahead, then replace the Framer records with the new host's records. Keep your Framer plan active until the new site answers on the domain.
- Tell Google. Submit the new sitemap in Search Console and watch for crawl errors over the following weeks.
The same pattern applies to other builders. Download Webflow Website covers a similar move, CMS pages included.
FAQ
Can I export a site made with Framer AI?
A site generated with Framer AI is an ordinary Framer project, so the same rules apply: there is no HTML export inside Framer. Once it is published, you can download it as a static offline copy, or convert or rebuild it like any other Framer site.
Do HTTrack or wget work on Framer sites?
They can, if you allow Framer's asset domain (framerusercontent.com) in addition to your own. Neither tool runs JavaScript, so runtime-loaded code chunks can be missing, which shows up as hidden or blank sections. Always check the copy through a local web server before you trust it.
Do Framer animations and hover effects still work after an export?
Sometimes. Pure CSS hover states usually survive, but scroll and appear animations need Framer's JavaScript to load and hydrate correctly. When that fails, animated elements can stay invisible. Serving the copy from a local web server fixes many cases.
Is it allowed to copy someone else's Framer site?
Saving a public site for your own reference or as evidence is generally treated differently from republishing its design or content, which can infringe copyright. The rules depend on your country and the situation, and this is not legal advice. Ask a lawyer before reusing someone else's work. For documentation purposes, see how to archive a website for legal evidence.
How do I keep my Framer backup up to date?
A static copy is a snapshot, so download the site again after significant changes and keep the dated ZIPs on your own storage. Archives on the service are kept for 1 day on the free plan and 30 days on paid plans. The FAQ covers storage and limits.
- export Framer website to HTML
- Framer
- website backup
- static HTML
- site migration