ICS File Generator
Create a valid .ics calendar file for any event, with reminders, repeats and time-zone handling.
How it works
An .ics file is the plain-text iCalendar format (RFC 5545) that Google Calendar, Apple Calendar, Outlook and every other calendar app understands. Fill in the title, date and time — plus optional location, description, reminder alarm and a repeat rule — and the file is written live in the box below, correctly escaped and folded at 75 characters the way the spec requires. Download it to open it in your own calendar, or attach it to an invitation email so recipients can add the event with one tap.
Choose "local time on the guest's device" for things like a daily standup that should read 09:00 wherever someone is, or "fixed moment in UTC" for a webinar that happens at one instant worldwide. Everything is generated by plain JavaScript in your browser: no event details, guest names or email addresses are uploaded anywhere.
Frequently asked questions
How do I create an ICS file?
Fill in the event title and the start and end date and time, then add any optional location, description, reminder or repeat rule. The .ics text is written live in the box below and you can download it or copy it straight into an email. The file follows RFC 5545, the iCalendar standard, so Google Calendar, Apple Calendar, Outlook, Thunderbird and every other calendar app will import it without complaint.
What is an .ics file and how do people open it?
An .ics file is a small plain-text iCalendar file that describes one or more calendar events. Recipients open it by double-clicking the attachment or tapping it on their phone: the operating system hands it to the default calendar app, which shows an "Add to calendar" prompt with the title, time and location already filled in. Because it is plain text you can also open it in any editor to check exactly what it contains.
Should I use local time or UTC in my ICS file?
Use local time on the guest's device (a floating time) for something that should read the same everywhere, such as a 09:00 daily standup — each attendee sees 09:00 in their own zone. Use a fixed moment in UTC for webinars, launches, live streams and anything where everyone must join at the same instant; the tool converts your entered time using your browser's time zone and writes it with a trailing Z. All-day events always use plain dates, with the end date written as the following day because iCalendar treats DTEND as exclusive.