iCloud Calendars tools

iCloud Calendar Duplicate Cleaner

Find duplicate events in an iCloud .ics export by UID or by identical time and title, preview every removal and download a cleaned calendar.

  • UID and recurrence aware
  • Every removal previewed
  • Exceptions protected

Your files are processed locally in your browser and are not uploaded to A2Z Tools.

Calendar Duplicate Cleaner workspace

Before you start

  • Up to 25 MB and 50,000 events.
  • Changed occurrences of a repeating event are never treated as duplicates of the series.
  • The original file is not changed - you download a new one.

Loading the duplicate cleaner…


Why calendars fill up with duplicate events

Duplicate events usually come from importing the same file twice, syncing one calendar through two accounts, or restoring an old backup over a current calendar. The copies look identical in a calendar app, but deleting them one by one is slow and risky: a repeating meeting and one changed occurrence of it can look like duplicates when they are not. This cleaner works on an .ics file, explains every match and lets you decide.

How to get an .ics file from iCloud Calendar

  1. On a Mac, open the Calendar app, select the calendar in the sidebar and choose File, then Export, then Export.
  2. For a calendar shared publicly from iCloud, open its public link in a desktop browser and save the .ics file.

A2Z Tools does not sign in to iCloud and cannot see or change your account. It only reads the file you choose.

How duplicates are matched

  • Same UID. Every calendar event has a unique identifier. Two events with the same UID and the same changed-occurrence date (or neither has one) are copies of the same event. The copy with the highest sequence number, meaning the most recently edited version, is kept; otherwise the first.
  • Same time and title. Events with different UIDs are matched only when the start moment, end moment, all-day setting and title are all the same. Titles are compared ignoring letter case, extra spaces and look-alike characters. Times written in different time zones still match when they describe the same moment.

Repeating events only match another repeating event with exactly the same rule and excluded dates. A changed occurrence of a repeating event is never treated as a duplicate of its series, and a series that has changed occurrences is not matched by time and title, so those occurrences can never be left without their series.

Review before anything is removed

Each group shows the copy that is kept and every copy proposed for removal, with its date, time zone, location, UID and sequence number. Untick a copy to keep it. The summary updates as you go and tells you how many events the cleaned calendar will contain.

Download

  • The cleaned .ics keeps every time-zone definition, alarm, attendee and custom property of the remaining events. It is read back before download to confirm the count.
  • The removal report is a CSV listing each group, the reason, and what was removed or kept.
  • Your original file is never modified.

Limitations

  • Similar events with a different time or title are left alone on purpose.
  • Removing duplicates from an existing iCloud calendar still means deleting that calendar's events or importing the cleaned file into a new calendar yourself.
  • Up to 25 MB and 50,000 events.

Privacy

The calendar is processed in your browser and is not uploaded to A2Z Tools.

A2Z Tools is an independent service and is not affiliated with or endorsed by Apple Inc. iCloud, iPhone and Apple are trademarks of Apple Inc.

Rate this tool

Was this tool useful? Your feedback helps us improve it.

No ratings yet — be the first to rate this tool.
Your rating (required)
0 / 2000

Please do not include passwords, payment details or other sensitive information.

Your feedback is sent privately to the A2Z.Tools team and will not be posted publicly.

Key facts

  • Matches events with the same UID and the same changed-occurrence date.
  • Also matches events with different UIDs but identical start, end, all-day setting and title.
  • Never offers a changed occurrence of a repeating event for removal.
  • Every removal is previewed with a checkbox so you can keep any copy.
  • Downloads a cleaned .ics and a CSV removal report; the original file is not changed.
  • Runs in the browser; the calendar is not uploaded.

How to use it

  1. Export the calendar from iCloud as an .ics file.
  2. Choose or drop the file, or try the sample calendar.
  3. Review each duplicate group and the reason it matched.
  4. Untick any copy you want to keep.
  5. Download the cleaned calendar and the removal report.

Frequently asked questions

Will this delete events from my iCloud calendar?

No. It cannot connect to your account. It creates a cleaned .ics file that you import yourself, and your original file stays unchanged.

How does it decide that two events are duplicates?

Either they share the same UID and the same changed-occurrence date, or they have different UIDs but the same start, end, all-day setting and title. The reason is shown for every group.

Why was a changed occurrence of my repeating event not removed?

A changed occurrence replaces one date of a repeating event. It is part of the series, not a copy of it, so it is always protected.

Which copy is kept?

For UID matches, the copy with the highest sequence number, which is the most recently edited one; if they are equal, the first in the file. For time and title matches, the first. You can keep any other copy too.

Is my calendar uploaded?

No. The file is read in your browser on your own device and is not uploaded to A2Z Tools.

What is in the removal report?

A CSV with one row per event in each duplicate group: the group number, the match reason, whether it was kept or removed, its title, dates, time zone, location, UID and sequence number.

Last reviewed: