The *.ics field module provides a field type, along with a widget and a formatter that, when added to a node and combined with a Datetime field can produce *.ics (iCalendar) files that can be used with an email/calendar client program.


This module requires the following modules to be installed/enabled:

and the following libraries to be available (autoloaded):


Install as you would normally install a contributed Drupal module. See: for further information.


The module provides no configuration. That being said, the following points are important:

It assumes that the process through which Drupal is run has file and folder create permissions for the public:// filesystem. It will store all ics files into the public://icsfiles folder if a user specified folder is not given, and when not found it will try to create it.

When adding a Calendar Dowload field to a content type, you are required to select a Datetime field from the same content type. That relation will allow the Calendar Download module to decide when generated events occur.

The field makes an ~UNMANAGED~ copy of the file


The Calendar Download module supports using tokens inside the Summary and the Description sub-fields. Available tokens include the properties and fields of the given content type and are available through the UI as a list that can be click-inserted into the Summary or Description sub-fields.

While editing a node, by entering e.g. "[node:title]" into the Calendar Download's Summary sub-field and saving the node, the node's title will be inserted into the summary sub-field.


The following links provide more information about the iCal format:



We use a Github pull request workflow. Each pull request should have a related and cross-linked issue and be made against the develop branch.

We welcome contributions in the following areas:

  • Unit tests - Test coverage is currently good but not great.
Supporting organizations: 
Funded development

Project information