Create an iCalendar (VEVENT) QR code from an event title, date and location, then download it as PNG or SVG
What each setting means and how to use it. Click to expand.
This tool puts an iCalendar event block, from BEGIN:VEVENT to END:VEVENT, straight into the QR code. It consists of SUMMARY (title), DTSTART (start), DTEND (end), LOCATION and DESCRIPTION. The generated text is shown in the preview so you can check exactly what is embedded.
When checked, the event uses a date-only form (DTSTART;VALUE=DATE:20260805) instead of a date and time. Use it for anniversaries, deadlines or event days without a time. Uncheck it to return to the timed form.
By default only the VEVENT block goes into the QR code. When checked, it is wrapped in BEGIN:VCALENDAR, VERSION:2.0 and PRODID, with a per-event UID and a DTSTAMP creation time added, producing a complete iCalendar object. The data gets slightly larger, but some reader apps that cannot handle a bare VEVENT can add it.
iCalendar uses commas, semicolons and backslashes as delimiters, so they are escaped automatically when they appear in your input. Line breaks in the description are stored as \n. This keeps your text meaning intact; you do not need to do anything.
The error correction level is roughly how much of the code can be damaged and still be read (L about 7%, M about 15%, Q about 25%, H about 30%). More event text makes the QR code denser, so for print use a larger size or a shorter description. The margin is the white border around the code; the standard recommends at least 4 modules.
It is a QR code that packs an event title, date, time and location into the iCalendar VEVENT format. When scanned with a compatible reader app, it opens the add-to-calendar screen with those details filled in. Put it on invitations or posters so attendees can save the event.
No. VEVENT support depends on the reader app and device: some open an add-to-calendar screen, others only show the text. Test it on the devices your audience uses before distributing it.
No. Everything from input to QR generation and download runs in JavaScript inside your browser. Your event details are never sent to a server.