Skip to content
QRCodeDojo All tools

Calendar Event QR Code Generator

Add your event to someone’s calendar without an email, a link or an app.

  • Free, with no account
  • Static — it never expires
  • Encoded on your device

A plain address here is better than coordinates — calendar apps geocode it into a tappable map link.

Tick for something measured in days rather than hours.

Leave as the start date for a single-day event.

The single biggest contributor to a dense, hard-to-scan symbol. Be ruthless.

VEVENT is shorter and is what camera apps expect.

Only non-personal fields go into the link.

Export

SVG has no resolution at all — it is the right choice for anything that will be printed.

Appearance & encoding

Higher levels survive damage and allow a bigger logo, but make the symbol denser.

The specification requires 4. Below that, decoders often fail to find the symbol at all.

Centre logo

PNG, JPG, SVG or WebP up to 512 KB. The file is read in this tab and never uploaded.

The safe maximum depends on the symbol size, not just the error-correction level — the check below works it out for the code you actually have.

Print readiness

Generate a code to see its minimum printed size.

What is actually encoded

What gets encoded

An iCalendar event, as defined by RFC 5545 — the same format behind every .ics file your calendar has ever imported:

BEGIN:VEVENT
SUMMARY:Spring Tea Ceremony
DTSTART:20261017T140000
DTEND:20261017T163000
LOCATION:Nine Eyes Studio\, 12 Nakamise Street
END:VEVENT

The timestamps are YYYYMMDDTHHMMSS with no trailing Z, which makes them floating local times. Note the backslash before the comma in the location: commas, semicolons and backslashes are reserved in iCalendar text and have to be escaped. Line breaks are CRLF, and any line longer than 75 octets is folded onto a continuation line beginning with a space. We handle all of that.

A poster on a wooden noticeboard announcing a tea ceremony, with a QR Code beside the date and time
Printed date and time for the person; the code for their calendar. Both, or the poster only half works.

The exclusive end date, explained

This trips up everyone who writes iCalendar by hand. For an all-day event, DTEND is the first day not covered. A one-day event on 17 October is written as:

DTSTART;VALUE=DATE:20261017
DTEND;VALUE=DATE:20261018

Enter 17 October as both start and end here and we add the day for you. It is the kind of off-by-one that only shows up after the posters are on the wall.

Floating times are usually what you want

A time with no zone means “this clock time, wherever the phone is”. For a physical event that is correct: a visitor flying in sees 14:00 and arrives at 14:00. For an online event across time zones it is wrong, and the honest fix is to put the zone in the title where a human will read it.

Where event codes work

  • Posters and flyers. The gap between “that looks interesting” and “it is in my calendar” is where most events lose people.
  • Conference programmes. One code per session; attendees build their own schedule as they walk.
  • Class and workshop timetables. A code per class on the studio noticeboard.
  • Invitations. Printed card, digital calendar, no typing.

Limits worth knowing

  • Support is the least consistent of any type here. iOS handles VEVENT well; Android varies by scanner app. Test on both.
  • No repeats, no attendees, no alarms. Those need lines that scanner apps ignore or mishandle.
  • Descriptions are expensive. Keep them to a line or drop them.
  • Change the date and you reprint. For events that move, link to a page on your site instead.

FAQ

Frequently asked questions

Does it add the event to the calendar automatically?
No. The phone shows the event details and offers to add them. The person confirms. That is the correct behaviour — nothing should be able to write to a calendar from a scan.
VEVENT or full VCALENDAR — which one?
The bare VEVENT is what most camera apps expect and is about 60 characters shorter, which matters on a poster. The full VCALENDAR wrapper is strictly more correct and is what you want if the same text will also be saved as an .ics file. For a printed code, VEVENT.
How are time zones handled?
Times are written without a zone, so the calendar app reads them as local time on the scanning phone. For a venue event that is exactly right: 19:00 means 19:00 where the event is, and a visitor's phone shows 19:00 once they arrive. For a worldwide online event, put the zone in the title — “Webinar (14:00 UTC)” — because a floating time will mislead people in other countries.
Why does my one-day all-day event end the next morning?
The iCalendar specification makes the end date of an all-day event exclusive: an event on the 13th is written as starting on the 13th and ending on the 14th. We add the day for you. If you entered the 14th directly, the event would cover two days.
Can I add a repeating event?
Not from this tool. Repeats need an RRULE line, which adds length and is interpreted inconsistently by scanner apps. For a recurring series, link to a calendar subscription page with the URL tool instead.
My event QR Code is very dense. What can I cut?
The description is almost always the culprit. Cut it to one line, or drop it entirely and let the venue and title carry the meaning. Switching from VCALENDAR to VEVENT saves another 60 characters or so.

Keep going