Skip to main content

Implementations

jsCalendar (RFC 8984) is a relatively new standard, and the ecosystem of implementations is still growing. Below are known libraries and tools that support jsCalendar.

Libraries

JavaScript / TypeScript

  • jscalendar — A JavaScript library for parsing and serializing jsCalendar objects. Provides validation and type checking against the RFC 8984 schema.

Rust

  • rust-jscalendar — A Rust crate for jsCalendar serialization and deserialization with strong typing.

Server Implementations

  • Stalwart Mail Server — Supports jsCalendar as part of its CalDAV and scheduling capabilities.
  • Cyrus IMAP — Supports jsCalendar for calendar data storage and retrieval alongside iCalendar.
  • JMAP for Calendars (RFC 8621) — Uses jsCalendar as its data model. JMAP implementations that support calendar functionality inherently support jsCalendar.
  • JSContact (RFC 9553) — A companion standard that uses the same JSON design patterns for contact data, serving as the JSON equivalent of vCard.

Getting Started

If you are building a new calendar application and have no legacy iCalendar data, consider using jsCalendar as your primary data format. It avoids the parsing complexity of iCalendar and works naturally with JSON-based APIs and databases.

For applications that need to interoperate with existing iCalendar ecosystems, look for libraries that support conversion between iCalendar and jsCalendar formats.

Edit this page on GitHub