Written by the Utiliby editorial team · Last updated October 12, 2026 · Rules and formulas reviewed October 2026
What is an ICS file and what does this generator do?
An ICS file, also called an iCalendar file or .ics file, is the universal way to move a calendar event from one place to another. It is a small text file that describes an event: what it is called, when it starts and ends, which time zone it uses, where it takes place, whether it repeats and when to remind you. Because the format is an open internet standard (RFC 5545), Apple Calendar, Google Calendar, Microsoft Outlook, Thunderbird, Yahoo Calendar and almost every other calendar app can read it.
This free online ICS file generator builds that file for you. You type the details in a normal form, and the tool writes a correct, standards-based file in your browser. It also builds Add to Calendar links for Google Calendar, Outlook.com, Microsoft 365 and Yahoo, previews every date of a repeating event, creates many events at once from a pasted list and checks existing .ics files for mistakes. Nothing is uploaded, nothing is stored and no account is required.
How to create a calendar event file step by step
- Enter the basics. Add a title, a location or meeting link and a short description. The preview card updates as you type.
- Set the date and time. Pick the start and end, or choose a quick duration. Tick All-day event if there is no time.
- Choose the time zone. Use your device's zone, a named zone such as America/New_York, UTC, or floating time.
- Add a repeat if needed. Choose daily, weekly, monthly or yearly, set the interval and the end, and skip any dates that should not happen.
- Pick reminders. Tick the alerts you want, for example 15 minutes and one day before.
- Download or copy. Press Download .ics file to get the file, or open the links tab to copy an Add to Google Calendar or Outlook link.
Open the Dates preview tab before you share the event. It shows a mini calendar and a list of every occurrence, so you can see at once if a monthly rule lands on the right day.
What is inside an ICS file
Reading a calendar file is easier than it looks. Every line is a property name, an optional list of parameters and a value. Blocks start with BEGIN: and end with END:. The whole file sits inside VCALENDAR, each event inside VEVENT, each reminder inside VALARM and each time zone definition inside VTIMEZONE.
| Property | Meaning |
|---|---|
| UID | A unique ID. Calendar apps use it to recognise the same event if you import it again. |
| DTSTAMP | When the file or event was created, always in UTC. |
| DTSTART and DTEND | Start and end. For all-day events the end date is the day after the last day. |
| SUMMARY | The title of the event. |
| DESCRIPTION and LOCATION | Notes and place. Commas, semicolons and line breaks are escaped. |
| RRULE and EXDATE | The repeat rule and the dates to skip. |
| VALARM | A reminder, with a trigger such as -PT15M for 15 minutes before. |
| STATUS, TRANSP, CLASS | Confirmed or tentative, busy or free, public or private. |
Lines longer than 75 bytes are folded onto the next line, which begins with a space. The generator does this for you, including for accented and non-Latin characters, so a long description or an address in any language stays valid.
Time zones and daylight saving time, explained
Time zones cause most calendar mistakes. An event at 9:00 a.m. in New York is 2:00 p.m. in London for part of the year and 1:00 p.m. for another part, because the two places change their clocks on different dates. A calendar file can describe time in three ways.
- Named time zone. The start is written with a
TZIDsuch as Europe/Paris and the file includes aVTIMEZONEblock that tells the app the zone's offsets and daylight-saving rules. This is the best choice for a real meeting at a real place, because everyone sees their own correct local time. - UTC. The time ends in
Z. It is the same instant everywhere, which is useful for global events defined in UTC, but a weekly UTC meeting drifts by an hour in local time when clocks change. - Floating time. No zone at all. 9:00 means 9:00 wherever you are. It suits habits and reminders, and it is wrong for a meeting between people in different zones.
The generator finds the zone's real offset changes in your browser and writes them into the file. If a zone has a regular yearly rule, such as the last Sunday of March, the file contains a repeating rule so events years ahead are still right.
Repeating events, RRULE and skipped dates
A repeating event is stored once, with an RRULE that says how to create the other occurrences. The rule has a frequency (daily, weekly, monthly or yearly), an optional interval, optional details such as BYDAY=MO,WE and an end given by COUNT or UNTIL. Only one of those two ends is allowed.
Two points deserve care. First, a monthly event on the 31st is skipped in months that have no 31st, and a yearly event on 29 February happens only in leap years. That is how the standard works, so choose last weekday or a different day if you need every month. Second, the count includes skipped dates. If you ask for ten weekly meetings and skip one date, the series still ends on the same day as the tenth occurrence.
Use the Dates preview tab to see the effect of any setting. Skipped dates appear struck through and the mini calendar marks them in red.
Add to Google Calendar, Outlook and Yahoo links
An add-to-calendar link is an ordinary web address that opens a calendar service's new-event form with your details already filled in. It is the easiest way to let visitors save a webinar, a launch or a class to their calendar without downloading a file. The generator builds links for four services.
- Google Calendar accepts title, dates, time zone, location, description, guests and a repeat rule.
- Outlook.com and Microsoft 365 accept title, start, end, location and description.
- Yahoo Calendar accepts title, start, end or duration, location and description.
- Apple Calendar and most other apps use the .ics file.
For a button that works for everyone, offer both: the service links for convenience and a download link to the .ics file as a universal option. The ready-made HTML in the links tab includes the service links. Remember that the details are part of the link's address, so avoid putting private information in an event you publish.
Create many calendar events from a list
If you have a course timetable, a webinar series, a list of match days or a set of deadlines, entering events one by one is slow. The Many events at once tab turns a pasted list into one file. Write one event per line: the date, an optional time range, the title and optionally a location and a description, separated by vertical bars. Lines without a time become all-day events, and lines with only a start time last one hour. The tool reports any line it cannot read and tells you what to fix.
Import the resulting file once and every event appears together. Most calendar apps let you choose a separate calendar for the import, which makes it easy to remove the whole set later.
Check an ICS file that will not import
When an .ics file fails to import, the cause is nearly always small: a missing required line, a missing END:VEVENT, a time zone name the file never defines, both COUNT and UNTIL in a repeat rule, or an all-day end date that equals the start date. The checker reads the pasted text, unfolds long lines and reports each problem in plain language, then lists the events it found with their start, end and repeat rule.
It checks structure, not every rule of the standard, so a clean result is a good sign rather than a guarantee. If a file still misbehaves in one app, try importing it into a second app to see whether the problem lies with the file or the app.
Practical uses: events, courses, bookings and reminders
- Webinars and online events. Put an Add to Calendar link on the thank-you page and in the confirmation email to reduce no-shows.
- Schools and courses. Give students one file with every lecture and exam date.
- Clubs and sports. Share fixtures and training sessions as a file members can subscribe to or import.
- Businesses. Add appointment confirmations, delivery windows or opening-day events to a booking email.
- Personal planning. Create birthdays, anniversaries, bill dates, renewals and yearly reminders with alerts.
- Travel. Add flights, check-ins and tours with the correct local time zone.
Tips for events people will actually attend
- Put the most important information in the title, such as the topic and the format.
- Include the meeting link or address in the location field, where phones show it in one tap.
- Use a named time zone for anything involving more than one place.
- Add a reminder that matches the effort needed to get ready, such as one day before for a trip and 10 minutes before for a call.
- State the time zone in the description as well, so the event is clear even if the file is printed.
- For a series, preview the dates, and skip public holidays you know about.
Common mistakes with calendar files and links
- Using floating time for a shared meeting. Each person sees the same clock time in their own zone, which is almost never what you want.
- Forgetting that the all-day end date is exclusive. A one-day event must end on the following date in the file. The form handles this for you.
- Putting both COUNT and UNTIL in a rule. The standard forbids it.
- Expecting a link to repeat. Only Google Calendar links carry a repeat rule.
- Sending an update without a stable ID. A new ID creates a second event rather than changing the first.
- Assuming reminders always import. Some apps replace imported alerts with their own defaults.
Privacy
The generator runs in your browser. The title, description, location, guests and every other detail stay on your device, and the file is created locally. Nothing is stored, and reloading the page clears the form. A link you generate contains your event details in its address, so share it only with the people who should see them.
Frequently asked questions
What is an ICS file?
An ICS file is a plain-text calendar file that follows the iCalendar standard (RFC 5545). It describes one or more events with a title, start and end time, time zone, location, repeat rule and reminders. Apple Calendar, Google Calendar, Outlook and most other calendar apps can import it.
How do I create an ICS file for free?
Type the event title, choose the date and time, pick a time zone and press Download .ics file. The generator builds the file in your browser. Open the downloaded file and your calendar app adds the event. There is no sign-up and nothing is uploaded.
How do I make an Add to Google Calendar link?
Fill in the event and open the Add-to-calendar links tab. The Google Calendar link opens Google Calendar with the title, time, location and description already filled in, so the person only has to press Save. Copy the link or the ready-made HTML and paste it into your website or email.
Can I create an Add to Outlook or Add to Yahoo link?
Yes. The links tab also gives links for Outlook.com, Microsoft 365 and Yahoo Calendar. These open the event form in that service with your details filled in.
Do add-to-calendar links support repeating events?
Google Calendar links accept a repeat rule and the generator adds it. The Outlook, Microsoft 365 and Yahoo links open a single event, so for a repeating event use the .ics file, which carries the full repeat rule.
How do I import an ICS file into Google Calendar?
Open Google Calendar on a computer, choose Settings, then Import and export, select the .ics file and pick the calendar to add it to. You can also double-click the file on a computer where Google Calendar is your default app, or open it from email on a phone.
How do I open an ICS file in Outlook or Apple Calendar?
In Outlook, double-click the file or use File, Open and Export, Import. In Apple Calendar on a Mac, double-click the file and choose the calendar. On an iPhone, tap the file in Mail or Files and choose Add to Calendar.
What time zone should I choose?
Choose the time zone where the event actually happens or where the organizer is. A named zone such as Europe/Paris makes the event show at the correct local time for everyone, and the generator includes the daylight-saving rules. Floating time shows the same clock time in whatever zone the viewer's calendar uses, which suits things like a daily reminder to take a break. UTC is useful for events that are defined in UTC.
Does the generator handle daylight saving time?
Yes. For a named time zone the file includes a VTIMEZONE block with the zone's daylight-saving rules, so repeating events keep the same local time across clock changes.
How do I make a repeating event?
Choose Daily, Weekly, Monthly or Yearly under Repeat, set the interval, pick weekdays for weekly events and choose how it ends: never, after a number of times or on a date. You can also skip specific dates. The Dates preview tab shows every occurrence so you can check the pattern.
What is an RRULE?
RRULE is the repeat rule in an iCalendar file, for example FREQ=WEEKLY;BYDAY=MO,WE;COUNT=10. It tells the calendar app how to generate future occurrences from the first one. The generator writes a valid RRULE for you.
Can I add reminders to the event?
Yes. Tick one or more reminders, from the time of the event up to one week before. They are written as alarms in the file. Some apps ignore alarms in imported events or replace them with the calendar's default reminder.
Can I invite guests with this tool?
You can add guest emails and an organizer email, and the file then includes organizer and attendee lines. The generator does not send email. You still need to send the file yourself, and some calendar apps show the event as a plain event rather than an invitation they can reply to.
How do I create many events at once?
Use the Many events at once tab. Paste one event per line as date, optional start-end time, title, location and description separated by vertical bars. The generator builds a single .ics file that contains every event.
How do I make an all-day event?
Tick All-day event. The generator writes date-only start and end values. In the file the end date is the day after the last day, as the standard requires, but you enter the last day in the form.
Can I check an ICS file that does not import?
Yes. Paste the text into Check an .ics file. The checker looks for missing required properties, unbalanced BEGIN and END lines, unfolded long lines, a time zone that is used but not defined and rules that break the standard, and lists the events it finds.
Why does my event show at the wrong time?
The usual cause is a time zone mismatch, such as a floating time or a zone name the calendar app does not know. Choose a named time zone, check that the preview shows the right time and make sure the device's own time zone is correct.
Is my event data private?
Yes. The file and links are created in your browser. The details you type are not sent to a server and are not stored. A link you create contains the details in its address, so anyone you give the link to can see them.
Is the ICS file generator really free?
Yes. It is free to use online with no account, watermark or limit on the number of files.
Can I put the generated links on my website?
Yes. Copy the ready-made HTML from the links tab and paste it into your page or email. For a button that works in all calendar apps, also host the .ics file and link to it.
What is the difference between an ICS link and an ICS file?
An ICS file is the event data itself. A link, such as an Add to Google Calendar link, is a web address that opens a calendar service with the event details pre-filled. Files work in every app and carry repeat rules and reminders. Links are convenient on a web page but work with one service at a time.
Can I update or cancel an event I already sent?
Calendar apps match events by their unique ID. Importing a file with the same ID and a higher sequence number can update an event in some apps, and setting the status to Cancelled can mark it cancelled. Behaviour varies, so for important events send a short message as well.
Sources and further reading
- Internet Engineering Task Force, RFC 5545: Internet Calendaring and Scheduling Core Object Specification (iCalendar), including the VEVENT, VALARM, VTIMEZONE and RRULE definitions.
- Internet Engineering Task Force, RFC 5546: iCalendar Transport-Independent Interoperability Protocol (iTIP), for organizer and attendee methods.
- IANA Time Zone Database documentation, the source of the named time zones used in the time zone list.
- Google Calendar Help, adding events to Google Calendar and importing events from a file.
- Microsoft Support, importing an iCalendar (.ics) file into Outlook.
- Apple Support, adding events and importing calendar files in Calendar.
Sources were consulted in October 2026. Standards and rules can change, so always check the official page for your situation.