Office & Productivity
ICS file generator for calendar events
Fill in the event, pick a time zone and a repeat rule, and download an .ics file that Google Calendar, Outlook and Apple Calendar will accept.
FreeNo account, no job limit, runs in your browser. Nothing is uploaded.
The file you get
This is the exact text of the download. It updates as you type.
Location, notes and attendees
Optional. Leave a field empty and it is left out of the file.
Each attendee is written with RSVP=TRUE, so calendar apps offer accept and decline.
Merge or check existing .ics files
Paste an .ics file to list its events and add them to the download above, or open files in the full workspace.
Open files instead
Choose one or more files and they open in the full workspace, with the same form and event list. The files stay in your browser.
or drop them here
The check lists each event with start, end, repeat rule and UID. It warns about events without a UID or start date and about files that stop in the middle of an event. Events are copied as they are, not deduplicated.
What the generator writes into the file
Format rules it follows
The file uses the iCalendar format from RFC 5545. Lines end with a carriage return and a line feed, and long lines are folded at 75 bytes. Commas, semicolons and line breaks inside text are escaped, so an address with commas stays in one piece. Every event gets a random UID. If you import an event twice with the same UID, the calendar updates it instead of adding a copy. Use New UID when you want a separate event.
Time zones
There are three choices. A named zone such as Europe/Berlin writes the wall-clock time with that zone name, and calendar apps look the zone up themselves. The short VTIMEZONE block next to it only holds the offset in force at the start. An app that reads only that block can show a repeating event one hour off after a daylight saving change. If that matters, choose UTC. Floating time has no zone and shows the same clock time wherever the file is opened, which suits a personal reminder.
All-day events and your checks
An all-day event is written with dates only, and its end date is the day after the last day. The generator does that for you. After importing, open one or two dates in your calendar and check the times, especially near a daylight saving change.
This is one of the 37 WoluTools that run completely in the browser, with no daily limit. The 3 free jobs a day mentioned elsewhere on the site apply to tools that process files on the server.
Questions before you create the file
Which calendar apps can import the .ics file?
The file follows the iCalendar format (RFC 5545) and is written for Google Calendar, Microsoft Outlook and Apple Calendar. Import it and check one or two dates.
Can I create recurring events?
Yes. Pick daily, weekly, monthly or yearly and an interval such as every 2 weeks. Weekly events can fall on several weekdays, monthly events on a date or on a weekday such as the second Thursday. The series can run without end, stop after a number of occurrences or stop on a date. The page shows the RRULE line and the rule in words.
How are time zones written?
You choose a named zone such as Europe/Berlin, UTC or floating time. A named zone writes TZID with the wall-clock time, plus a short VTIMEZONE block with the offset in force at the start. Most calendar apps use the zone name. For a series that crosses a daylight saving change and has to be exact in every app, UTC is the safer choice.
Can I merge existing .ics files into one?
Yes. Paste the text of an .ics file or open files in the workspace. The events are listed with start, end, repeat rule and UID, and you can add them to the file you download. Events are copied as they are and are not deduplicated. The page warns about events without a UID or start date and about files that end in the middle of an event.
Are my calendar files uploaded to a server?
No. Building, reading and merging all happen in your browser. Your event data does not leave your device.