On this page8 sections
Choose Framer to HTML if you want a frozen copy of your site to archive or host cheaply and you'll rarely change it. Choose Framer to Next.js if you want to keep working on the site as code: reusable components, CMS records you can edit, forms that post to your own backend, and a project developers can review in Git. Both start from your published Framer site. The difference is what you get back: a snapshot of the output, or a project that produces it.
Framer itself offers neither. Its help center says it "does not offer HTML export for self-hosting" (Framer Help), so both routes rely on third-party tools. Deframer, the tool behind this blog, does the Next.js route. We'll be fair to both.
What a static HTML export is
A static exporter visits each page of your published site and saves what the browser receives: HTML documents, stylesheets, scripts and assets, laid out as folders that a basic web server can serve. Upload them to any static host and the pages load.
It's a good fit when:
- the site is a landing page, an event page or a portfolio that's essentially finished;
- you want an offline archive of a site before you take it down;
- you need the cheapest possible hosting and will never edit the design again.
The limits come from what a snapshot is. The markup is generated, so the same header is repeated in every file rather than written once as a component. Changing it means find-and-replace across pages. Content from CMS collections is baked into pages as they were rendered, so a new blog post means a new HTML file built by hand. And anything that relied on Framer's servers, native form submissions above all, needs a new destination.
What a Next.js project is
A converter that targets Next.js writes the source code that renders your pages, not the pages themselves. With Deframer, a converted project looks like this:
src/
app/ one page.tsx per URL, with its metadata
views/ page components, each with a CSS module
components/ design components in the designer's folders
styles/ color styles as CSS variables, text styles, fonts
cms/ each collection as <name>.ts (schema) + <name>.json (records)
site/forms.ts native forms, served by app/api/forms/<form>/route.ts
lib/deframer/ the helper kit that replaces Framer's runtime
public/ robots.txt and sitemap.xml as the site publishes themChange the header component once and every page that uses it changes. Add a record to src/cms/blog.json and the detail page is prerendered on the next build, through generateStaticParams. Forms post to the project's own route handlers and deliver to a webhook URL you set. What you get in a converted Next.js project goes folder by folder.
Side by side
| Static HTML snapshot | Next.js project (Deframer) |
|---|---|---|
What you get | The pages as rendered | The source that renders them, in TypeScript |
Shared parts | Repeated in each file | React components, written once |
Editing text or layout | Edit generated markup | Edit a component or a JSON record |
CMS | Pages frozen as they were | Collections as JSON with a schema, detail pages prerendered |
Native forms | Need a new endpoint | One route handler per form, webhook delivery |
Redirects | Depend on your host's config | Listed in |
Page metadata | In each HTML file | |
Hosting | Any static host | Anywhere Next.js runs: Vercel, Netlify, a container, your own server |
Who maintains it | Anyone who can edit HTML | Someone comfortable with React and Next.js |
Where the snapshot wins
Simplicity. A folder of HTML has no build step, no dependencies to update and no Node.js version to think about. For a site that's finished, that's a real advantage, and a Next.js project would be more machinery than you need.
Where the project wins
Change. Most sites keep changing: a new case study, a pricing update, a form that should go to a CRM. In a project, each of those is a small edit in a file that says what it is. You can put it under Git, review changes on branches, and deploy previews before anything goes live. Maintaining a converted Framer site with Git shows that workflow.
It also leaves room to grow. A Next.js project can add an API route, authentication or a headless CMS without leaving the codebase. Adding a headless CMS to a converted Framer site is one example.
Questions to decide with
- Will anyone change this site after the move? If not, a snapshot is enough.
- Does it have CMS collections that grow? Then a project, where records are data, will save repeated manual work.
- Does it have forms? Either route needs a destination for submissions. In a converted project that's an environment variable; see how Framer forms work after moving to Next.js.
- Who will maintain it? A Next.js project needs someone comfortable with React. If nobody is, consider staying on Framer, where editing stays visual.
- Does search traffic matter? Both can preserve URLs. A project also keeps your redirects, per-page metadata and canonical URLs in code you can check; keeping your SEO when moving off Framer has the list.
What converting to Next.js costs
Deframer is priced per site, not per month: converting is free, and downloading a converted project uses one credit, $10 for a single credit, $25 for five or $100 for thirty, on the pricing page. Credits never expire, a failed conversion costs nothing, and re-downloading is free for the 7 days the download is kept. To download, you need to own the site, or have its owner's permission, and verify it by publishing a one-line meta tag on it.
Deframer is independent of Framer and reads only the public files your published site serves; nothing in your Framer account is touched.
FAQ
Can I export my Framer site to HTML?
Not from Framer itself; its help center says it doesn't offer HTML export for self-hosting. Third-party tools can save a static HTML copy of a published site, and converters such as Deframer can write it out as a Next.js project instead.
Is a static HTML export good enough for SEO?
It can be, if every URL stays the same and each page keeps its title, description and canonical tag. You'll need to set up redirects on your new host yourself. A converted Next.js project keeps redirects in next.config.ts and metadata in each route file.
Can I edit a Framer HTML export later?
Yes, but you edit generated markup, and shared parts such as the header are repeated in every file. A Next.js project has those parts as components you change once.
Do Framer forms work in an HTML export?
Native Framer forms submit to Framer's form service, so in any exported copy they need a new destination. In a Deframer project each form posts to its own route, /api/forms/<name>, which delivers submissions to the webhook URLs you configure.
Which is cheaper to host, HTML or Next.js?
A folder of static HTML can be hosted almost anywhere for very little. A Next.js project needs a host that runs Next.js, or a container or server of your own. Compare hosts' current plans, and see Framer hosting vs. self-hosting for how the costs are structured.
