Event QR code for the calendar

The scan offers a calendar entry with the title, the place and the times already filled in. Nobody copies a date off a flyer, and nobody arrives a week early.

Create a calendar code

VEVENT with title, place and times

Editorial teamLast reviewed: 29 October 2026Editorial standards

Short answer

The code carries a VEVENT block: summary, location, description, start and end. Times are written as local time without a timezone rule, so 18:30 means 18:30 where the reader is standing. One code adds one entry; it is not a subscription.

A calendar code is the cheapest way to make sure a date actually reaches the calendar of the person who was handed the invitation.

It is also the type where a single wrong field produces a wrong entry quietly, which is why the format details matter more than the design of the printed piece.

What is in the code

A calendar object: BEGIN:VEVENT, then SUMMARY for the title, LOCATION for the place, DESCRIPTION for the note, and the start and end fields. The reader calendar app parses it and offers to save.

Dates are written as year, month and day without separators, times as hours, minutes and seconds. A comma inside the title has to be escaped, otherwise the title ends at that comma and the rest is parsed as another field.

  • One event per code, repeating series are not supported
  • No reminders, no attendees, no conferencing links encoded
  • Location as readable text, not as coordinates
  • Test with both iOS and Android, they render the same block differently

Why the times are local

The entry stores the time you type as local time, without a timezone rule. Enter 18:30 and the reader sees 18:30 in their calendar, which is what a printed invitation means.

Converting to coordinated universal time would shift every summer date by an hour or two depending on the reader, and a concert that starts at the wrong time is worse than no calendar entry at all. The trade-off is that a reader who scans while travelling keeps the number, not the local clock, so for anything international add the timezone to the description in words.

Event or calendar subscription

A code adds a single entry. Offer ten dates in a season and you need ten codes, or one page that holds a subscribing link. A subscription is a different mechanism: it needs an .ics file on a server that stays reachable, and it changes the guest calendar permanently, which some people will not allow.

For a course, a one-off workshop, a viewing appointment or an open day, the single entry is the right shape. For a season ticket holder, a subscription page is worth the extra work.

Questions about calendar codes

Does the entry save automatically?

No. The phone shows a preview and asks. That confirmation is what keeps a scan from writing into a calendar silently.

Can I include a reminder?

Not with this type. The reader sets their own reminder after saving, and many people prefer it that way.

What happens if the event is moved?

Nothing. A static code keeps the old time, so a postponed event needs a new code or a link to a page that carries the current date.

Should the location be an address or a link?

An address in readable text. A link inside a calendar description is rarely tappable and the reader has to copy it by hand.