iCalendar (.ics) Generator

Compose a single calendar event in your browser. Pick the summary, description, start and end, choose a recurrence rule if you want one, and copy or download the resulting RFC 5545 .ics file. Imports cleanly into Google Calendar, Apple Calendar, Outlook, Thunderbird, and Fastmail. Pure client-side — nothing leaves the browser.

Time mode

Leave the end blank for a 1–hour default duration.

Recurrence (RRULE)
People
 

Output is plain text — paste into a file named event.ics and import it into your calendar app, or use the download button to save the file directly.

About RFC 5545 and the three time modes
  • Floating events use the wall-clock fields directly. They happen at the same time wherever the viewer is. Use them for "every Monday at 09:00" meetings, regardless of the participants' time zones.
  • UTC events are stamped at a specific moment in UTC. Good for deadlines and global meetings where the exact moment matters.
  • Zoned events are stamped at a specific moment in a named IANA time zone (e.g. America/New_York). Most domestic appointments use this mode.
  • The recurrence rule follows RFC 5545 §3.3.10. The presets cover the common cases (daily, weekday, weekly, monthly, yearly, every 2 weeks). For more complex patterns use the Custom field — the rules are documented in the RFC and the iCalendar validator at icalendar.org.
  • Attendees are emitted with ROLE=REQ-PARTICIPANT, PARTSTAT=NEEDS-ACTION, and RSVP=TRUE. Most calendar apps will create an invitation email when the file is imported.
  • Nothing leaves the browser. The lib is plain TypeScript; the page is a thin form wrapper around it.