A Framer-to-HTML ZIP is a set of files, but that alone does not prove the new site is independent of Framer or other services. Before canceling hosting or changing DNS, check the exported pages in a browser and inspect which requests still leave your new host. This is a practical audit you can do without reading every line of JavaScript.
Start with a site you own or have permission to migrate. Publish it, then use FNJ's Framer to HTML converter to generate the static bundle. Keep the original site live while you test. The HTML mode removes Framer's main runtime and rebuilds common appear and scroll animations, but a page can still contain an external video, map, font, analytics tag, form endpoint, or other third-party dependency.
What “independent” means in practice
There are three separate questions:
- Can the pages be served from your own host? The HTML files, styles, and assets should load from the deployed bundle.
- Do interactive features still work? A menu, animation, form, embed, or search box needs a browser test.
- Can you stop paying or using the original service? Any feature that calls a Framer or third-party endpoint needs an owner and replacement plan.
Passing the first question does not automatically pass the other two. For example, the form's markup can be present while the submission still points at an endpoint that will not serve your new domain. An embedded video may load from its provider by design; that is an external dependency even though the page itself is static.
Step 1: inspect the extracted files
Unzip the export. Locate index.html and the folders holding assets. Open a few nested pages, not just the homepage. Count the routes against your original site, and note any important page that was not linked from the starting URL. Check the image and font folders for the assets you expect.
Avoid drawing conclusions from a double-clicked file:// preview. Browsers apply different rules to local files, and paths that work on a static host can fail from disk. Serve the folder locally or use your host's preview URL. For example, if Python is installed, run this from the folder containing index.html:
python -m http.server 8000
Then open http://localhost:8000/. This only serves the files on your computer; it does not publish them. Test nested URLs on an actual preview deployment as well, since hosts differ in how they serve directory indexes and 404 pages.
Step 2: use the browser's Network tab
Open Developer Tools → Network, enable Disable cache, and reload the page. Filter requests by framer, framerusercontent, your video provider, analytics provider, and any custom domain used by the original site. Repeat after you scroll and click interactive elements because some resources load only when needed.
Classify each remote request instead of treating every one as a failure:
| Request | Question to ask |
|---|---|
| Image, font, or video | Is it intentionally remote, and will that URL remain available? |
| Framer runtime script | Did the selected export mode mean to keep or remove it? |
| Form or CMS endpoint | Who will receive submissions or provide fresh content after migration? |
| Analytics or chat script | Should it remain, be reconfigured, or be removed? |
| YouTube, Vimeo, map, or booking iframe | Does it work on the new domain and meet your privacy expectations? |
Some media is deliberately left on its original CDN if it is too large to bundle safely. An external request is not automatically a bug, but it must be a conscious dependency. FNJ's HTML conversion problems guide covers missing assets and frozen interactions in more detail.
Step 3: test the interactions that static files cannot prove
Tap the phone menu at a narrow viewport. Try hover and click states on desktop. Scroll through each reveal animation and reload halfway down the page. Fill out a test form and confirm that the message arrives. Check any search, checkout, calendar, or membership flow end to end. A successful page render only proves that the initial markup and styles loaded.
HTML mode is a useful choice when you want simple hosting and reduced runtime weight. It is not a promise that every bespoke Framer interaction will behave exactly as before; complex runtime-driven components may require a replacement. If fidelity of animated or interactive work is the highest priority, compare with the Framer to Next.js output, which keeps Framer's runtime. Our animation guide explains this difference.
Step 4: simulate the migration before canceling anything
Deploy the HTML bundle to a temporary preview URL. Use that URL to test all important paths on phone and desktop. Make a checklist of each remaining external request and assign an action: keep, replace, or remove. Test the replacement before changing your public DNS. Keep the original Framer site available until the new host has passed your tests and real traffic is reaching it.
If the domain or URL paths change, create route-specific redirects and check canonical tags rather than sending every old page to the new homepage. Google distinguishes a hosting move without URL changes from a site move that changes URLs; the latter needs a redirect map.
A useful pass/fail rule
The export is ready for your domain when its important pages load directly, critical links and interactions work, forms reach a destination you control, and every remaining external request is understood. If one of those checks fails, keep the preview live and fix that item first. The files are yours to inspect and edit; use the Framer to HTML converter to generate them, then treat the browser audit as the final acceptance test.