Date & Time
ICS Calendar Event Generator
Create and download ICS (iCalendar) files for any event. Compatible with Google Calendar, Outlook, Apple Calendar, and any RFC 5545 calendar app.
iCalendar (.ics) format
The iCalendar standard (RFC 5545) defines a text format for calendar data supported by Google Calendar, Apple Calendar, Outlook, and virtually every other calendar application. Files use the .ics extension.
VEVENT structure
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//YourApp//EN
BEGIN:VEVENT
UID:unique-id@yourdomain.com
DTSTAMP:20240101T120000Z
DTSTART:20240615T090000Z
DTEND:20240615T100000Z
SUMMARY:Team Meeting
DESCRIPTION:Weekly sync
LOCATION:Conference Room A
END:VEVENT
END:VCALENDAR iCalendar properties reference
| Property | Description | Example |
|---|---|---|
DTSTART | Event start date/time | 20240615T090000Z |
DTEND | Event end date/time | 20240615T100000Z |
SUMMARY | Event title | SUMMARY:Team Meeting |
DESCRIPTION | Detailed description (use \n for line breaks) | DESCRIPTION:Agenda item 1\nItem 2 |
LOCATION | Location string or URL | LOCATION:Conference Room A |
RRULE | Recurrence rule | RRULE:FREQ=WEEKLY;BYDAY=MO |
VALARM | Reminder component | TRIGGER:-PT15M (15 min before) |
UID | Unique event identifier | Should be globally unique |
Recurring events (RRULE)
The RRULE property defines repeating patterns using a structured syntax:
RRULE:FREQ=DAILY;COUNT=5- repeat daily for 5 occurrencesRRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR- every Monday, Wednesday, FridayRRULE:FREQ=MONTHLY;BYDAY=1MO- first Monday of each month-
RRULE:FREQ=YEARLY;UNTIL=20261231T000000Z- annually until December 31, 2026
Timezone handling
Use the TZID parameter with a standard IANA timezone name rather than converting all
times to UTC. This prevents Daylight Saving Time ambiguity:
DTSTART;TZID=America/New_York:20240615T090000
Using UTC (Z suffix) is simpler but means the event will shift by one hour in local
time when DST transitions occur. TZID-based times always represent the correct local time regardless
of clock changes.
Key date format
Dates use ISO 8601: YYYYMMDD for all-day events; YYYYMMDDTHHmmSSZ for
timed events (Z = UTC). Omit Z and add a TZID for local time zones.