Exporting contacts
Download a CSV of the contacts currently showing in your list; the export honors every active filter and includes any custom fields you flagged to show in the table.
You export contacts straight from the Contacts list. The download is a CSV of every contact that matches the filters you have applied, so what you export is exactly what the table is showing. There's no separate export screen and no set of options to configure; one click produces the file.
Downloading the CSV
Open the Contacts list and click the download icon in the toolbar; its label is Download CSV. Your browser downloads a file named contacts-YYYY-MM-DD.csv, where the date is the day you ran the export.
The file is encoded as UTF-8 with a byte-order mark, so accented and non-ASCII names open correctly in Excel without a manual encoding step.
Filters carry into the export
The export uses the same filters as the list you are looking at. Whatever you have set, the search term, a tag, a list, or the engagement filters for Email opted in, SMS opted in, and Phone on file, passes through to the download. The same filters that narrow the table narrow the file.
To export everything, clear all filters and the search box first, then download. To export a slice, for example only contacts on a particular list who have opted in to email, apply those filters, confirm the table shows what you want, and then click the download icon.
What the file contains
Every export starts with the same six columns, in this order: Name, Email, Company, Lifecycle, Source, and Added. The Name cell uses the contact's full name, falling back to first and last name, then email, then "Unnamed contact" when nothing else is on record. Added is the creation date in ISO format (YYYY-MM-DD).
After those six, the file adds one column for each custom field set to Show in list table. These match the extra columns you see in the contacts list; if a custom field isn't flagged to show in the table, it isn't in the export. To add or remove one, change its Show in list table setting under Settings, Custom Fields.
Custom-field values are written in plain forms: text, number, and date values appear as-is; a checkbox becomes Yes or No; a multi-select is joined with semicolons; and an empty value is left as a blank cell. The Lifecycle column shows the stage's display label rather than its internal key, so the value changes if you rename the stage.
Spreadsheet safety
Because contact data can come from public sources such as event registration and form intake, the export guards against spreadsheet formula injection. Any cell whose value begins with =, +, -, @, or a tab or carriage return gets a leading single quote, so Excel and Google Sheets treat it as text instead of running it as a formula. This is expected and doesn't alter the underlying contact record.
Large exports
The export reads through the full matching set in pages of 500 rows and assembles a single file, so a download covers more than one page of the list, not only the 50 rows shown on screen. The download runs as a direct request in your browser; there's no background job, so a very large export can take a while to complete or, on a slow query, time out. If a large download doesn't finish, narrow it with filters and export in smaller slices.
This export vs. the per-contact GDPR export
This toolbar export is available to anyone who can open Contacts, with no extra permission gate. It's different from the Export data (GDPR) action on a single contact's overflow menu, which does require the pii.view permission and returns a data-subject-access file for that one contact rather than the current view of the list.
Updated