Your contacts are the one part of GoHighLevel with a real export button. Here's how to pull them cleanly as a CSV, what the file does and doesn't contain, and how exporting contacts fits alongside exporting your actual website.
To export contacts from GoHighLevel, open the Contacts tab in your sub-account, filter or select the records you want, and use the built-in export option to generate a CSV file that downloads to your device. The file contains contact fields, custom fields, and tags, but not your conversation history, call recordings, or your website. There's no ExportGHL step for this part: contacts leave GHL through its own native CSV export, while ExportGHL Sites handles the separate job of exporting your funnels, websites, and blogs.
That split catches a lot of people out. "Export my GoHighLevel data" is really two different tasks with two different tools, and this guide covers both — starting with the contacts.
Yes. Unlike websites and funnels — which have no native "download" button at all — your CRM contacts do have a built-in export inside GoHighLevel. You'll find it in the Contacts area, where a bulk-action or export control lets you package the selected records into a CSV file. Because this is native, you don't need any third-party tool to get your contact list out.
The exact label and placement of the export button shift over time as GoHighLevel updates its interface, so if it isn't where you expect, look in the bulk-actions menu that appears once contacts are selected, or in the more-options (⋯) menu above the list. The underlying capability — export selected contacts to CSV — has been a stable part of the platform.
Log in to the GoHighLevel sub-account (location) that actually holds the records, and open Contacts from the left-hand menu. If you manage multiple sub-accounts, make sure you're in the right one — exports are per-location, not agency-wide.
Decide whether you want everything or a segment. To export your whole database, tick the select-all checkbox at the top of the list, then confirm the prompt to select every contact across the list rather than just the current page. To export a slice — say, a single smart list, a tag, or contacts created in a date range — apply that filter or smart list first, then select all within the filtered view. Double-check the record count so you know how many rows to expect in the file.
With contacts selected, open the bulk-actions or more-options menu above the list and choose the export option. This is the step most people hunt for; if you can't see it, it's almost always revealed by selecting contacts first. Exporting is generally an admin-level, desktop-app feature, so if the option is missing entirely, check that your user role has export permission and that you're not on the mobile app.
Confirm the export. GoHighLevel assembles a CSV containing the selected contacts along with their standard fields (name, email, phone, source), any custom fields, and their tags. Large lists can take a little longer to build.
Download the CSV to your device. Very large lists can take a little longer to prepare before the download starts. Then open the file in a spreadsheet and sanity-check it: confirm the row count matches what you selected, that your custom-field columns are present, and that tags came through. Store the file somewhere secure, since it contains personal data.
The CSV is a snapshot of your contact records, not of everything that ever happened with those contacts. Knowing the line between the two saves a nasty surprise later.
Generally included:
Generally not in the contact CSV:
Treat that list as a guide rather than a guarantee: GoHighLevel's exact export fields can vary by plan and change over time, so always open your own file and confirm what actually came through before you rely on it or cancel anything.
If you need more than the contact list, plan for a few separate pulls rather than one magic export:
On timing: export before you cancel. GoHighLevel's terms generally give you the ability to export your own data, but how long records remain accessible after a cancellation or downgrade can vary — check your agency or GoHighLevel agreement rather than assuming the data will wait for you.
It's worth being blunt here, because the product name invites the question: ExportGHL does not export your contacts. It never touches your CRM.
ExportGHL Sites exports the rendered front end of your GoHighLevel pages — it loads each live page, waits for all the scripts and dynamic layout to finish, and captures the final result as clean static HTML, CSS, JS, and assets you can host anywhere. That's the one thing GoHighLevel gives you no button for.
What ExportGHL Sites deliberately does not do:
In short: use GoHighLevel's native export for contacts, and use ExportGHL for the website. Each tool does the half the other can't.
People fixate on getting their contacts out and forget that the funnels, landing pages, and blog they spent months building are just as locked in — and unlike contacts, those have no native export at all. If you leave GoHighLevel with only a contact CSV, you still lose every page.
That's the gap ExportGHL Sites fills. Install the ExportGHL Sites extension, open the site you want to keep, and it renders and crawls the pages — including hidden or unlinked ones — into a clean ZIP of static files with a migration checklist. Pair that with your contact CSV and you've taken both halves of your GoHighLevel account with you.
Contacts leave GHL as a CSV — but your funnels and websites need ExportGHL Sites. Export one page free to see the clean static output before you pay.
Start free