QR QR Studio

QR code type

Calendar event QR code

Published 7 September 2026 · 2 min read

Raw payload

BEGIN:VEVENT
SUMMARY:Open day
DTSTART:20261107T190000
DTEND:20261107T210000
LOCATION:Town Hall
END:VEVENT
  1. BEGIN:VEVENT Opens the event record
  2. SUMMARY:Open day The title as it appears in the calendar
  3. DTSTART:20261107T190000 Start, as YYYYMMDD, a T, then HHMMSS in 24 hour time
  4. DTEND:20261107T210000 End, in the same format
  5. LOCATION:Town Hall Free text location. A full address helps the calendar app show a map
  6. END:VEVENT Closes the record
How a Calendar event payload is put together. Scanners read the prefix, then each field in turn.
QR code encoding BEGIN:VEVENT SUMMARY:QR Studio demo event DTSTART:20261107T190000 DTEND:20261107T210000 LOCATION:Town Hall, Example Street DESCRIPTION:A test event from getqrstudio.app. Delete it when you are done. END:VEVENT
A real Calendar event code. Scan it with your phone.

When to use it

Event posters, invitations, tickets, school newsletters, gig flyers, appointment cards. One scan and the date, time and place are in the person’s calendar with no typing and no wrong-month mistakes.

How it behaves on phones

iPhone: the Camera app recognises BEGIN:VEVENT and shows an “Add to Calendar” banner. Tapping it opens the event sheet with title, time and location filled in, and the person picks a calendar and saves.

Android: most Android scanners show the parsed event with an “Add to calendar” button that opens Google Calendar or the default calendar app. A few older scanners show the raw text; the person can still read the details from it.

Common mistake

Writing the date the way people do, DTSTART:7 Nov 2026 7pm. The format is strict: eight digits for the date, a capital T, six digits for the time. DTSTART:20261107T190000. Anything else is ignored or lands on the wrong day.

Gotchas

Time zones. A time without a suffix is “floating”: the calendar app treats 19:00 as 19:00 wherever the phone is. For a talk in a town hall that is exactly right. For a webinar with viewers in three countries, write the time in UTC and add a Z, so DTSTART:20261107T190000Z, and every phone converts it to local time. Named zones with TZID=Europe/London are valid but many scanners do not support them.

All day events. Use DTSTART;VALUE=DATE:20261107 with no time. Some scanners handle this, some do not; test.

Line endings and length. Each line is a separate field. The event above is about 100 characters and fits version 5 at level M, 37 modules wide. A long DESCRIPTION quickly doubles that; put the details on a web page and link to it in URL instead.

Special characters. Commas and semicolons in SUMMARY, LOCATION or DESCRIPTION must be escaped with a backslash, LOCATION:Town Hall\, High Street. QR Studio does this for you.

Fixed data. If the date changes, the printed code is wrong forever. For anything that might move, a URL code to a page with the current details is safer.

Try it in QR Studio

QR Studio has a Calendar event type with date and time pickers. It writes the DTSTART and DTEND lines in the right format, escapes the location, and shows the finished block before you export.

Level M. Posters are scanned from a metre or so, so 5 to 8 cm is comfortable; on an invitation 2.5 to 3 cm is enough. Print the date, time and venue in plain text as well, prominently. The code saves typing; it should never be the only place the details appear.

Try it yourself

Pick a date and time, add a title and location, and see the VEVENT block the code will carry.

Build a calendar event

Frequently asked questions

Do I need BEGIN:VCALENDAR around the event?

iPhone and most Android scanners accept a bare VEVENT. Wrapping it in BEGIN:VCALENDAR, VERSION:2.0 and END:VCALENDAR makes it valid iCalendar and helps a few strict scanners, at the cost of about 40 extra characters.

How do I set the time zone?

Write the time in UTC and add a Z, for example DTSTART:20261107T190000Z. Without the Z the phone treats the time as local, which is right for an in-person event and wrong for a livestream watched across countries.

Can I add a reminder or make it repeat?

The format allows RRULE for repeats and VALARM for reminders, but most camera scanners ignore them. Keep the code simple and let the person set their own reminder.

Does the event update if the date changes?

No. The date is inside the code. If it might move, put a URL code on the poster that links to a page with a live calendar link instead.

Related reading

Make a Calendar event QR code in QR Studio

Pick Calendar event from the type list, fill in the fields, and the payload below is written for you. Free, no watermark.

Download on the App Store