ICS file generator
Fill in an event and download an .ics file that calendar apps can import. The file follows the iCalendar standard (RFC 5545): CRLF line endings, escaped text, folded long lines, a unique ID and a timestamp. Everything is made in your browser.
Runs in your browser: nothing you enter is sent anywhere.
How to use it
- Enter a title, the start and the end, or tick All-day event.
- Add a location, a description and a reminder if you like.
- Press Download .ics and open the file, or copy the text.
How it works
The file is a VCALENDAR with one VEVENT. Lines end with CRLF, and lines over 75 octets are split with a CRLF and a single space, never inside a multi-byte character. Text values are escaped, DTSTAMP is the moment you made the file, and a reminder is written as a display VALARM.
Example: a timed event starting on 2027-01-15 at 12:00 in local time gets DTSTART:20270115T120000.
Tips
- If the guests are in several time zones, use UTC or send them the time in text as well.
- Keep the title short; calendars show only the first part in month views.
- Do not edit the file in a word processor: save only as plain text.
Frequently asked questions
How do I add the file to my calendar?
Open the downloaded .ics file, or import it from the calendar app's settings or menu. Most calendar apps and mail programs accept the format. Behaviour differs a little between apps, so check the event after importing.
What does Local time mean?
The time is written without a zone, so each calendar shows it at that clock time wherever the person is (a floating time). Choose UTC if the times you entered are UTC; calendars then convert them to the viewer's zone.
How does an all-day event work?
It is written as dates only. By the standard the end date is exclusive, so the tool adds one day to the last day you pick.
Why does the file have a UID?
Every event needs a unique ID. If you import the same file again, calendars can use the ID to update the event instead of adding a duplicate. A new ID is made each time you load the page.
Are commas and line breaks handled?
Yes. Commas, semicolons and backslashes are escaped, line breaks become \n, and lines longer than 75 bytes are folded as the standard requires.