How to use the iCal event generator
- Enter the Event title and pick the Date.
- Set Start time and End time, or tick All-day event. For an event that crosses midnight or runs several days, also set End date (optional, for multi-day events).
- Choose the Time zone the times are in. The list covers 32 zones plus Floating (same clock time everywhere).
- Add Location, Description and a Link (optional) such as a video-call address.
- Pick a Reminder: none, 10 or 30 minutes, 1 hour or 1 day before.
- Download Calendar file (.ics), or copy the text.
What it does and when to use it
An .ics file is the shared format calendar apps use to exchange events. Attach one to a booking confirmation or put an “Add to calendar” link on an event page. People open it and the event lands in their calendar with the reminder set.
Pair it with a mailto link that pre-fills an RSVP email, or plan the session itself with the time slot generator. For a printed overview of the month, use the monthly calendar.
How it works
The file follows RFC 5545. It contains one VEVENT with a random UID, a DTSTAMP of the moment you made it, the start and end, SUMMARY, and LOCATION, DESCRIPTION and URL when filled in. Commas, semicolons, backslashes and line breaks in text are escaped with a backslash. Lines longer than 75 bytes are folded onto the next line, as the standard asks.
Timed events are converted from your chosen zone to UTC with the browser’s time-zone data, so daylight-saving changes are handled. All-day events use date-only values with the exclusive end date. A reminder becomes a VALARM such as TRIGGER:-PT30M.
Worked examples
The preset workshop. 15 October 2026, 10:00 to 12:30 in Asia/Kolkata, with a 30-minute reminder:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ToolsRift//iCal Event Generator//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
UID:o3wjtxctr1i2v2hf@toolsrift.com
DTSTAMP:20261008T023137Z
DTSTART:20261015T043000Z
DTEND:20261015T070000Z
SUMMARY:Quarterly planning workshop
LOCATION:Saffron Studio\, 14 MG Road\, Bengaluru
DESCRIPTION:Agenda: review Q3\, agree Q4 goals\; bring your team's numbers.
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Quarterly planning workshop
TRIGGER:-PT30M
END:VALARM
END:VEVENT
END:VCALENDAR
India is 5½ hours ahead of UTC, so 10:00 is written as 04:30Z. The UID and DTSTAMP change every time.
London after the clocks change. A webinar at 16:00 on 30 March 2027, Europe/London, gives DTSTART:20270330T150000Z: British Summer Time has started, so London is one hour ahead of UTC.
Two-day offsite. All-day, 19 to 20 November 2026, gives DTSTART;VALUE=DATE:20261119 and DTEND;VALUE=DATE:20261121.
Limits and tips
- The end must come after the start. An end time earlier than the start time is rejected on the same day, and an End date before the start date is rejected too. For an event that runs past midnight, set End date to the next day.
- For timed events in a chosen zone, only UTC times are stored, not the zone name, so calendars show the right local time but not the label “Asia/Kolkata”. Test the file in one calendar app before sending it out.
Frequently asked questions
How do I add the .ics file to my calendar?
Will people in other time zones see the right time?
Why does a two-day all-day event end on the third day?
Can I make a repeating event or invite guests?
Is the event sent anywhere?
Sources
- RFC 5545: Internet Calendaring and Scheduling Core Object Specification (iCalendar) — RFC Editor, accessed 2026-10-08
How do we know nothing is uploaded? Test it yourself on the privacy proof page.