Open Web Calendar

The Open Web Calendar uses ICS/ICal calendars online and displays them in one calendar. You can use it with Nextcloud, Outlook, Google Calendar, Meetup and other calendar systems using the ICS standard.

English Esperanto(53%) French/Français(84%) German/Deutsch Hrvatski/Croatian Indonesian/Bahasa Indonesia(78%) Italiano/Italian Norwegian Bokmål/Norsk bokmål(84%) Polski/Polish(52%) Spanish/Español Türkçe/Turkish 中文/Chinese(76%) Translate

To merge several calendars, please input the URLs of the ICS calendars here:

To embed the calendar, use this code on your website:

                    You can view the resulting calendar below.

You can make additional customizations of the calendar.


To change the title, please input the name of the calendar here:

Starting date

To change the starting date of the calendar:

First Hour

To change the first hour of the calendar view:

Last Hour

To change the last hour of the calendar view:

Time Increment

Change time increment in the day & week view:

Clock Convention

You can choose between the 24 hour clock and the 12 hour clock. More options are possible. View the specification.


You can set the language of the calendar.



You can select different skins for the calendar.


Events may have locations and URLs. If you embed the calendar into a website, you can choose where the clicked link opens the page.

Days of the Week

Custom Style with CSS

You can change the color of your calendar and many more properties using CSS. Your customization has priority over the Skin you choose. Below, you can choose from a few customizations we prepared for you.

You can specify your own CSS properties if you like. These are examples of CSS classes to style events: .event {} .UID-... {} .CATEGORY-... {} .CALENDAR-INDEX-0 {} .CALENDAR-INDEX-... {} .TRANSP-OPAQUE {} .TRANSP-TRANSPARENT {} .CLASS-PRIVATE {} .CLASS-CONFIDENTIAL {} .CLASS-PUBLIC {} .STATUS-TENTATIVE {} .STATUS-CONFIRMED {} .STATUS-CANCELLED {} .PRIORITY-1 {} .PRIORITY-... {} .error {}

Event Status

Change the look of the event description depending on the status:

Loading Animation

In some cases, the server takes quite a time to load the calendar. In case the server uses a free plan on Heroku, the server needs to start first.

Calendar Tabs

The Month view is the default. However, you can choose to show a different view in the beginning. Choose one:

It might be that you do not want to show all controls for the users to see. Choose here which controls you would like to display:

Time Zone

The timezone is taken from the browser of the user. If you want your calendar to be fixed in one timezone, you have the option below. Your browser uses this time zone: loading…

Hosting the Specification

The calendar can be generated not only using the URL, but also through a JSON or YAML specification from a file. The customization above generates this specification:

                    You can download this specification and place it somewhere on the web. This way you are still in control over the customization of the calendar after you shared the link, e.g. on GitHub in a Gist.
                    Once you have placed the specification somewhere online, you can create a link like this one: