JavaScript Add To Calendar Library - OuiCal

Easily add an add-to-calendar button to your online events


A simple JS library that enables you to add an "add to calendar" button for your upcoming events.


This project was inspired by Eventbrite's add to calendar feature (which should have been open sourced #justSayin).

How to use it?

Call 'createCalendar' with your event info, pass in any optional parameters such as a class and/ or id and boom! Insert your add-to-calendar div wherever you'd like.

The only fields that are mandatory are:


var myCalendar = createCalendar({
  options: {
    class: 'my-class',

    // You can pass an ID. If you don't, one will be generated for you
    id: 'my-id'
  data: {
    // Event title
    title: 'Get on the front page of HN',

    // Event start date
    start: new Date('June 15, 2013 19:00'),

    // Event duration (IN MINUTES)
    duration: 120,

    // You can also choose to set an end time
    // If an end time is set, this will take precedence over duration
    end: new Date('June 15, 2013 23:00'),     

    // Event Address
    address: 'The internet',

    // Event Description
    description: 'Get on the front page of HN, then prepare for world domination.'


Here is a live example

Looking for Instant Gratification?

Copy OuiCal into Chrome's JS console (or whatever browser you're using).

Then call this:

document.getElementsByTagName('body')[0].appendChild(createCalendar({data:{title:"this is the title of my event", start: new Date(), duration: 90}}));


Calendar Generator

Need to generate an add-to-calendar widget on the fly? No problem, go here.

GitHub Project Page

Official Project Page