Make or edit a calendar event (.ics)
Fill in an event and download it as a calendar file, or open a .ics file and change it: the title, the time, the repeat rule, or a single date of a series. The page lists each date in the event's own time zone, in UTC and in up to two more zones, so you see what a clock change does. Everything happens inside your browser; nothing is uploaded.
Calendar Event Maker
- Runs on your deviceNo upload. Nothing you enter leaves your browser.
- Free, no accountNo sign-up, nothing stored on our servers. Limits: calendar files up to 5 MB and 5,000 events; the dates of a series are worked out for 100 years from its start; rules by the hour, minute or second, by week number or by day of the year are kept but their dates are not listed.
- FormatsEvent details typed in, or a .ics calendar file opened; .ics out
- Works onCurrent Chrome, Edge, Firefox and Safari, desktop and mobile.
How it works
- Type the title, the place and the times of the event and choose its time zone, or open a .ics calendar file from your device and pick the event to change.
- Choose how the event repeats. The list shows each date in the event's zone, in UTC and in the other zones you pick; change or skip a single date there.
- Download the .ics file, then open or import it in your calendar.
Questions
Which calendars open the file?
The file follows the iCalendar standard (RFC 5545), the format in which Google Calendar, Apple Calendar, Outlook and most other calendars import and export events. It carries the definition of the event's time zone with its clock changes, so a program that does not know the zone can still place the event. This site's tests read the files they make back with icalendar and recurring-ical-events, two independent open-source libraries, and compare each date with what the page lists. The calendar programs themselves are not part of those tests.
What happens to a meeting when the clocks change?
An event with a time zone keeps its clock time in that zone. A weekly call at 09:00 in New York stays at 09:00 there all year; in Singapore, which does not change its clocks, it moves from 21:00 to 22:00 when New York ends daylight saving time. Each date is one moment, shown once in UTC, and the list marks the first date after each clock change, for the event's zone and for the other zones you show. A time that a clock change skips, such as 02:30 on the night the clocks go forward, is read with the offset before the change, as the standard says; a time that happens twice is read as the first of the two. If a file writes an event's end in another time zone than its start, every date lasts as long as the first one, as RFC 5545 sets out; some calendar programs work such an end out differently when the clocks change during the event, and the page says so.
Does an all-day event stay on its date?
Yes. An all-day event is written as a date without a time or a zone, so it is the same date wherever the file is opened, and its end is written as the day after the last day, as the standard asks. Opening the file here again shows the same dates, whatever time zone your device is set to.
What changes in a file I open?
Only what you change. Until you change them, an event's times, its repeat rule and its skipped and changed dates are read exactly as the file writes them, and the page lists the dates they give, with its notes on how it reads anything unusual. Every line you did not touch is written back exactly as it was, byte for byte: other events, to-dos, time zone definitions, and fields this page does not show, such as guests. In an event you change, the changed fields are written anew, together with its date stamps (DTSTAMP, and LAST-MODIFIED if the event has one) and, when its time, its rule or its skipped dates changed, its SEQUENCE number, which tells a calendar that this version is the newer one. If you change the notes of an event that also carries them as formatted text (X-ALT-DESC), that copy is taken out, because it would still show the old notes. If a line that is written uses a time zone that the file names but does not define, the definition of that zone is added. The page lists all of these changes before you download. The file has to be UTF-8 text, as calendar files are.
How does changing one date of a series work?
The series keeps its rule and its extra dates; an event with extra dates (RDATE) and no rule is a series too. A changed date is added to the file as an event of its own that names the date it replaces (RECURRENCE-ID); a skipped date is added to the series as an exception (EXDATE). The other dates, and the changes and exceptions that were already in the file, stay as they are, each on the date it names; an extra date in an opened file (RDATE) is listed and can be changed or skipped like the others. If you move the whole series to another time, its skipped and changed dates follow it to the same days; one that the file wrote for a time the series never had stays as the file wrote it. Changing a date and all that follow in one step is not offered, and neither is adding extra dates to a series.
Which repeat rules does the page understand?
Daily, weekly, monthly and yearly rules with an interval, an end date or a number of times, days of the week, days of the month, months, and a position such as the last working day of the month. The form offers the common ones; any other can be typed in as a rule (RRULE). Rules by the hour, minute or second, by week number or by day of the year, events with more than one rule or with an EXRULE, and changes that apply to a date and all that follow are kept in an opened file as they are, but their dates are not listed and single dates of them cannot be changed here. Where calendars disagree, for example when the start does not fit the rule, the page says which reading it follows. The dates of a series are worked out for 100 years from its start.
Does the page send invitations or sync with my calendar?
No. It makes and changes files. It has no account and connects to no calendar service; guests and their answers in an opened file are kept untouched, and nothing is sent to them. A reminder is written into the file as a notice for the calendar to show; calendars may use their own reminder setting instead.
Is anything stored or uploaded?
No. The file is read and written inside your browser and saved only where you download it. The event is not kept after you close the page, so keep the .ics file; open it here again to change the event later.
Is anything uploaded?
No. The page loads a small script into your browser and every calculation runs on your device. You can check this yourself in the browser's network panel: after the page has loaded there are no upload requests. Closing the tab discards what you entered.
Do I need an account or to pay?
No. These basic tools are free and store nothing on our servers. The only limits are the tool's own: calendar files up to 5 MB and 5,000 events; the dates of a series are worked out for 100 years from its start; rules by the hour, minute or second, by week number or by day of the year are kept but their dates are not listed.
What does this page keep in my browser?
Nothing you open or type. While the tab is open, the tool pages keep a short list of the steps taken in it, in the tab's session storage: the step (page opened, started, succeeded, first success, used again or failed), the tool's name, the time, how many files were used and, for a failure, an error code; never a file name, the contents of a file or your text. It holds at most the latest 200 steps, and the browser deletes it when the tab closes. The page never sends it. Where a Report a problem button is shown, you can attach the last 20 steps to your report; nothing is attached unless you tick that box. In local storage the page keeps only choices you made: a Light or Dark theme until you choose System again, the language you picked with the EN / 中文 switch if it differs from your browser's language, and this tool in your recently used list if you switched that list on at the tools page.
Questions or problems
Found a problem or missing feature? Tell us. Please describe the steps; do not send confidential data.