Exporting iCloud Calendars

2023-08-11

Recently, I switched my calendar from iCloud to Nextcloud. Simply moving the individual calendars in the calendar app on my Mac didn't work, so I had to export them as .ics files, then import them again.

There was just one problem: The exported calendars were missing data. Random events, every now and then, dating back for years, were missing with no discernible pattern. Thankfully, I found a working solution in the Apple Support Community:

  1. Click the Calendar icon to open the Calendar interface.
  2. On the left pane, click the Share Calendar button beside the calendar that you want to export.
  3. In the popup balloon, tick "Public Calendar." Copy the sharing URL that appears below it.
  4. On a new Web browser tab or window, paste the copied URL.
  5. Change webcal in the URL to http and press the Enter key to open the address.
  6. Your Web browser will download a file with random characters as file name. This file is actually a copy of your iCloud Calendar entries.
  7. Save the file to a convenient folder on your computer. For convenience, you may rename the file and add the
    ics
    extension (e.g., calendar.ics).

[…]

User lightsyder, 25th April 2018

Interestingly, the user that posted this was running into a different issue, namely that only the most recent 12-16 months where exported.

However, in my case, this method did exactly what I wanted. I can confirm that it results in an .ics file that, unlike the one exported from Calendar.app, actually contains all events, going back up to ten years.

If there aren't too many events, here's a relatively convenient way to compare two calendars on a Mac:
First, only enable the two calendars to compare. Then, enter "**" in the search bar. A list of all events will be displayed, where every entry should appear twice, indicating that the event is present in both calendars.