Skip to content
iCalendar (.ics) File Generator
JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

iCalendar (.ics) File Generator


See live demo here!

Building this

Clone/fork/download this repository, then run npm install and bower install to install project dependencies.

Next, you'll need to find var bitly = Bitly.setLogin('BITLY_LOGIN').setKey('BITLY_API_KEY').setCallback(updateShortLink); and replace BITLY_LOGIN with your login, and BITLY_API_KEY with your API key.

You'll also need to find gapi.client.setApiKey('GOOGLE_API_BROWSER_KEY'); and replace GOOGLE_API_BROWSER_KEY with your Google API Browser Key.

Finally, grunt build to build. After that you can simply use the dist folder.


There are numerous iCalendar (.ics) generators already available, but I could not find one that met my needs:

  • Most of the existing .ics generators don't support timezones.
  • Most of the existing .ics generators don't handle timezones correctly, even if they had some support for it.
  • Most of the existing .ics generators that support timezones require the user to convert it to UTC, EST or some other timezone first, manually.
  • None of them allowed creating an .ics file directly from the URL. I really wanted this function as I did not like the constant hassle of creating an .ics file, hosting it, and then linking to it.


The iCalendar generator I made is based entirely on JavaScript and does not require any server-side components. It supports various timezones by storing the date and time in UTC, and you can also generate a link that will automatically generate and download an ICS file.

External Libraries

This uses a number of other libraries (bower.json shows all of them), key ones being:


Refactor/clean up code.

You can’t perform that action at this time.