Skip to content


The iCal4j project is a collection of Open Source Java libraries for creating semantically-rich calendar and scheduling data. iCal4j is based on the iCalendar and vCard specifications, with each library focused on a specific subset of interoperability functionality.


What is iCalendar?

The iCalendar standard was originally created from a collaboration of leading groupware developers, as a way for their software to interoperate.

The core iCal4j library provides an implementation of the iCalendar specifications that are designed to facilitate interoperability between calendaring and scheduling software systems.

iCalendar provides a common data format used to store scheduling information such as events, appointments, to-do lists, etc. Most calendaring tools include some level of support for the iCalendar standard.

Active Projects

The following table provides an overview of the currently active projects in iCal4j.

Name Description References
ical4j Model and parsing support for iCalendar standards RFC5545, RFC5546, RFC6868, RFC7953, RFC7986, RFC7529, RFC9073, RFC9074, RFC9253
ical4j-extensions Model extensions for non-standard data objects -
ical4j-zoneinfo-outlook Alternate timezone definitions to improve support for MS Outlook -
ical4j-vcard Model and parsing support for vCard standards RFC6350, RFC6473, RFC6474, RFC6868, RFC6869
ical4j-template Mutator functions for building and modifying data objects -
ical4j-connector Connectivity to persistent store implementations (e.g. CalDAV) RFC4791, RFC6352
ical4j-integration Delivery of data objects via common transport channels (e.g Email) RFC6047
ical4j-command Command framework for common use-cases -
ical4j-serializer Serialization of data objects to structured data formats (e.g xCal, jCal, JSCalendar, etc.) RFC6321, RFC6351, RFC7095, RFC7265, RFC8984
tzurl Generation and hosting of timezone data in iCalendar format -
  • For a concise description of the goals and directions of iCal4j please take a look at the open issues.

  • In this guide You will find examples of how to use iCal4j, as well as throughout the API documentation.

  • Detailed descriptions of changes included in each release may be found in the CHANGELOG.

  • iCal4j was created with the help of Open Source software.