BYTETOOLS

ICS Calendar File Generator

Build a valid .ics calendar file with UID, DTSTAMP, TZID or UTC times, a reminder and recurrence, then download it for Google Calendar, Outlook or Apple.

Calendar file — 40 lines

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//ByteTools//Calendar Tools//EN
CALSCALE:GREGORIAN
BEGIN:VTIMEZONE
TZID:Europe/London
BEGIN:DAYLIGHT
DTSTART:20260329T010000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
TZOFFSETFROM:+0000
TZOFFSETTO:+0100
TZNAME:DST
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:20261025T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
TZOFFSETFROM:+0100
TZOFFSETTO:+0000
TZNAME:STD
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
UID:1ssdec01g9uscg@bytetools
DTSTAMP:20260105T120000Z
DTSTART;TZID=Europe/London:20260112T093000
DTEND;TZID=Europe/London:20260112T103000
SUMMARY:Quarterly planning review
LOCATION:Meeting room 2\, 14 King Street
DESCRIPTION:Bring the roadmap\; we will agree next quarter's priorities.\nA
 genda\, notes and actions live in the shared drive.
STATUS:CONFIRMED
TRANSP:OPAQUE
SEQUENCE:0
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:Quarterly planning review
TRIGGER:-PT15M
END:VALARM
END:VEVENT
END:VCALENDAR

Lines end with CRLF and are folded at 75 octets as RFC 5545 requires, so the file imports cleanly into Google Calendar, Outlook and Apple Calendar. The preview above shows the folding as it will be saved.

What is the ICS Calendar File Generator?

The ByteTools ICS File Generator writes an iCalendar (. ics) file by hand from the fields you fill in: event title, location, description, start and end, organiser and URL.

  • Four time modes: TZID with a real VTIMEZONE block, UTC, floating or all-day
  • Optional VALARM display reminder from 0 to 40320 minutes before the event
  • Recurrence rules are parsed and rejected before they can reach the file
  • CRLF line endings and 75-octet line folding exactly as RFC 5545 requires
  • Status, free/busy transparency, organiser email and event URL fields
  • Live preview with copy to clipboard and a one-click .ics download

How to use the ICS Calendar File Generator

  1. 1

    Fill in the event title, location and description — commas, semicolons and line breaks are escaped for you.

  2. 2

    Choose how the times should be interpreted: a fixed time zone, UTC, floating local time or an all-day event.

  3. 3

    Set the start and end dates and times, then pick a status and whether the organiser shows as busy or free.

  4. 4

    Tick the reminder box to add a VALARM, or the repeat box to attach a validated recurrence rule.

  5. 5

    Read the preview, then copy the file or download it as .ics and import it into your calendar.

About the ICS Calendar File Generator

The ByteTools ICS File Generator writes an iCalendar (.ics) file by hand from the fields you fill in: event title, location, description, start and end, organiser and URL. It emits a complete VCALENDAR with a VEVENT inside, a stable UID and a DTSTAMP, so the file imports cleanly into Google Calendar, Outlook, Apple Calendar and anything else that reads RFC 5545.

Four time modes cover the cases people get wrong. Fix the event to an IANA time zone and a matching VTIMEZONE block is written alongside it; choose UTC for a Z-suffixed instant; choose floating for a local time that means 9am wherever the reader is; or make it an all-day event using DATE values, with the exclusive end date handled for you.

You can add a display reminder (VALARM) and a recurrence rule, which is parsed and validated before it is written so a broken RRULE never ships inside the file. Everything runs 100% locally in your browser — the event details are never uploaded to a server, which matters when the summary and location describe a real meeting.

Frequently asked questions

What is an ICS file?

An ICS file is a plain-text calendar file in the iCalendar format defined by RFC 5545. It describes events with fields such as SUMMARY, DTSTART, DTEND and UID. Every major calendar app — Google Calendar, Outlook, Apple Calendar — can import one by opening it or receiving it as an email attachment.

How do I add an ICS file to Google Calendar?

Download the file from this page, then in Google Calendar open Settings, choose Import and export, and select the .ics file. Outlook and Apple Calendar usually import it when you simply open the downloaded file, and attaching it to an email lets recipients add the event in one click.

Should I use UTC or a time zone in my ICS file?

Use a TZID with a VTIMEZONE block when the event happens at a fixed local time in a particular city, such as a 09:30 meeting in London. Use UTC when the instant matters more than the wall clock. Use floating time only when the event should read the same in every zone.

Why does my all-day event end a day early?

In iCalendar a DATE-valued DTEND is exclusive, so a one-day event on 3 April must be written with DTEND on 4 April. This generator adds that extra day automatically, which is why the preview shows an end date one later than the one you typed. Calendars will still display the correct single day.

Does this tool upload my event details anywhere?

No. The whole file is assembled by JavaScript in your browser and nothing is sent to a server, so meeting titles, locations and organiser emails never leave your device. The page keeps working with no network connection at all.

Can one ICS file contain a repeating event?

Yes. Tick the repeat box and give a recurrence rule such as FREQ=MONTHLY;BYDAY=3TH. The rule is validated first and written as a single RRULE line inside the VEVENT, so the calendar app expands the occurrences itself rather than storing hundreds of separate copies.

Related tools