Your files never leave your device. All processing happens locally in your browser.
How do I make an event QR code that adds the event to a calendar when scanned?
Open AnyTool Event QR Code Generator, type the event title, location, start and end date & time (or flip on all-day), a description and an optional host email and URL. A live QR code appears that offers to add the event to a calendar when a phone scans it. Tune the size, colours and error-correction level, optionally add a centre logo, then download the QR as PNG or SVG — or grab the .ics file, use the “Add to Google Calendar” link, or print an event card. Everything runs in your browser, so your event details are never uploaded.
Builds a standard iCalendar VEVENT (RFC 5545) with UID, DTSTAMP, DTSTART, DTEND, SUMMARY, LOCATION, DESCRIPTION
Download an .ics file — the most reliable way to add the event to Apple Calendar, Outlook and Google Calendar
One-tap “Add to Google Calendar” link plus a printable event card with the QR
All-day events use non-inclusive VALUE=DATE; a UTC toggle anchors times to a fixed instant
100% client-side — your event details are encoded locally and never leave the browser
What is
Event QR Code
An event QR code is a QR code that encodes a calendar event as an iCalendar VEVENT (the .ics format defined in RFC 5545) — with properties such as SUMMARY (title), DTSTART and DTEND (start/end), LOCATION, DESCRIPTION, UID and DTSTAMP — so that scanning it offers to add the event to a calendar app. Because some phone cameras open the raw VEVENT text instead of the calendar, the most reliable cross-platform path is a downloadable .ics file or an “Add to Google Calendar” link. The data is plain text inside the code, so anyone who scans it can read every field.
Generators
Related terms
iCalendar VEVENT.ics fileRFC 5545Add to calendar
Frequently Asked Questions
Often yes — dedicated QR apps and many iPhone cameras offer to add it. But some cameras open the raw text, so the downloadable .ics file or the Google Calendar link is the most reliable.
The QR holds a standard iCalendar VEVENT, which dedicated QR-scanner apps and many iPhone cameras recognise and offer to add to the calendar. However, some phone cameras open the raw BEGIN:VCALENDAR text rather than the calendar, so AnyTool also gives you the most reliable cross-platform options: a downloadable .ics file that opens straight into Apple Calendar and Outlook, and a one-tap “Add to Google Calendar” link. For printed flyers or invites, pair the QR with the .ics so anyone can save the date regardless of their scanner.
All-day events use a non-inclusive VALUE=DATE end. By default times are floating local; switch on “Times are UTC” to anchor the event to a fixed instant.
For all-day events the tool emits DTSTART and DTEND as VALUE=DATE and sets DTEND to the day after the last day, because the iCalendar spec treats DTEND as non-inclusive. For timed events the default is a floating local time, which appears at the same wall-clock time wherever it is opened; if you need the event pinned to a fixed instant, switch on “Times are UTC” and the tool converts using your device’s timezone and appends the Z suffix. Recurring events, reminders and attendee invitations are intentionally left out so the code stays compact and easy to scan.
Yes — download the .ics file and send it, or share the “Add to Google Calendar” link. Opening the .ics on any device offers to add the event.
Alongside the QR, AnyTool lets you download the raw .ics (iCalendar) file, which is the same VEVENT the QR encodes. An .ics opens in Apple Calendar, Outlook, Google Calendar and most mail clients with an “Add to calendar” prompt, so you can attach it to an email or message for people who cannot scan a code. There is also a one-tap “Add to Google Calendar” link that pre-fills a Google Calendar event. The file and link are built in your browser and nothing is uploaded.
Usually the event is too long (a dense code), the contrast is too low, or the camera opened the raw text. Keep it concise, use dark-on-light, and prefer the .ics for reliability.
A QR code has limited capacity, so a long description makes a dense, harder-to-scan code — trim the details and raise the size if needed. Scan failures otherwise come from low contrast or an oversized logo, so keep dark-on-light contrast, leave the quiet zone intact, and use H error correction with a logo. If the camera shows the raw VEVENT text instead of offering to add the event, that scanner does not parse calendar payloads — use the downloadable .ics file or the Google Calendar link instead, and always test the finished code on a real phone before printing it at size.
Detailed Explanation
🔧Technical Details
The iCalendar VEVENT Payload and Escaping
AnyTool Event QR Code Generator assembles a standard iCalendar VEVENT inside a VCALENDAR (RFC 5545) from the event fields a user enters and encodes it into the QR, so that scanning the code offers to add the event to a calendar app. The payload begins with BEGIN:VCALENDAR, VERSION:2.0, PRODID and METHOD:PUBLISH, then BEGIN:VEVENT with a UID (derived deterministically from the event content so the same input yields the same code) and a DTSTAMP, followed by DTSTART and DTEND, SUMMARY (the title), and LOCATION, DESCRIPTION, URL and ORGANIZER for whatever is filled in, closing with END:VEVENT and END:VCALENDAR. Dates use the iCalendar basic form YYYYMMDDTHHMMSS — floating local by default, or with a trailing Z when the UTC toggle is on, or VALUE=DATE for all-day events. Property lines are joined with the spec-required CRLF, folded at 75 octets per RFC 5545, and TEXT values are escaped — backslash, semicolon, comma and newlines are backslash-escaped — so a location or description containing those characters still imports cleanly.
Dates in YYYYMMDDTHHMMSS — floating local, UTC (Z), or VALUE=DATE for all-day
CRLF line endings, 75-octet folding; \\ ; , and newlines are backslash-escaped
Scanning offers to add the event on iPhone and dedicated QR-scanner apps
⚙️Methodology
ICS Download, Add-to-Calendar, Card and Appearance
Beyond the raw QR, the tool offers the most reliable cross-platform path: a downloadable .ics file that opens straight into Apple Calendar and Outlook, and a one-tap “Add to Google Calendar” link built as a calendar.google.com render-template URL with the title, dates, location and details pre-filled. It also renders a printable event card on a local canvas — the event title, a human-readable date/time, the location and host beside the QR and a “Scan to add to your calendar” caption — downloadable as a PNG or printable at about 150mm wide. All-day events emit DTSTART and DTEND as VALUE=DATE with a non-inclusive end (the day after the last day), and a UTC toggle anchors timed events to a fixed instant. The QR is tunable for size up to 1024px, quiet-zone margin, custom foreground/background hex colours and one of four Reed–Solomon error-correction levels (L ~7%, M ~15%, Q ~25%, H ~30%), with an optional centre logo read locally that caps at about 22% of the code area and forces H-level correction. A live scannability hint checks contrast, payload length, error-correction level and logo size, and output can be saved as PNG, exported as resolution-independent SVG, copied to the clipboard, or downloaded as an .ics.
.ics download — opens in Apple Calendar, Outlook and Google Calendar
One-tap “Add to Google Calendar” render-template link
Printable event card: title + date/time + location + QR
All-day VALUE=DATE with non-inclusive end; UTC vs floating-local toggle
All assembly and rendering happen in the browser with a bundled QR library and no server or CDN, so the title, location, dates, description and host never leave the device, and the page works offline once cached. The honest caveat is that the event is not encrypted: the details are stored as plain text inside the QR, the printable card and the .ics, so anyone who scans the code or opens the file can read every field — share them only with people you intend to invite. On compatibility, a VEVENT QR is read reliably by dedicated QR-scanner apps and many iPhone cameras, which offer to add the event, but some phone cameras open the raw BEGIN:VCALENDAR text instead of the calendar — so the downloadable .ics file and the “Add to Google Calendar” link are the most reliable paths. On timezones, an event uses the device’s local time as a floating time by default (it shows at the same wall-clock time wherever it is opened); the UTC toggle anchors it to a fixed instant, converting with the device’s timezone. Recurring events, reminders/alarms and attendee invitations are intentionally omitted to keep the code compact, and because a QR has limited capacity a long description makes a denser, harder-to-scan code, so the tool recommends keeping the event concise, preserving dark-on-light contrast and the quiet zone, and testing on a real phone before printing.
Encoded locally — event details are never uploaded; works offline
The event is unencrypted: anyone who scans the code reads every field
Some cameras open the raw VEVENT text — the .ics and Google link are most reliable
Floating local time by default; a UTC toggle pins a fixed instant
No recurrence/alarms/attendees — keep it concise and test on a real phone
Event QR generation: in-browser (AnyTool) vs typical online generators
Capability
AnyTool
Typical online generators
Processing
Runs in your browser, no CDN
Often server-side / API
Event data
Title, location, dates, host never uploaded
May send event data to a server
Format
Standard iCalendar VEVENT (RFC 5545), folded + escaped
Varies; some omit UID/DTSTAMP
.ics download
Raw .ics for Apple Calendar / Outlook import
Often QR-only or paid
Add to Google Calendar
Built-in one-tap render link
Often missing or dynamic-only
Printable card
Built-in event card, PNG + print
Often paid or sign-up gated
Logo overlay
Local file, capped ~22%, auto H correction
Often paid or upload-based
Output
QR PNG + vector SVG + .ics + copy + card PNG
PNG free; SVG often paid
Code type
Static (no expiry, no tracking)
Often dynamic, may expire on free tier
Cost / signup
Free, no signup, no watermark
Often watermarked or gated
AnyTool builds the VEVENT, draws the card and writes the .ics locally in the browser — your event details are never uploaded.