Split ICS
BetaDrop a large .ics calendar, choose how many entries each part may hold, and download a ZIP of smaller .ics files that importers accept. Each part is a complete calendar with the time zones its own events need. Recurring series stay whole, and nothing is uploaded.
- Free, no sign-up
- REST + MCP
- Updated
- Reviewed by Olgun Ozoktas
Importers differ in how much they accept at once. Start at 250; go smaller if an import still fails.
Parts
Why Split an ICS File in the Browser?
An iCalendar file is one VCALENDAR with a header, optional VTIMEZONE definitions, and the entries: VEVENT, VTODO and VJOURNAL components. Splitting it well means each part must be a valid calendar on its own. This page copies the source header into every part (adding VERSION and PRODID if the source lacks them), keeps the entries in file order, and cuts them into parts of at most the chunk size you choose. Entries that share a UID, which is how a recurring master and its modified occurrences are linked, are treated as one unit and are never separated; when a unit does not fit in the current part, it starts the next one.
Time zones are handled per part. Each part carries only the VTIMEZONE definitions that its own entries reference through a TZID parameter, so a part whose events are all in UTC carries none, and a part with events in two zones carries both. The times are copied as stated and never converted.
The output is a ZIP of part-001.ics, part-002.ics and so on, named after the uploaded file, with a table showing the events in each part and its size. If you give a name prefix, each part is titled with it and its position, such as Work (part 2 of 5), so the imports are easy to tell apart. When the whole calendar fits in one part, the page offers a single .ics download instead. Recurrence rules are never expanded, no limit of any importer is assumed, and the file never leaves the browser.
How it compares
Splitting a calendar in a text editor is possible and slow: every part needs the header, the right VTIMEZONE blocks, and unbroken folded lines, and a recurring series cut across two files imports as two broken ones. Online splitters that upload the calendar do the same job on a server. This page reads the standard format, keeps every part valid, keeps series whole, and keeps the calendar in the tab.
Splitting Tips
- Every part is a complete calendar: the source header, only the VTIMEZONE blocks its own entries reference, and the entries themselves, written exactly as they were read.
- A recurring series is never split. The master event and any modified occurrences share a UID and always land in the same part, which can make a part slightly smaller than the chunk size.
- Entries are cut in file order, and file order is kept inside each part. Nothing is sorted.
- The chunk size counts entries: events, to-dos and journal entries alike. The parts table shows the events in each part.
- Part files are named part-001.ics, part-002.ics and so on, and the ZIP is named after the uploaded file.