Free ICS File Generator

Create an .ics calendar file in seconds, plus ready-to-share add-to-calendar links for Google, Outlook, Office 365, Yahoo, and Apple Calendar. No sign-up, no upload. It all runs in your browser.

Details

Add to calendar

Copy a link to share, or open it to add the event to your calendar.

How to create an .ics file

You do not need any software to make an ICS file. Fill in the form above and the file is built for you, entirely in your browser.

  1. Enter a title, pick the time zone, and set the start and end time. Add a location or description if you want them in the invite.
  2. The .ics file is generated as you type. Nothing is uploaded, so you can adjust the details as many times as you like.
  3. Click Download .ics file. Open it to add the event to Apple Calendar or Outlook, import it into Google Calendar, or attach it to an email so recipients can add the event in one tap. On an iPhone, see how to add an ICS file to your iPhone calendar.
  4. Prefer a link? Copy the add-to-calendar link for Google, Outlook, Office 365, Yahoo, or AOL and paste it anywhere.

Make an ICS file by hand

An .ics file is plain text, so you can also write one in any text editor and save it with a .ics extension. This is a minimal file for a single event:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Your Name//Handmade ICS//EN
BEGIN:VEVENT
UID:team-standup-20260615@example.com
DTSTAMP:20260601T120000Z
DTSTART:20260615T130000Z
DTEND:20260615T133000Z
SUMMARY:Team standup
END:VEVENT
END:VCALENDAR

Dates use the form YYYYMMDDTHHMMSS, the trailing Z means the time is in UTC, and every event needs its own UID. Formatting mistakes are the usual reason a handmade file refuses to import, which is why the generator above is the safer way to create one. If you do write it yourself, run it through the ICS validator before sending it.

More free calendar tools

Frequently asked questions

Have a screenshot or email instead?

Skip the form. Drop a screenshot, email, or PDF and the event extractor turns it into calendar events automatically.

Try the event extractor