Guide
How to Export a GoHighLevel Website (Complete Guide)
GoHighLevel doesn't ship an "Export" button for the sites and funnels you build inside it. If you want a portable copy of your own work — to back it up, move it to cheaper hosting, or hand it off without a GHL login — you're on your own. Here's every method that actually works, in order of how much manual effort they take.
1. View-source and manual asset saving (free, slow)
Open your published page, right-click → "View Page Source," and save the raw HTML. Then go through every image, background, and font one by one, right-click → "Save image as," and manually rewrite each URL in the HTML to point at your saved copy instead of GoHighLevel's CDN. This works for a single simple page. It falls apart fast on anything with more than a handful of images, because every asset is a separate manual step and one missed URL rewrite leaves a broken image in production.
2. Browser DevTools "Save As" (free, incomplete)
Chrome's built-in "Save Page As → Webpage, Complete" downloads the page and a folder of assets automatically. It's faster than method 1, but the saved HTML often references assets with browser-generated filenames that don't match a clean folder structure, and it doesn't handle stylesheet-level url(...) references consistently — background images inside CSS frequently stay pointed at GoHighLevel's servers.
3. GoHighLevel Snapshots (free, wrong tool for this)
Snapshots are GoHighLevel's own sharing mechanism — they let you copy a funnel/site structure into another GoHighLevel account. They're not an export to real code; the result still lives inside GHL. If your goal is to leave the platform entirely, a snapshot doesn't get you there — see our snapshot vs. export comparison for the full distinction.
4. An automated export extension (fast, complete)
A browser extension can do what steps 1–2 do manually, automatically: read the rendered page, find every image/font/stylesheet reference (including the ones buried in CSS url() calls), download each one, rewrite the paths, and package everything into a ready-to-upload zip. This is the approach GHL Escape Kit takes — open your live page, click export, get index.html, your stylesheets, and an assets/ folder in one shot.
What this doesn't solve
No export method — manual or automated — captures GoHighLevel's backend: automations, workflows, integrations, or CRM data. Those live in GoHighLevel's own servers as configuration, not as code your browser ever sees. If forms need to keep working after export, you can choose to leave the GHL script/form embeds in place, which means they'll keep depending on your GHL account staying active. Full detail on what to check before you fully cancel is in our migration checklist.
What about AI Studio projects?
If your site was built in GoHighLevel's newer AI Studio (React/Vite) builder, none of the above works — there's no rendered static HTML to save, because it's a live web app. That needs a different approach entirely, covered in our AI Studio export guide.
Before you export: a 2-minute checklist
A few things to confirm before you click export, so you don't have to redo it:
- Open the live, published page — not the GHL editor view. Editor previews sometimes render placeholder content or debug markup that shouldn't end up in your export.
- Let the page fully load first — scroll through it once so any lazy-loaded images or sections have rendered. An export only captures what's actually in the DOM at that moment.
- Decide on forms/scripts up front. Keeping GHL's form embeds means they'll still point at GHL after export (fine short-term, but means your GHL account needs to stay active). Removing them means the form visually exists but doesn't submit anywhere until you wire up a replacement.
- Note which images are actually background images in CSS — those need
downloadAssetsenabled specifically to get rewritten; a plain HTML export without that option leaves them pointing at GHL's CDN.
Common mistakes agencies make exporting GHL sites
Exporting after cancelling, not before
Sounds obvious written down, but it's the single most common mistake: cancel the subscription first, then realize you need one more asset or a page you forgot. Once access is gone, it's gone — there's no grace period for "let me just grab one more thing."
Assuming the export includes the CRM/lead data
A site export is frontend only. Contacts, pipeline stages, conversation history — none of that lives in the exported files, because none of it was ever part of the page your browser rendered. If you need that data, export it separately from GHL's contacts/CRM screens before cancelling anything.
Not testing the exported zip before relying on it
Unzip it and open index.html directly in a browser (no server needed for a quick check) before you consider the export "done." A missing asset or broken stylesheet path is much cheaper to catch now than after you've already cancelled GHL and can't re-export.
How to verify an export is actually complete
Three checks that catch most problems: (1) open the exported index.html locally and confirm every image loads — a broken image icon means an asset didn't get captured or its path wasn't rewritten; (2) view the page source and search for any remaining gohighlevel.com or GHL CDN URLs outside of intentionally-kept form/script embeds; (3) compare word-for-word against the live page for at least the above-the-fold section, since that's where copy edits are most likely to have happened recently and not yet be reflected if you're working from an old export.
Skip the manual work — export any GoHighLevel site (or AI Studio project) with one click.
Get GHL Escape Kit — $39.99