Start time
Mistake: Entering a local time while assuming automatic timezone conversion.
Fix: Convert the intended start to UTC before entering it. Check the imported calendar event's displayed local time.
Prepare a UTC event or recurring series for import into Google Calendar and other iCalendar applications.
Runs offline in your browser. Once the page and required files have loaded, processing needs no internet.
Runs in your browser
Prepare a UTC event or recurring series for import into Google Calendar and other iCalendar applications.
No. Enter UTC, not your local clock time. This creates one event or one repeating series; it does not synchronize, detect conflicts or notify attendees. Monthly and yearly recurrences follow calendar rules and skip invalid dates. Calendar import behavior may vary. The same inputs produce the same event identifier.
Inputs are processed on this page and are never sent to a server.
Interpret the entered start as UTC and add the duration in minutes to obtain the end. Escape iCalendar text and emit a VEVENT with DTSTART, DTEND, UID and an optional RRULE. Fold lines at 75 UTF-8 bytes without splitting a character. Download the ICS file and import it into your calendar.
Event title · Start · UTC · Duration · min · Recurrence · Occurrences · Location
Prepare a UTC event or recurring series for import into Google Calendar and other iCalendar applications.
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//ListFan//Local Calendar Builder//EN CALSCALE:GREGORIAN BEGIN:VEVENT UID:20260922T180000Z-8367d941@list.fan DTSTAMP:20260922T080906Z DTSTART:20260922T180000Z DTEND:20260922T19
DTEND = DTSTART + duration × 60 s
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//ListFan//Local Calendar Builder//EN CALSCALE:GREGORIAN BEGIN:VEVENT UID:20260922T180000Z-8367d941@list.fan DTSTAMP:20260922T080906Z DTSTART:20260922T180000Z DTEND:20260922T190000Z SUMMARY:2026-09-22 END:VEVENT END:VCALENDAR
No. Enter UTC, not your local clock time. This creates one event or one repeating series; it does not synchronize, detect conflicts or notify attendees. Monthly and yearly recurrences follow calendar rules and skip invalid dates. Calendar import behavior may vary. The same inputs produce the same event identifier.
Calculations run on your device. Form inputs are not sent to a server.
One line, up to 500 characters; exported as SUMMARY.
Enter the source text; it is processed locally.
Enter a valid UTC date and time. The browser's timezone is not applied.
Enter the date or time in the format shown.
Whole minutes from 1 to 10080. The end is start plus this duration.
Enter a whole number; fractional counts are not valid.
Minimum: 1 · Maximum: 10080
Choose no recurrence or a daily, weekly, monthly or yearly frequency.
Choose the mode that matches the data you entered.
Options: No recurrence · Daily · Weekly · Monthly · Yearly
For recurring events only: 1–1000 occurrences including the first event.
Enter a whole number; fractional counts are not valid.
Minimum: 1 · Maximum: 1000
Optional plain text, up to 1000 characters. No address lookup or geocoding.
Enter the source text; it is processed locally.
Interpret the entered start as UTC and add the duration in minutes to obtain the end. Escape iCalendar text and emit a VEVENT with DTSTART, DTEND, UID and an optional RRULE. Fold lines at 75 UTF-8 bytes without splitting a character. Download the ICS file and import it into your calendar.
Calculated from your entries using the method below.
Mistake: Entering a local time while assuming automatic timezone conversion.
Fix: Convert the intended start to UTC before entering it. Check the imported calendar event's displayed local time.
Read how ListFan and third-party services handle your data. See GDPR policy