Processes

contactsd is using high CPU. Which Contacts account is stuck syncing?

Short answercontactsd is a real part of macOS, not malware. It manages the contacts database on your Mac and hands contacts to apps that ask for them. A short burst after you add an account or import contacts is normal. Load that lasts for hours, or comes back with the fans every few hours, points at a sync that is not finishing. Find the account involved by switching accounts off one at a time in Contacts settings, then switch each one back on.

The fans came on with nothing open, and Activity Monitor put contactsd at the top of the CPU column — the share of the processor each program is using. On a laptop, the battery drains with it.

Turning off Contacts for every account usually stops it. That also stops the contacts you need. The better question is which one account is looping, so you can fix that account and keep the rest.

What contactsd does

A process is a program running in the background. contactsd is the one macOS uses for contacts. Apple's manual page says it manages your contacts database, serves apps that use contacts, and does background upkeep.

It lives in macOS's own system folder, and nobody installs it. Mail, Messages and FaceTime all look up names through it, so it runs even when the Contacts app is closed.

Syncing with online accounts such as iCloud, Google or Exchange shows up in the Mac's logs under a separate helper, AddressBookSourceSync. A sync that keeps restarting gives contactsd more work.

First, measure it

The percentage in Activity Monitor is recent use, and it jumps around. The steadier number is the total processor time contactsd has used since it started. Terminal shows both.

zsh — Terminal
% ps -axo pid,pcpu,time,etime,comm | grep -E 'PID|contactsd$'
Sample result
  PID  %CPU      TIME     ELAPSED COMM
80539   0.0   2:33.24 03-16:40:22 /System/Library/Frameworks/Contacts.framework/Support/contactsd

TIME is the processor time used, in minutes and seconds. ELAPSED is how long it has run, in days-hours:minutes:seconds. This one used two and a half minutes over three and a half days, which is quiet. The path shows it is the system's own copy.

When contactsd CPU is normal

You just added an account, imported contacts, set up a new Mac, or updated macOS, and the load settles within the hour.

Each of those gives it real work: new cards to store and to index for search. A burst that ends is that work finishing. The processor time grows for a while, then stops growing.

Fixleave the Mac awake and let the burst finish. Measure again later rather than acting on one reading.

Signs one account is stuck in a loop

The fans spin up every few hours with Contacts closed, the battery drains in the background, or contactsd shows 100% or more for long stretches.

Over 100% means it is using more than one processor core. In one Apple Community report, it had used four and a half hours of processor time in eighteen hours of uptime.

Apple Community threads about this run from 2022 into 2026. The account reported is Google most often; iCloud and Exchange also appear. That tells you where to start looking, not that your Google account is the cause.

Find the account without losing it

Switching off one account in Contacts is a test, not a deletion. Apple says that account's contacts are removed from your Mac until you switch it back on.

  1. Back up first. In Contacts, choose File > Export > Contacts Archive, as Apple describes, and save the file somewhere safe.
  2. Check that recent edits reached the account. Open the account's website, such as Google Contacts, and find a contact you changed lately. An edit that never left this Mac could be lost during the test.
  3. In Contacts, choose Contacts > Settings, then click Accounts. Select one account and deselect Enable this account. Start with Google if you have it.
  4. Use the Mac normally for a few hours, then measure contactsd again.
  5. Select Enable this account again, whatever you found. Then test the next account the same way.

Fixthe account whose test keeps contactsd quiet is the one to work on. Remove that one account and add it again, then check the load. Apple notes that removing an account removes its contacts from this Mac, so confirm they are on the provider's website first.

Check whether syncing finishes

The logs can show whether each sync run reaches the end. This command lists the recent end-of-run lines from the sync helper.

zsh — Terminal
% log show --last 1h --predicate 'process == "AddressBookSourceSync"' --style compact | grep -E "Sync of source|Done running" | tail -4
Sample result
2026-09-13 09:51:18.399 Df AddressBookSourceSync[11248:a587633] [com.apple.contacts.accounts.sync:agent] Sync of source <private> complete.
2026-09-13 09:51:37.979 Df AddressBookSourceSync[11248:a587633] [com.apple.contacts.accounts.sync:agent] Sync of source <private> complete.
2026-09-13 09:51:37.982 Df AddressBookSourceSync[11248:a587633] [com.apple.contacts.accounts.sync:activation] Done running, uptime: 30.2 s

On this healthy Mac, a sync run finished in about 30 seconds. Nothing printed means no sync ran in the last hour. macOS hides the account name as <private>, so the log shows whether syncing finishes, not which account it is.

What Noah can determine on this Mac

NoahNoah can read recent logs from contactsd and its sync helper. Sync runs that keep starting without finishing point at a loop rather than ordinary work.

Noah cannot reliably tell how much processor contactsd is using, so the measurement above, and noticing that the load comes back every few hours, stays yours. Noah cannot list your Internet Accounts or see which ones sync Contacts, and macOS hides the account name in these logs. The one-account-at-a-time test stays yours. Deleting anything needs your approval first, and this page never asks you to delete your contacts database.

Steps to leave for last

Quitting contactsd in Activity Monitor is not a fix. macOS starts it again when an app needs contacts, and a looping account starts the work over.

Some guides tell you to delete the contacts database in your Library folder. Do not start there. Contacts kept only on this Mac have no other copy, and it does nothing about the account causing the loop.

Fixif one account still loops after you removed and added it again, save a Contacts Archive and contact Apple Support before deleting anything.

Try Noah free

Contacts that sync without the fan noise.

Just tell Noah what's wrong:

contactsd keeps using CPU on my Mac, and I need my contacts to keep syncing.
Check whether Contacts is stuck syncingFirst conversation freeNew customers: 7-day free trialOnly with your OK

Already have Noah? Open it on this problem →

Frequently asked questions

Is contactsd malware?

No. It is a standard part of macOS, stored in the system's own Contacts folder. High CPU from it points at contacts syncing, and a cleaning app will not change that.

Will switching off an account in Contacts delete my contacts?

Apple says deselecting Enable this account removes that account's contacts from your Mac until you select it again. First check that recent edits appear on the account's website, and back up with File > Export > Contacts Archive.

Can I quit contactsd?

You can, but macOS starts it again when an app needs contacts. If an account is looping, the load returns.

Is this the same problem as peopled using high CPU?

No. peopled is a different process with a different job. If peopled is the one at the top of Activity Monitor, read that page instead.

Commands in this guide are standard, read-only macOS diagnostics unless noted; anything that changes your system is called out. When in doubt, back up first with Time Machine.