On this page

How to Export Contacts From GoHighLevel (CSV, Limits & What's Missing)

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.

This guide uses GoHighLevel's native CSV export for your contacts. To take your funnels, websites, and blogs with you as clean static files — a separate job GHL has no button for — the ExportGHL Sites extension handles it.

Does GoHighLevel Let You Export 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.

How to Export Contacts From GoHighLevel (Step by Step)

Step 1: Open the Contacts tab

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.

Step 2: Filter or select the contacts you want

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.

Step 3: Open the export option

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.

Step 4: Confirm and generate the CSV

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.

Step 5: Download and verify the file

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.

Tip: Export a filtered test segment of a dozen contacts first. It's the fastest way to confirm your custom fields and tags map the way you expect before you pull the full database.

What the Contact Export Includes — and What's Missing

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:

  • Core contact fields — name, email, phone, address, source, created date
  • Your custom fields (blank cells where a contact has no value)
  • Tags applied to each contact

Generally not in the contact CSV:

  • Full conversation history — SMS, email threads, and chat transcripts
  • Call recordings and voicemail
  • Some notes and activity timeline entries
  • Opportunities / pipeline data (usually a separate export — see below)
  • Calendar bookings, memberships, and course progress

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.

Exporting Opportunities, Conversations & Other GHL Data

If you need more than the contact list, plan for a few separate pulls rather than one magic export:

  • Opportunities / pipelines: GoHighLevel often has a separate export within the Opportunities section — if it's available in your account, pull that on its own so your deals and pipeline stages come with you.
  • Conversations: there's often no clean one-click CSV of every message thread. If you need the full history, check what your current export options and plan allow, and consider capturing critical threads manually before you lose access.
  • Automations & workflows: these aren't contact data at all. To move your automations between accounts, that's what ExportGHL Workflows is for.

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.

What ExportGHL Can (and Can't) Export

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:

  • It does not export CRM contacts — those have a native CSV export, covered above.
  • It does not reach back-end data, course or membership content gated behind a login, or live form submissions.
  • It produces a static build, so server-side features like forms, booking calendars, and payment widgets need reconnecting with standard embeds after export.

In short: use GoHighLevel's native export for contacts, and use ExportGHL for the website. Each tool does the half the other can't.

Don't Forget Your Website: Funnels, Pages & Blogs

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.

Doing a full migration? Work through the complete GoHighLevel migration guide so contacts, pages, and automations all leave together, in order.

Frequently asked questions

Does GoHighLevel have a contact export feature?
Yes. GoHighLevel has a native export in the Contacts section that downloads your contacts as a CSV file. Unlike websites and funnels, contacts have a built-in export, so you don't need a third-party tool to get them out.
How do I export all my contacts from GoHighLevel to CSV?
Open the Contacts tab in your sub-account, use the select-all checkbox or a filter to choose the records, open the bulk actions or export menu, and confirm. GoHighLevel generates a CSV file that downloads to your device. Exporting is generally limited to admin-level users and isn't available in the mobile app.
Does the GoHighLevel contact export include conversation history and notes?
The standard contact CSV focuses on contact fields — name, email, phone, custom fields, and tags. Full conversation threads, SMS and email history, call recordings, and some notes are generally not included in that file. Check your own export, and look for separate exports if you need those records.
Can ExportGHL export my GoHighLevel contacts?
No. ExportGHL Sites exports the rendered front end of your GoHighLevel pages — funnels, websites, and blogs — as clean static HTML, CSS, JS, and assets. It does not read CRM contacts, which already have a native CSV export inside GoHighLevel. Use GHL's own export for contacts and ExportGHL for your site.
How do I move both my contacts and my website out of GoHighLevel?
They're two separate jobs. Export your contacts to CSV with GoHighLevel's native contact export, then export your funnels, websites, and blogs as static files with ExportGHL Sites. Together those two exports cover both halves of leaving GoHighLevel with your data in hand.
Is it allowed to export my own GoHighLevel contacts?
You can export contact data for accounts you own or manage. GoHighLevel's terms generally let you export your own data, but retention and access after cancellation can vary — check your agency or GoHighLevel agreement, and handle exported personal data in line with privacy laws like GDPR and local regulations.
Why are some contacts or fields missing from my export?
A missing-records export usually means a filter or smart list was still applied, so only part of the list was selected. Clear filters and select all before exporting. Custom fields that are blank for a contact simply appear empty, and some object types — like opportunities — live in their own exports rather than the contact CSV.

Leaving GoHighLevel? Take your site 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