Export your site to HTML
Paste a public URL. The free plan exports a single page with no card required.
For self-hosting, you can collect the published HTML, styles, scripts and assets. For maintainable React source, reuse components you authored or plan a separate rebuild. A NoCodeExport capture does not convert the editor project into a new application source tree.
Framer’s portability article describes downloading published files, while its HTML export article says native HTML export for self-hosting is unavailable. Checked October 2, 2026. NoCodeExport captures the public frontend; this is a separate workflow from an official project export.
This guide compares ways to work with that published output. A static export does not give you the editable Framer project or a maintainable React component source tree.
Use the Framer export code tool to select public pages and package an export, then test the ZIP before moving your domain.
Native Options and Constraints
Choose a method based on what you need to move:
| Method | What You Get | Limitations |
|---|---|---|
| Framer's portability workflow | Published site files; separate CMS data export | Review runtime dependencies and configure the destination host |
| Browser DevTools | HTML, styles, scripts and network resources you inspect | Collecting dependencies and rewriting links takes manual work |
| Your code components | React/TypeScript components you authored | These do not include the generated source for the whole site |
| NoCodeExport | A ZIP of selected public pages and configured assets | Page limits apply; dynamic services and interactions need testing |
Published pages may still depend on runtime scripts or external services. Check what the files request in the browser instead of assuming that a successful download makes the site fully independent.
Practical Export Workflow
For a URL-based export with NoCodeExport, use this workflow:
Step 1: Publish Your Framer Site
Make sure your site is published to a .framer.website subdomain or your custom domain. The site must be publicly accessible — password-protected sites cannot be crawled.
Step 2: Export With NoCodeExport
- Copy your published URL
- Paste it into the Framer to HTML converter
- Choose single-page or full-site export
- Configure form handling (if your site has forms)
- Start the export and review its result. Duration varies with pages, assets and third-party responses.
Step 3: Review the Output
The exported ZIP contains:
- HTML files — the rendered output of selected pages
- CSS — styles captured from those pages
- JavaScript — captured scripts and supported interaction helpers; test custom behavior
- Assets — linked to the source on Free, with downloading available for paid exports; inspect download failures
Step 4: Deploy
Serve the extracted files locally over HTTP, then upload them to a static host. Check the host's current plan, routing and usage limits before choosing it.
What Output to Expect
A paid capture can retain required Framer .mjs modules under assets/framer/; styles and behavior may live inside them rather than in separate CSS files. Free links assets to the original host. Paid exports download reachable resources, but videos, embeds and unresolved requests can remain external. Check the README, missing resources and network requests; do not assume the package has no runtime or works fully offline.
CMS-driven pages and any captured data reflect the time of export. They do not provide a live CMS editor or synchronize later changes. Re-export and redeploy for updates, or export CMS data separately if you are moving to another content system.
A captured form does not bring Framer’s submission backend or previous submissions with it. Configure a supported destination, verify spam protection and success/error states, and confirm receipt of an actual test submission. A visible form or success message alone is not evidence of delivery.
The ZIP contains published HTML and required browser resources, not a new React component source tree. This means:
What to compare with the source:
- Page layouts, typography, colors, and spacing
- Responsive breakpoints (desktop, tablet, mobile)
- Scroll reveals, including any retained modules or helper scripts
- Ticker/marquee carousels
- Accordion interactions
- Navigation with scroll-based background changes
- Hover effects on buttons and links
- Images, fonts, and media
- SEO metadata (title tags, meta descriptions, Open Graph)
What changes:
- Some effects use helper scripts or CSS approximations; complex stateful behavior may need rebuilding
- Capturing a code component's visible output does not guarantee its React interactivity will transfer
- CMS-driven content is captured as static HTML at the time of export
- Analytics and form backends need a deliberate setup and test on the new host
For maintained React source, plan a separate rebuild with explicit interaction and design acceptance tests.
Deployment Options
After getting your code from Framer, you have several hosting choices:
| Provider | Plan check | Setup | Useful for |
|---|---|---|---|
| Netlify | Current usage and form limits | Dashboard or CLI | Static deployments and configured forms |
| Vercel | Current usage and commercial-use terms | CLI or Git import | Git-based deployment workflow |
| GitHub Pages | Repository and usage requirements | Git push | Version-controlled static files |
| Cloudflare Pages | Current build and usage limits | Dashboard or CLI | Static file delivery |
| Custom server | Varies | Manual upload | Full control |
Configure HTTPS, redirects and caching on your chosen host. Test representative pages before changing DNS.
Method Comparison
| Criteria | Browser DevTools | NoCodeExport | Manual Rebuild |
|---|---|---|---|
| Work involved | Collect files and dependencies manually | Select pages, configure export, test output | Implement and test a new codebase |
| Cost | Your time | Free and paid options | Depends on project scope |
| Output | Files you collect | Rendered static pages | New application source |
| Pages supported | Pages you collect | Selected public pages within plan limits | Agreed project scope |
| Interactions | Depend on collected scripts | Supported behavior; test each critical interaction | Depend on implementation and testing |
| Maintenance | Manual updates | Re-export within your entitlement | Code changes and releases |
A tested capture may fit an existing marketing site; a rebuild serves a different need when maintained source is required. Read our detailed comparison of Framer to code vs Framer to HTML to decide which path fits your project.
There is no measured comparison here that establishes a fastest method. Choose based on the required output and test a representative page before committing to a migration.
Conclusion
Framer supports moving its published output. NoCodeExport adds a URL-based page selection and packaging workflow. Follow the Framer-to-HTML migration checklist to verify the result, configure services and deploy it.
If you need the reverse workflow — bringing existing HTML into Framer — see our HTML to Framer guide.
Try a single-page Framer capture, then check the output and current plan limits before migrating.
Related Resources
Use the Framer-to-HTML migration checklist for the capture workflow and the Netlify guide for deployment and module troubleshooting.



