Cleaning up an address book after years of imports
Old phones, SIM imports, a work Exchange account and a Gmail sync later, most Mac address books are a mess of half-cards and near-duplicates. Here is an order of work that cleans it up without losing anything.
Your address book has been through three phones, a SIM card import, a job with an Exchange account and a Gmail sync you turned on once and forgot. It now has two thousand cards, and you would struggle to say how many of them are real people you could still reach.
Cleaning it up is not hard. Doing it in the wrong order is what makes it painful, because each step creates work for the next one.
Step zero: find out where the cards actually live
Open Contacts → Settings → Accounts. Every account listed there with Contacts enabled is a separate store — iCloud, Google, Exchange, "On My Mac" — and the list in the main window is all of them shown together.
This explains most of the confusion people have with address books:
- A person who appears twice may be one card in iCloud and one in Google. They are not duplicates inside either account, which is why deleting one sometimes seems to bring it back.
- Editing a card changes it in the account it belongs to, and that account then syncs the change everywhere else.
- A card you delete from an Exchange account disappears from your work phone too.
In the sidebar you can select each account on its own. Do that now and write down how many cards each one holds. If an account you no longer need holds a copy of everything, the fastest cleanup of all is to stop syncing it — after you are sure nothing lives only there.
Take a backup before anything else
File → Export → Contacts Archive… saves the entire address book as one file. It takes seconds and it is the only undo that covers every mistake you might make in the next hour. Do it before any bulk operation, not after the first one goes wrong.
Then work from cheap to expensive
The order matters. Deleting junk first means you do not merge it; merging before fixing formats means you merge cleaner data.
1. Delete the obvious rubbish. Cards with a single email address and nothing else, often created automatically by a mail client. Cards named "Voicemail", "Home", or a lone phone number. Old SIM imports where the name is truncated to twelve characters. These are safe to remove and there are usually more of them than you expect.
2. Fill or fix what is incomplete. A card with a first name and no surname, or a phone number and no name, is worth thirty seconds if you know who it is, and worth deleting if you do not. Be honest: if you have not recognised the name in five years, you will not start now.
3. Make phone numbers consistent. Mixed formats — 0532 123 45 67, +905321234567, (532) 123-4567 — stop duplicate detection from recognising the same number twice. Adding the country code everywhere is the single most useful normalisation you can make.
4. Merge duplicates. Only now, when the cards are clean enough to compare. Card → Look for Duplicates in Contacts finds exact matches on name. It will not find "Jon Smith" and "Jonathan Smith" sharing a phone number, and it merges whole cards without letting you choose which version of each field survives.
5. Group or tag what remains. Once the list is honest, structure is worth adding.
Smart Groups do more than people expect
File → New Smart Group builds a group from conditions, and it updates itself. Useful ones during a cleanup:
- Company contains a former employer's name — a quick way to review a whole chapter of your address book at once.
- Cards edited before a certain date — the ones nobody has touched in years.
The limitation is that a Smart Group is a list to look at, not a tool to act on. Once you have found forty cards that need the same change, you are still editing forty cards one by one.
Where the built-in tools run out
Contacts is designed to show one card at a time. A cleanup is the opposite job: you need to see many cards side by side, compare the same field across all of them, and apply one change to a set. The single-card view makes that slow, and anything slow in a cleanup gets abandoned halfway.
The other gap is reversibility. Look for Duplicates merges immediately, and the only way back is the archive you exported at the start — which also discards every other change you made since.
What Compact Contacts changes
Compact Contacts works on the contacts macOS already has, in a dense, resizable table where you choose the columns. Seeing two hundred phone numbers in one column is how you notice that half of them lack a country code.
Built-in Missing Phone and Missing Company views cover step two without building anything. Saved Views with ALL or ANY rules cover the rest — "cards in the Google account with no email", for example — and keep their sorting, columns and layout for next time.
Bulk Edit handles step three across a whole selection: names, organisation fields, labelled phones, emails and more, with text or regular-expression transformations. You review the exact changes before anything is saved.
Merging is field by field: you choose which value survives, and which account the merged card belongs to. Merges are recorded in an encrypted on-device history, so you can undo one without restoring everything else.
Search also covers organisations, email addresses, phone numbers, postal addresses and groups — and, if you enable it, contact Notes, which is often where the context lives that tells you whether a card is worth keeping.
Nothing leaves your Mac. There is no developer contact cloud and no app account, and macOS keeps doing the syncing it already does.