The ICS Calendar Event Builder turns a simple form into a valid .ics
(iCalendar) file you can import into any calendar app — and gives you one-click
Add to Google and Add to Outlook links at the same time. It is for
anyone who needs to send a calendar invite, publish an event, share an
itinerary, or drop a recurring meeting onto someone else’s calendar without
wiring up a whole booking system. You fill in the title, location, dates,
recurrence and a reminder, and the tool produces a clean, standards-compliant
file that Google Calendar, Apple Calendar, Outlook, Thunderbird and Fastmail all
understand.
Most “add to calendar” widgets only generate a single web link for one provider.
This builder does more: it writes the actual RFC 5545 file with correct line
folding, character escaping, time-zone handling and recurrence rules, so the
event looks right no matter which app opens it. You can stack multiple events
into one file, attach a VALARM reminder, mark an event tentative or cancelled,
and add an organizer — all client-side, with your last draft auto-saved in your
browser so nothing is lost between visits.
How it works
Each event you create becomes a VEVENT block inside a single VCALENDAR
wrapper. The tool fills in the mandatory fields — a unique UID, a DTSTAMP,
and DTSTART / DTEND — then adds the optional ones you supply: SUMMARY,
LOCATION, DESCRIPTION, URL, STATUS and ORGANIZER. Free-text values are
escaped so that commas, semicolons and newlines never break the format, and long
lines are folded to 75 characters per the spec.
Timed events can carry an IANA time zone, written as a TZID parameter so the
event stays anchored to the correct local time. Pick Floating to keep the
same clock time everywhere, or UTC for an absolute instant. All-day events
are stored as date-only values, and because iCalendar treats the all-day end as
exclusive, the builder quietly adds a day so your span is correct. Recurrence is
expressed as a standard RRULE: frequency, interval, selected weekdays for
weekly events, and either a COUNT or an UNTIL end. A reminder becomes a
VALARM with a negative TRIGGER offset. The same data drives the Google and
Outlook deep-links, so the web buttons match the downloaded file.
Example
Suppose you want a stand-up that runs every weekday at 09:30 for 20 minutes,
with a 10-minute reminder. Set the start to 09:30 and the end to 09:50,
choose Weekly, tick Mon, Tue, Wed, Thu, Fri, and pick 10 minutes
before as the reminder. The recurrence summary reads “Every week on Mon, Tue,
Wed, Thu, Fri”, and the generated rule is RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR.
| Field | Value |
|---|---|
| Title | Daily stand-up |
| Start | 09:30 |
| End | 09:50 |
| Repeats | Weekly, Mon–Fri |
| Reminder | 10 minutes before |
| Export | daily-stand-up.ics |
Click Download .ics and import the file once; every weekday occurrence and its reminder appear automatically. Or click Add to Google to open the same event pre-filled in Google Calendar. Everything is computed in your browser — no event details are uploaded or stored on a server.