KitForma field notes

Merge ICS files without hiding duplicates and exceptions

Use UID identity, explicit version choices and a retained recurrence audit.

Separate copies from competing versions

A repeated title is weak evidence of duplication. Two people can schedule different events called Planning, and one recurring series can legitimately contain several components with the same UID. The master has no RECURRENCE-ID; an exception uses that property to identify the original instance it changes.

The workbench groups by UID and the full recurrence identity. It removes only identical component copies. If the source content differs, the default workflow requires an explicit version choice. The optional preference for higher SEQUENCE and later DTSTAMP is a visible conflict policy; it cannot establish ownership or decide which organizer is correct.

Keep the series and its exceptions together

The selection panel includes or excludes complete UID series, then lets you choose competing versions inside that series. This protects the relationship between the recurring master, exclusions and stored overrides. A moved occurrence keeps its original RECURRENCE-ID even when its new DTSTART is later or earlier.

The downloadable ICS keeps selected RRULE, RDATE, EXDATE and exception properties. The dated CSV is a separate view. Cancelled occurrences are excluded from the active snapshot while cancellation data remains in ICS. Detached exceptions and an EXDATE that overlaps an override receive specific warnings; missing series history is never manufactured.

Inspect the deliberate export changes

The output is a new event-only import calendar with its own product identifier. It does not carry the source scheduling METHOD, and it does not send invitations or cancellation messages. Tasks, journals and free/busy components are outside this export. Reminder alarms are removed by default and can be retained through an explicit setting.

Each export includes a JSON audit of selected identities, removed duplicate copies, timezone definitions, normalization steps and preview limits. The input files remain unchanged. Test the new file in a separate calendar and compare an exception, a cancellation and an ordinary occurrence before replacing any existing calendar data.

The evidence behind the check

Sources & assumptions

Formats, algorithms and supported features are documented below. Check the stated scope and inspect your output before using it.

Reviewed 2026-10-18. Read our methodology or report an issue.

Essential local storage remembers this choice for up to 180 days. Your choice applies to this subdomain. Global Privacy Control and Do Not Track override optional measurement.

Advertising has a separate choice. Use Advertising preferences in the footer to allow or reject the optional guide-page banner.