Skip to content

Add-to-Calendar & ICS

Builds Google, Outlook.com, Office 365 and Yahoo calendar links plus a downloadable .ics that Apple Calendar and Outlook desktop read.

One event, written twice: as an .ics file that every desktop client reads, and as the four “add to calendar” links that open Google, Outlook.com, Office 365 and Yahoo with the fields already filled in. The awkward parts of RFC 5545 — all-day end dates, repeat rules, reminders — are handled rather than left to the person writing the email.

🔒 Runs entirely in your browsercalendaricseventgenerator

The event

Repeats

Add to a calendar

These open the provider's own event editor with the fields filled in; nothing is created until the person presses save.

The .ics file

Apple Calendar, Outlook desktop, Thunderbird and every other client read this format. Attach it to an email and it becomes an invitation.

Times are written in UTC rather than with a TZID. A TZID is only valid alongside a matching VTIMEZONE block carrying that zone's daylight-saving rules, and a wrong one is worse than none — converting once, here, using your browser's own zone database, is exact.

How to use it

  1. Fill in the event

    Title, start, length, place. The time zone defaults to yours and can be changed — the conversion happens here, once.

  2. Add a repeat or a reminder if you need one

    Daily, weekdays, weekly, monthly, yearly, with an optional number of occurrences. The reminder is written as a VALARM, which desktop clients honour and the web links mostly ignore.

  3. Send the link, or attach the file

    A link is right for a chat message; the .ics is right for an email, where it becomes an invitation the recipient can accept in one click.

Common questions

Does pressing the link create the event?

No. It opens that provider’s own event editor with the fields filled in. Nothing exists until the person presses save, which is also why the link cannot fail silently on their side.

Why does the file use UTC instead of my time zone?

A `TZID` is only meaningful when the file also carries a `VTIMEZONE` block with that zone’s full daylight-saving history, and a wrong VTIMEZONE is more damaging than none. Converting once here, using your browser’s own zone database, is exact and needs no such block.

My one-day event covers two days in the calendar

RFC 5545 makes the end date of an all-day event exclusive — a single day on the 5th ends on the 6th. Tools that write the 5th produce an event that looks half a day short; this writes the 6th, which is why a client that displays it correctly shows one day.

Can I put several events in one file?

Not from this page — it writes one VEVENT per file. For a series, use the repeat rule; for a set of unrelated events, make one file each.

Feed it from

Next

These accept what this tool produces, so the result can go straight in.