Export Contacts to CSV

Numbers is not working when dragging and dropping contacts to a spreadsheet. Either doesn't import at all or moves the information around in some cases or even doubles the first name and does not include the last name even though the contact card is formatted correctly. I'm running Ventura 13.7.2.


How can I simply get all contacts into a csv file that I can then manipulate?


I am working with a client who has over 5000 contacts that need to be cleaned. Any help would be appreciated.

Thank you!

iMac Pro (2017)

Posted on Feb 3, 2025 8:35 AM

Reply
Question marked as Top-ranking reply

Posted on Feb 4, 2025 4:34 PM

There is a way through Google Contacts:


  1. On the Mac, select all the contacts and export them as vCard.
  2. On Google Contacts, import the vCards (click Import in the sidebar).
  3. From Google Contacts, export the contacts as CSV. Choose "CSV for Outlook Only" as it seems to split the fields better.
  4. Delete the imported contacts (click the Trash icon in the "Imported on..." label in the sidebar.
8 replies
Question marked as Top-ranking reply

Feb 4, 2025 4:34 PM in response to ccochran

There is a way through Google Contacts:


  1. On the Mac, select all the contacts and export them as vCard.
  2. On Google Contacts, import the vCards (click Import in the sidebar).
  3. From Google Contacts, export the contacts as CSV. Choose "CSV for Outlook Only" as it seems to split the fields better.
  4. Delete the imported contacts (click the Trash icon in the "Imported on..." label in the sidebar.

Feb 3, 2025 11:46 AM in response to ccochran

I've never seen a case where fields are duplicated unless there's some error in the source data. The closest I've seen is a common situation when dragging contacts from Contact to Numbers, namely the seemingly-inconsistent format/order of the fields.


Unfortunately, when you understand what's happening, it kind of makes sense.


Not every contact has the same set of data.


Some contacts may have company names, others don't

Some contacts may have no address, or a home address, or a work address, or both

Some contacts may have no phone number, a home phone number, a work phone number, or more

Some contacts may have no email address, a personal email address, a work email address, or any combination of email addresses.


In other words, every contact may have an inconsistent set of data associated with it.


The problem stems from the fact that Numbers does not output every possible field every time. It only outputs the minimal number of fields to cover the data for the selected contact(s). Fields that are empty for all contacts are omitted, and fields that exist for any contact are included, just left blank for any contact that doesn't have that data.


That means if you drag one business contact, you might get the fields:


First Name, Last Name, Company, Phone: work, Email: work


each of which have data for that one contact.


However, dragging two contacts - one business and one personal, you might get:


First Name, Last Name, Company, Phone: home, Phone: work, Email: home, Email: work


Where the 'work' fields for the personal contact and the 'home' field for the business contact are blank.


In other words, the data makes sense for the specific incident, but may not be consistent when different contacts are dragged at different times. If you try to merge these two datasets by simple column order, the 'Phone: work' field in the first set was the 4th field, but is the 5th field in the second set, hence the mismatch.


There are a couple of ways of addressing this. The key, though, is whether this is a one-off kind of thing, or if it's something you do frequently, since that helps determine the pain/work effort level needed to solve the problem.


If it's an occasional thing, then it may be sufficient to drag the contacts to a new sheet where you can check the field headers and order, stripping fields that you don't want. Then copy this trimmed data into your main sheet.


If it's a more frequent thing, then you could consider some kind of scripted solution that extracts the data you know you want from the Contacts and writes a CSV file (or, even better, populates your spreadsheet) with the required data in a consistent format.


Feb 4, 2025 4:02 PM in response to ccochran

I can probably craft an AppleScript that will export selected contacts to CSV.


However, there are many corner cases to consider.


For example, if a contact has multiple email addresses, which email address do you want to export? all of them? work? home?

Similarly for phone numbers, physical addresses, and the like.


These inconsistencies are the exact same things that trip up the drag-and-drop approach, so having a script write to CSV is just moving the problem along.


If you know you always want a specific subset of data (e.g. work phone and email addresses only), then that helps simplify the matter, and can be done quite easily.


Let me know what you need.

Feb 3, 2025 3:42 PM in response to Camelot

Camelot thank you!

Do you know of a way to export a csv from contacts?

The drag and drop method to Numbers is not working.

I spoke with Apple support this morning and they told me that within iCloud you CAN export a .csv and also suggested that I add a ringtone that would then be included in the .csv and could be organized as such. I tried a test on my system in iCloud and can not find a way to export a .csv file anywhere. Any ideas would be appreciated. Thanks!

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Export Contacts to CSV

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.