When your Mac and iPhone calendars stop matching
The forum answer to this is almost always the same: sign out of the account, sign back in, and restart both devices. It works often enough to keep being repeated, and it is a poor first move, because it destroys the evidence that would have identified the cause in under a minute.
Calendars that stop matching between a Mac and an iPhone have a small number of distinct causes, and each produces a slightly different symptom. An event that never appears is a different fault from an event that appears late. One calendar missing is a different fault from every calendar missing. Sorting the symptom first turns this into a two minute fix in most cases, and makes the rare stubborn one much easier to reason about.
Identify the symptom before changing anything
| What is happening | Where the cause usually is |
|---|---|
| Events made on the Mac never reach the iPhone | The event is in a calendar stored on the Mac |
| Events made on the iPhone reach the Mac slowly | The account's refresh interval on the Mac |
| Nothing syncs in either direction | Calendars switched off for the account, or two different accounts |
| One calendar is missing, the rest are fine | That calendar is unchecked, or belongs to another account |
| Only recent events appear on the iPhone | The iPhone's setting limiting how far back events sync |
| Everything is there twice | The same calendar added through two accounts |
Two of these six account for most cases. Work through them in order rather than trying everything at once, because applying three fixes and then seeing the problem disappear teaches nothing and leaves two unnecessary changes behind.
The most common cause: the calendar lives on the Mac
macOS can hold calendars that belong to the Mac itself rather than to any account. They are grouped under a heading in the calendar list, and they do not sync anywhere, because there is nothing for them to sync to. An event created there is working exactly as designed. It simply exists on one computer.
Apple's own guide gives the quickest test for this, phrased as an aside inside another instruction: if the calendar list has no On My Mac section, the calendars are in an account such as iCloud, and this cause is ruled out.
So open the calendar list with View, then Show Calendar List, and look. If there is an On My Mac section, check whether the missing events are sitting in it. Dragging an event from a local calendar to an account calendar moves it, and it then appears on the phone within the normal refresh window.
There is a second half to this fix, and skipping it means the problem returns next week. New events go into whichever calendar is set as the default, and if that default is a local calendar, every event created from now on repeats the fault. The setting is in Calendar settings, under the general section, and it should point at an account calendar. Changing it is the single highest value action in this article.
Confirm both devices are using the same account
This sounds too obvious to check and is wrong surprisingly often, usually after a phone replacement or when a personal and a work Apple Account both exist.
On the Mac, open System Settings, click the Apple Account at the top, then iCloud, and confirm which address is signed in and that Calendars is switched on. On the iPhone, the same path exists in Settings. The addresses have to match exactly, and Calendars has to be enabled on both. A device signed in for Photos and Notes but with Calendars switched off produces exactly the symptom of nothing syncing, with no error message anywhere.
While in that screen, note which account each missing calendar actually belongs to. A Google calendar does not travel through iCloud. It syncs because the Google account is added to both devices separately, and a Google account present on the phone but not on the Mac will look like a sync failure while being a missing account.
Set how often each account refreshes
An iCloud account updates as changes happen. Other account types, including Google and standard CalDAV accounts, are usually fetched on a schedule, and the default schedule is not instant. This is the cause behind almost every complaint that sync is slow rather than broken.
The setting is per account, in Calendar settings under Accounts, in the Refresh Calendars menu. Apple describes the strongest option plainly.
If you choose Push, the account is updated automatically when you make a change on any of your devices that use the same account, or when someone makes a change to a shared calendar in that account. Source: support.apple.com
Where Push is not offered for an account, every minute is the shortest interval available and is the right setting for a calendar in daily use. The same page documents the manual equivalent, which is View then Refresh Calendars, and that is the fastest way to confirm a diagnosis: if a manual refresh makes the missing event appear immediately, the fault is the interval and nothing else. That single test separates a scheduling problem from a real sync failure, and it takes two seconds.
Checking which side is actually wrong
One step is missing from most versions of this advice, and it decides where to look. Before adjusting anything on either device, open the account in a browser and see what the server holds.
For an iCloud account, sign in at icloud.com and open Calendar. For a Google account, open calendar.google.com. Whatever appears there is the authoritative copy, because both the Mac and the iPhone are showing copies of it.
Three outcomes are possible and each points somewhere different.
The event is on the server but not on the Mac. The server received it, so the phone is working and the Mac is not fetching. Attention belongs on the Mac's account settings and refresh interval.
The event is not on the server. Whichever device created it never sent it, which usually means it was written into a local calendar on that device rather than into the account. This is the case where changing settings on the other device achieves nothing, and it is the case people most often spend an evening on.
The event is on the server and on both devices, but with a different time or a missing alert. That is not a sync failure at all. Alerts are frequently stored per device rather than travelling with the event, and a time difference points at time zone handling rather than at syncing.
This check takes under a minute, needs no changes, and narrows the problem to one device before a single setting is touched. It is also the step that makes the difference between fixing this once and fixing it repeatedly, because it names the cause instead of finding a combination that happens to work.
Two traps specific to Google accounts
A Google account added to an iPhone using the generic CalDAV option rather than the Google option historically syncs only the primary calendar, leaving secondary calendars invisible on the device while they remain perfectly healthy on the Mac. Removing the account and adding it again using the Google option is the clean fix, and it changes nothing in Google itself.
The second trap is subscriptions. A calendar that was subscribed to rather than shared, such as a holiday feed or a colleague's published calendar, is read only and refreshes on its own schedule set per calendar. Control-clicking the calendar name and choosing Get Info exposes an auto-refresh option for exactly this. A subscribed calendar that looks stale is usually just on a slow auto-refresh, not broken.
When events sync but arrive wrong
Duplicates are the most reported version of this. The usual cause is the same calendar arriving through two routes, for example a Google account added directly on the Mac while the same Google calendar is also shared into iCloud. The fix is to remove one route rather than to delete the duplicate events, because deleting them removes the originals from both.
Old events missing from the iPhone while present on the Mac is a setting rather than a fault. The iPhone keeps a limited window of past events by default, adjustable in the Settings app under Calendar, where the sync option can be changed to keep all events. Nothing was lost; the phone was simply not asked to hold it.
Times shifting by a few hours points at time zone handling rather than at sync. Calendar has a time zone support option that, once on, pins each event to a specific zone. With it off, events can be interpreted against whichever zone the device is currently in. Turning it on across devices makes the behaviour consistent and predictable.
A warning symbol beside a calendar name means something different again. Apple documents it as Calendar being unable to connect to that calendar account, which points at credentials or connectivity rather than at settings. That is the signal to check the account password before touching anything else.
If none of that fixed it
At this point the order matters, because the remaining steps are progressively more disruptive.
Check Apple's system status page first, since an iCloud Calendar incident produces exactly these symptoms and no amount of local change will help while one is running. Confirm the date and time on both devices are set automatically, as a device with a manually set clock can reject sync timestamps. Confirm free storage exists on both, because a full device can silently stop writing new data.
Only then switch Calendars off for the account on the Mac, wait a minute, and switch it back on. That refetches the calendars rather than deleting anything, since the events live on the server. Removing and re-adding the whole account is the step after that, and it is rarely necessary.
Throughout this, the one reassurance worth holding onto is that events in an account are not stored on either device. They are copies. That is also why a calendar app built for the Mac changes nothing about this diagnosis: it reads the same accounts, and the approach comparison shows how those routes differ. What a better client does change is how visible the account state is day to day, which is covered in the guide.
One habit prevents most repeat visits to this problem. After any fix, create a throwaway event on the phone, watch it appear on the Mac, then delete it from the Mac and watch it disappear from the phone. Testing both directions takes twenty seconds and catches the case where one direction was never working, which is easy to miss when the calendar happens to be quiet that week.
What to change first
Open Calendar settings and set the default calendar to an account calendar rather than one on the Mac, then set the account's refresh to Push or to every minute. Those two changes prevent the two most common versions of this problem, and they take about thirty seconds. If events still fail to appear after a manual refresh, the fault is the account rather than the calendar app, and the account screens above are where to look.
Frequently asked questions
Why do events created on the Mac never show up on the iPhone?
Almost always because the event was created in a calendar stored on the Mac itself rather than in an account. Those calendars do not sync anywhere. Check the calendar list for an On My Mac section, move the event to an account calendar, then change the default calendar so new events go to the right place.
How long should syncing take between a Mac and an iPhone?
With Push enabled, a change should appear within seconds. On a fetch schedule it takes as long as the interval set for that account, which can default to fifteen minutes or longer. A manual refresh from the View menu confirms which of the two is happening.
Will removing and re-adding the account delete any events?
No, provided the events belong to an account rather than to a local calendar on the Mac. The account holds the events on the server and the device only shows a copy. Local calendars are the exception and should be moved to an account before any account is removed.
Why does the iPhone show fewer past events than the Mac?
The iPhone keeps a limited window of past events by default to save space. The option is in the Settings app under Calendar and can be changed to sync all events. The missing events were never deleted.
Does a third-party calendar app fix syncing problems?
Not by itself, since every app reads the same accounts and is subject to the same account settings. What some apps do offer is a clearer view of account status and refresh behaviour, which makes a problem easier to spot. The underlying fix is still in the account.