ICS Calendar Editor & Fixer — Change Time Zones, Edit Repeats, Repair .ics Files
Edit .ics calendar files free in your browser: fix time zones, shift dates, edit repeats, strip guests, repair broken files, merge or split. Nothing is uploaded.
What it does
This tool opens an .ics calendar file and lets you change it before you import it anywhere. You can fix the wrong time zone, move every event by a day, rename events, edit how they repeat, add reminders, remove guests and private data, and repair files that Outlook, Google Calendar or Apple Calendar refuse to open. Then you download a clean .ics file.
It works on one event or on hundreds at once. You can also merge several calendars into one, split one calendar into a file per event, compare what you changed against the original, or start a new calendar from scratch.
How it works
Everything runs in your browser. The file is read, edited as structured data and written back out. It is not uploaded, unless you choose the optional URL loader (see Privacy).
- Time zones: Two different fixes are offered, because they solve different problems. Fix the zone label keeps the clock time and changes only the zone name, for a file that says 10:00 UTC when it meant 10:00 in Berlin. Convert keeps the exact moment and rewrites the clock time for another zone. Zone rules come from your browser’s built-in time zone database, so no data is downloaded.
- Daylight saving: Times that don’t exist (the hour skipped in spring) use the offset from before the change, and repeated times (the hour repeated in autumn) use the first occurrence, as the calendar standard says. You are told when either happens.
- Time-zone definitions: Outlook and some other apps need a
VTIMEZONEblock inside the file. The tool writes one for every zone your events use, built from the real transition dates. It uses a repeating rule only when the rule is verified to hold over the following decades, and lists explicit dates otherwise. - Repeats: The repeat rule (
RRULE) is shown in plain English, with a live list of the next occurrences. You can change the interval, the end, and the weekdays, or skip a single date without touching the rule. When you shift a repeating event by a day, its weekday list, skipped dates and end date move with it. - Exact text handling: Line folding at 75 bytes, escaping of commas and semicolons, and line endings are rebuilt correctly on every download, including for emoji and non-Latin scripts. Properties the tool doesn’t touch are kept exactly as they were.
- Checks: A built-in checker finds problems such as a missing
UID, an event that ends before it starts, a missingVTIMEZONE, or anUNTILdate in the wrong format, and fixes them in one click.
How to use it
- Drop in one or more
.icsfiles, paste the text, or load the sample. You can also start a blank calendar. - Open the Events tab to edit any event: title, place, notes, start and end, all-day, repeats, reminders and guests. Tick the events you want to change in bulk.
- Use Bulk edit for changes across many events: convert or relabel the time zone, shift dates, set a length, find and replace text, swap in a new meeting link, set busy/free or private, add categories, replace reminders, or strip guests and attachments.
- Open Check & fix to see any problems, and Compare to see exactly which lines changed against the original.
- Click Download .ics. Use Split for one file per event, or Merge to combine several files into one.
If a calendar looks right in your head but shows the wrong hour in another country, check it against the time zone converter or the world clock before you send it. For recurring meetings, the meeting cost calculator shows what a weekly series really costs. If you share a calendar publicly, run guest names and emails through the sensitive data masker, or use the privacy clean-up in this tool to remove them from the file.
What your file needs
Any standard iCalendar file works: .ics, .ical or .vcs, exported from Google Calendar, Outlook, Apple Calendar, Thunderbird, Proton, Fastmail or a booking system. Files with several calendars, bare events with no calendar wrapper, missing END lines and mixed line endings are handled and reported. To-dos and journal entries in the file are kept untouched.
Time zones can be written as standard names (Europe/Berlin), Windows names (W. Europe Standard Time) or path-style names from older tools. A custom zone name the tool can’t recognise offline is flagged, and can still be relabelled.
Privacy
Your calendar is not uploaded. It contains names, email addresses and meeting links, so the tool never sends it anywhere while you edit.
- Saved in your browser: Your files are kept in your own browser storage so a refresh doesn’t lose your work. Clear saved data removes them in one click, and you can also set them to be removed automatically after 1, 7 or 30 days.
- Optional URL loader: The one exception is loading a calendar from a link (
https://orwebcal://). A browser can’t read another site’s calendar directly, so this mode sends the link to our server, which fetches the file for you. It is off until you tick a box that says so. If you don’t use it, nothing leaves your device. - Libraries: Downloading a zip of several files loads a small open-source library the first time, then works offline.
Limitations
- This edits calendar files. It doesn’t sync with Google, Outlook or Apple, and it can’t send invitations or update an event you have already sent to other people.
- The repeat editor and preview cover the common rules: daily, weekly, monthly and yearly, with intervals, weekdays, days of the month, a count or an end date. Rules with advanced parts (such as
BYSETPOS) are kept exactly as written and can only be edited as text. - Editing an event’s description removes its rich-text copy (
X-ALT-DESC), so the two versions can’t disagree. Some apps then show plain text. - Zone conversion needs a zone the browser knows. Times in a custom, unrecognised zone can be relabelled but not converted.
- The URL loader reads public links only, up to about 2 MB, and can’t fetch a calendar behind a login.
- Event colours use the standard
COLORproperty, which some apps ignore.
FAQ
Why does my imported event show at the wrong time? Usually the file has the right clock time but the wrong zone label, or no zone at all. Use Bulk edit → Time zone → Fix the zone label and pick the zone the times were meant in. If instead the moment is right but you want it shown in another zone, choose Convert.
What is the difference between Convert and Fix the zone label? Convert keeps the same moment in time, so 10:00 in Berlin becomes 04:00 in New York in winter. Fix the zone label keeps the clock time, so 10:00 stays 10:00 and only the zone name changes. Fixing a label changes the moment; converting doesn’t.
Will Outlook, Google Calendar and Apple Calendar accept the file? The tool writes standard iCalendar, including the time-zone definitions Outlook needs, and the Check & fix tab lists anything likely to be refused. Apps differ in how strict they are, so import a copy into a test calendar first if it matters.
How do I remove one date from a repeating event? Open the event, find the date in the list of next occurrences, and click Skip. That adds a single exception and leaves the rule alone. Click Restore to bring it back.
What does “Bump SEQUENCE” do? It raises the event’s version number. When you import a file whose event has the same UID as an existing one but a higher SEQUENCE, many calendar apps treat it as an update instead of a duplicate. Choose New UID instead if you want a copy that stays independent.
Will editing a file change an invitation that I already sent? No. The tool only edits the file. Nobody is notified, and events already in other people’s calendars don’t change. To update an invitation, import the edited file into your own calendar and send the update from there.
Why can’t I load my private calendar link? The URL loader can only reach links that work without signing in, such as the secret address a calendar app gives you. Anything behind a login can’t be fetched. Download the .ics file from your calendar app and drop it in instead.