Need help with add-to-calendar-buttons?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

472 Stars 173 Forks 63 Commits 32 Opened issues


Easily add a "add to calendar" button to your websites. This JavaScript library supports Google Calendar, iCal, Outlook and Yahoo Calendar.

Services available


Need anything else?

Contributors list

# 49,328
47 commits
# 72,313
14 commits


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:

  • Event title
  • Start time
  • Event duration, in minutes


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



We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.