Merging Calendars and Address Books Appends — It Does Not Deduplicate
Published 9/8/2026 · 4 min read · File tools
Daniel Okonkwo — Front-end developer and tech writer at OneKitly
Web performance · File formats
Checked against 2 sources
Both merge tools read every file you select, parse each into records, concatenate the lists and write one file back. Nothing is compared, so two exports of the same address book give you every contact twice, and a calendar exported on Monday merged with the same calendar exported on Friday gives you every event twice — including the events that did not change. This is deliberate: deciding that two records are the same person or the same appointment is a judgement call, and a tool that made it silently would be throwing away data you might have wanted. iCalendar and vCard both carry a UID for exactly this purpose, so the reliable order of operations is to merge first, then let the application you import into reconcile by UID, or to sort by UID in a spreadsheet and remove the repeats yourself before importing.
The merge tools put every record from every file into one output, in the order you gave them. That is the right default and the one thing to know before you feed in two exports of the same account.
Why the UID is the only honest key
Matching on a name matches the wrong things in both directions. Two people are called Marie Martin; one person is Marie Martin in one export and M. Martin in another, and again Marie Martin-Dupont after a marriage. Matching on a start time is no better: a team of four all have a 09:00 stand-up, and the same appointment moved by half an hour is not a new one. The UID exists because the application that created the record already knows which record it is, and it writes that answer into the file.
What the merge keeps, and one thing to watch
Because merging stays inside the format — .ics in, .ics out; .vcf in, .vcf out — the records keep what a CSV would have flattened: named time zones, all-day markers, recurrence rules, the structured parts of a name and an address. That is the reason to merge before converting rather than after, and the reason a merged calendar can be dropped straight into an application without a round trip through a spreadsheet.
The thing to watch is that a merged file carries the identifiers of every source. If two of your files were exported from the same account, they contain the same UIDs, and an application that reconciles on import will collapse those pairs back into one record — which is usually what you wanted, and is worth expecting rather than discovering. If instead the sources are genuinely different accounts, their UIDs differ and nothing collapses, so the merged total is the one you will see.
Frequently asked questions
- Can I merge files from different applications?
- Yes — that is the usual reason to do it. iCalendar and vCard are standards, so a calendar from one application and a calendar from another are the same format once exported, whatever the two look like on screen. Where they differ is in how much they write: some exports carry alarms and attendees, others the bare event. The merge keeps whatever each file brought.
- How many files can I merge at once?
- As many as you can select, since the work happens in your browser and the limit is your machine's memory rather than an upload size. In practice the useful check is the record count: add up what each file showed in the viewer and make sure the merged file matches. A file that contributed nothing did not parse, and a silently skipped source is the only failure worth worrying about here.
- Why not just deduplicate automatically?
- Because the rule that would be right for your files is not knowable from the files. Deduplicating on UID would collapse two genuinely different events that a buggy exporter gave the same identifier; deduplicating on name and date would collapse two people who share both. A merge that appends is predictable and reversible — you can always remove rows — while a merge that decides is neither.
Articles you may find interesting
All guides →Related tools
Sources
Spotted a mistake in this article?