Event QR Code Generator

Put the whole event in a code: title, date, time and place. Scanning offers to add it to the calendar, so nobody notes the wrong day.

The whole event sits in the pattern, so it works offline and needs no server. It also cannot be changed. If the date, time or venue might still move, encode a link to a page you can edit instead, and accept the dependency that comes with it.

Used for
  • Printed invitations and save-the-dates
  • Posters and flyers
  • Conference and session signage
  • Class and course schedules
  • Exhibition and open-day handouts
Content categories

Preview

Enter content to generate QR code

How event QR codes work

The code carries a calendar entry in iCalendar’s VEVENT form (summary, start, end, location and description) rather than a link to one. Times are converted to UTC when encoded, which is what makes the entry land at the correct local time for a guest in another country. The phone recognizes the block and offers to add it; nothing is saved until the guest agrees.

What the code actually contains

Spring Recital, 9 May 2026, 6:30-8:30pm local, Old Town Hall, and the code holds:

BEGIN:VEVENT
SUMMARY:Spring Recital
DTSTART:20260509T183000Z
DTEND:20260509T203000Z
LOCATION:Old Town Hall
DESCRIPTION:Doors 6pm
END:VEVENT

An iCalendar event block. The trailing Z on both timestamps is the important part: the times are converted to UTC when encoded, which is what makes a guest in another time zone see the right local hour rather than yours.

Enter the times as they are locally, not as UTC

Type the start and end in the event’s own local time. The conversion to UTC happens on encoding, so a guest in another time zone sees the correct hour on their own calendar without you doing arithmetic. Entering times that are already UTC shifts the whole event by your offset, which is the one mistake that survives every proof-read because the numbers look reasonable.

Test on both platforms before you print the invitations

Support for a calendar block in a QR code is good but not universal: stock camera apps generally offer to create the event, while a few third-party scanners only display the raw text. Scan a proof with an iPhone and an Android before a print run, and print the date, time and venue in words next to the code. That line is not decoration: it is what a guest with an unhelpful scanner falls back on.

Put the venue in the location field

The location carries through into the calendar entry, where map apps make it tappable on the day. Write it as the address a map can find rather than as a description. "Old Town Hall, 12 Market St" beats "the hall behind the church", which is helpful in a WhatsApp message and useless to a phone at 7pm.

When the details might change

A calendar code freezes the event at the moment you printed it. If the venue or time is not settled, encode a link to an event page or an RSVP form instead, as a dynamic QR code so you can move the page later without new invitations, and let the page carry the "add to calendar" button.

Troubleshooting

The phone shows text instead of offering to add the event
That scanner does not act on a calendar block. Most stock camera apps do; this is why the date, time and venue should also be printed in words beside the code.
The event lands an hour out for some guests
The times were entered as UTC rather than local. Enter the event’s own local time; the conversion happens on encoding.

Event QR code generator FAQs

No. The calendar opens with the details filled in and the guest confirms before anything is saved.

Enter the times in the event’s local time. They are converted to UTC when the code is encoded, so a guest in a different time zone sees the correct local hour on their own calendar.

Yes. The location field carries through to the calendar entry, where it becomes tappable for directions. Write it as an address a map can resolve.

Most will from the stock camera app, but a few third-party scanners just show the raw text. Print the date, time and venue beside the code so nobody is stuck, and test a proof on both platforms.

This type encodes a single occurrence, which is the reliable choice, because recurrence rules are handled inconsistently across calendar apps. For a series, link to a page listing the dates.

A static calendar code cannot be updated. Where the details are not final, point a dynamic code at an event page instead and change the page.