QR QR Studio

QR code type

How to make a calendar event QR code (free generator)

Published 7 September 2026 · 2 min read

Make your calendar event QR code

Raw payload (what goes in the code)

 

Download SVG

Runs in your browser; nothing you type is uploaded. It makes a static code, so it never expires. Why static codes don't expire.

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. QR codes for schools shows where a date code sits on a letter home alongside the booking and newsletter codes.

How it behaves on phones

iPhone: the Camera app recognizes 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 meter or so, so 5 to 8 cm (3 in) is comfortable; on an invitation 2.5 to 3 cm (1.2 in) 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

Want your logo, colors, or a code you can edit later?

QR Studio for iPhone makes a calendar event QR code from the same fields, then adds your logo and colors. Static codes are free with no watermark; dynamic codes you can edit after printing are there when you need them.

Download on the App Store