Event QR Code Generator
Create a QR code that adds an event to the calendar — title, time and place in a standard VEVENT, generated on this device.
Demo — sample calendar event content. Fill the form above to replace it.
Version 9 · 53×53 modules
161 of 2331 bytes at level M
Show the exact payload
This is the exact string the QR pattern encodes.
BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT DTSTART:20270520T180000Z DTEND:20270520T200000Z SUMMARY:Rooftop meetup LOCATION:Pier 62 END:VEVENT END:VCALENDAR
Press ? for shortcuts
Do it offline:$ qrencode -t SVG -o event.svg < event.ics
How to use it
- Name the event — the SUMMARY line is what the calendar entry is filed under, so it is required.
- Set start and end; for multi-day all-day spans tick the checkbox and the fields switch to plain dates.
- Choose UTC for a moment shared across timezones or Floating for a local wall-clock time, then scan the preview to check the entry.
Give an event a title, a time and a place and get a QR code whose scan offers to put it on the calendar — an RFC 5545 VEVENT wrapped in a minimal VCALENDAR, assembled in this tab. Times encode as UTC instants or as floating wall-clock values, your choice, and the calendar app shows a preview before anything is saved.
Examples
Team offsite · timed, UTCBEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART:20261106T090000Z
DTEND:20261106T153000Z
SUMMARY:Team offsite
LOCATION:Dock 5
END:VEVENT
END:VCALENDARThe trailing Z marks both stamps as UTC instants — a phone in any timezone shows the meeting at its own local equivalent of nine in the morning UTC.
Inventory freeze · two all-day datesBEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART;VALUE=DATE:20261230
DTEND;VALUE=DATE:20270101
SUMMARY:Inventory freeze
END:VEVENT
END:VCALENDARYou picked December 30 to 31, and the payload says January 1 — date-valued DTEND is exclusive in iCalendar, so the builder adds the day the spec expects and calendars display the span you meant.
Every example on this page is executed against the same engine that powers the tool, on every build.
Gotchas worth knowing
UTC or floating — two different promises
A Z-suffixed stamp is one worldwide instant: everyone's calendar converts it to their zone. A floating stamp is a wall-clock promise — ten o'clock wherever the phone lives — right for gym classes, wrong for a webinar.
Deliberately minimal, honestly so
The payload carries only the calendar scaffolding, the stamps and your three text fields — no UID, DTSTAMP or PRODID lines. Strict validators note their absence; phone calendar apps import the entry regardless, and leaving them out keeps the same form producing the same bytes forever.
Reserved characters are escaped for you
Semicolons and commas structure iCalendar text, so any you type gain backslashes and line breaks become literal \n sequences — the saved entry shows plain text again.
Common errors
The event must end after it starts — move the end time later.- Timed events need a strictly later end; an end equal to the start would be a zero-length meeting and usually means the end field was never edited. All-day events may start and end on the same date — that is a one-day event.
Enter an event title — calendars file the entry under its SUMMARY line.- Every other text field is optional, but an untitled entry renders as a blank row in most calendar apps, so the builder asks for the one line people will actually see.
FAQ
Does scanning add the event without asking?
No — phones show the parsed entry first and the person confirms before anything lands on their calendar. The code only saves the retyping, not the decision.
Which timezone does the event appear in?
With UTC, each phone converts the instant to its own zone — right for calls. With Floating, the clock time stays as written wherever the phone is — right for things happening at a place.
Can I encode a recurring event?
Not here — recurrence rules multiply the ways handsets disagree, so this page encodes single events only. Print the code for the first occurrence and let the calendar's own repeat control take it from there.