No upload, 100% local, no account

ICS calendar generator

Fill in one or more events and download a standard .ics file any calendar app can import.

How ICS calendar generator works

ICS calendar generator builds a standard .ics calendar file for one or more events entirely in your browser: give each event a title, an optional description and location, and a date (or a start/end date-time for a timed event), and download a file any calendar app can import (Google Calendar, Apple Calendar, Outlook, Thunderbird...). Nothing you type is sent anywhere; the file is generated and offered as a download from your own device.

The generator follows the RFC 5545 iCalendar format: text is escaped per spec (commas, semicolons, backslashes and line breaks), long lines are folded at 75 octets, and all-day events use the VALUE=DATE form so they land on the right calendar day regardless of time zone. Timed events are written as floating local time, meaning no time zone database is bundled or claimed: the calendar app that opens the file displays the event in whatever time zone it is currently set to.

How to use ICS calendar generator, step by step

  1. Enter a title for your event.
  2. Toggle "All-day event" or fill in a specific start and end date/time.
  3. Optionally add a location and a description.
  4. Click "Add another event" to build a multi-event calendar file, or download right away.
  5. Click "Download .ics" and open the file in your calendar app to add it.

Common use cases

  • Sharing a one-off meeting or appointment as a file when the other person does not use the same calendar service as you.
  • Building a small multi-day itinerary (conference sessions, a trip schedule) as a single downloadable calendar file.
  • Adding a personal reminder with a specific location and description without creating an account on any calendar app.
  • Generating an .ics attachment for an invitation email you are composing by hand.

Frequently asked questions

Does this tool upload my event details to a server?

No. The .ics text is built entirely in your browser from the fields you filled in, and the download is a local file offered by your own device. Nothing about your events, titles, locations or times is transmitted anywhere.

What time zone do timed events use?

Timed events are written as RFC 5545 "floating" local time: no time zone database is shipped, so the file does not embed a specific IANA zone. The calendar app that opens the file will display the event using whatever time zone that app is currently set to, which is the same behavior most simple .ics generators use.

Can I add more than one event to the same file?

Yes. Use "Add another event" to add as many events as you want; downloading produces a single .ics file containing all of them as separate entries, importable together.

What happens if I leave the end date/time empty?

An all-day event with no end defaults to a single day. A timed event with no end defaults to a 1-hour duration starting from your chosen start time.

Does this support recurring events (daily, weekly...)?

No, not in this version. Each entry is a single, one-off event. For a repeating series, add each occurrence as its own event in the same file.

Will special characters in my title or description break the file?

No. Commas, semicolons, backslashes and line breaks in any text field are escaped exactly per the RFC 5545 specification before being written into the file, so calendar apps parse them correctly.