Standards/ical-event-qr
iCal Event QR
Overview
iCal Event QR is the practice of encoding an iCalendar calendar event inside a standard QR Code symbol so that scanning the code lets a phone create a calendar entry — title, start, end and location — in one tap. The payload is an iCalendar object containing a VEVENT component, delimited by BEGIN:VEVENT and END:VEVENT 1.
iCalendar itself is the IETF standard for calendaring data, defined by RFC 5545 ("Internet Calendaring and Scheduling Core Object Specification"), published in September 2009, which obsoletes the earlier RFC 2445 3 4. The QR carrier is a convention documented by ZXing, not part of the RFC 1.
History
iCalendar grew out of the vCalendar format created by the Internet Mail Consortium (IMC), which carried the .vcs extension 4. The IETF first standardized iCalendar as RFC 2445 in 1998; RFC 5545 replaced RFC 2445 in September 2009 and remains the defining standard 3 4. The text/calendar MIME type and the .ics filename extension are used for iCalendar data 4. ZXing documents embedding a single event (VEVENT) in a QR code as one of its calendar formats 1.
Technical specification
ZXing's example payload is 1:
BEGIN:VEVENT
SUMMARY:Summer+Vacation!
DTSTART:20180601T070000Z
DTEND:20180831T070000Z
END:VEVENT
A VEVENT is "a grouping of component properties ... that represents a scheduled amount of time on a calendar," and may itself contain VALARM components 3. Key event properties include SUMMARY (title), DTSTART and DTEND (timing), plus LOCATION, DESCRIPTION and UID 3 4. A canonical RFC 5545 event uses, e.g., SUMMARY:Bastille Day Party, DTSTART:19970714T170000Z, DTEND:19970715T040000Z 4.
Date-time format. Timestamps follow an ISO-8601-style form such as 20180601T070000Z, where a trailing Z denotes UTC 4.
Line folding. Lines should be limited to 75 octets; longer values continue on the next line, which must begin with a space or tab 4.
Text escaping. In TEXT values, actual line feeds are encoded as a backslash followed by n or N, and the special characters comma, semicolon and backslash are backslash-escaped 4.
A strictly conformant iCalendar object wraps the VEVENT inside BEGIN:VCALENDAR / END:VCALENDAR with a VERSION and PRODID; ZXing's compact QR convention shows the bare VEVENT block, and many scanners accept it directly 1 4.
Use cases
- Event flyers and posters. A scan adds the date, time, title and venue of a concert, conference or meetup to the user's calendar without manual entry 1.
- Camera-native "add event." Both iOS and Android trigger a system-level calendar-event action when a
VEVENT/iCalendar payload is scanned 6. - Invitations and tickets. Reminders for appointments, classes and bookings can be distributed as a single scannable code 1.
Implementations
| Project | Lang | Stars | Last active | Notes |
|---|---|---|---|---|
| zxing/zxing | Java | ~34k | 2025 | Reference decoder; parses the VEVENT/iCalendar QR convention into a calendar result 1 5 |
| iOS / Android cameras (system) | — | — | 2025 | Trigger a "calendar event" action for iCalendar QR payloads 6 |
Comparison
- iCal Event QR vs a plain text/URL QR. A
VEVENTpayload populates the native calendar fields (title, start, end, location) directly, whereas a URL only links to a page that may or may not offer an "add to calendar" flow 1 4. - Bare
VEVENTvs fullVCALENDAR. ZXing's compact convention omits the outerVCALENDARwrapper to save QR characters; RFC 5545 conformance requires the wrapper, so very strict parsers may need it 1 4.
Fun facts
- The format that fills your phone's calendar from a poster traces back to the same 1990s versit / Internet Mail Consortium lineage that produced vCard — vCalendar was the IMC ancestor of today's RFC 5545 iCalendar 4.
Status
Active. RFC 5545 is the current iCalendar standard, the text/calendar MIME type and .ics extension are in universal use, and scanning a VEVENT QR triggers an "add event" action on both major mobile platforms 3 4 6.
Sources
1 Barcode Contents — ZXing Wiki 3 RFC 5545: Internet Calendaring and Scheduling Core Object Specification (iCalendar) — IETF / RFC Editor, 2009 4 iCalendar — Wikipedia 5 zxing/zxing — ZXing project, GitHub 6 QR code mobile OS breakdown: iOS vs Android in 2026 — QRCodeKit, 2026
Deployments
No country reports mention this standard by name.
Regions / aggregations not mapped to a single country
- Universal