Email QR Code Generator
Create a QR code that opens a prefilled email — address, subject and body set by you, generated entirely on this device.
Demo — sample email content. Fill the form above to replace it.
Version 4 · 33×33 modules
53 of 2331 bytes at level M
Show the exact payload
This is the exact string the QR pattern encodes.
mailto:hello@studio.example?subject=Booking%20inquiry
Press ? for shortcuts
Do it offline:$ qrencode -t SVG -o email.svg 'mailto:press@example.com?subject=Hello%20there'
How to use it
- Enter the destination address — the one field the builder requires and shape-checks before anything encodes.
- Add the subject and body you want pre-drafted; both are optional and the payload only carries the parts you fill.
- Watch the link-length counter — shorter drafts make sparser, more forgiving codes — then download the SVG or PNG.
Point a camera at the code and the phone's mail app opens with the address, subject and body already drafted — an RFC 6068 mailto link assembled in this tab from your three fields, percent-encoding included. Nothing is sent by the scan itself, so a code on a flyer or invoice turns write-to-us from a chore into a tap.
Examples
rsvp@example.com · subject onlymailto:rsvp@example.com?subject=Dinner%20Friday%3F
50 bytes · version 4 at MSpaces become %20 and the question mark %3F — the mail app decodes both back before showing the draft, so the guest sees plain words while the payload stays a legal URI.
team@studio.example · subject and two-line bodymailto:team@studio.example?subject=Set%20visit%20%E2%80%94%20Tuesday%3F&body=Gate%204%2C%20ask%20for%20Ana%0ABring%20ID
119 bytes · version 7 at MA line break travels as %0A and the em dash as its three encoded bytes — which is why the counter tracks encoded link length rather than what you typed.
Every example on this page is executed against the same engine that powers the tool, on every build.
Gotchas worth knowing
Encoding is the whole trick
A mailto link is a URI, so spaces, ampersands, question marks and line breaks cannot appear raw — each is percent-encoded on the way in and decoded by the mail client on the way out. Hand-writing these links is where most broken email codes come from; the builder makes the mistake impossible.
Why the 1,500-character ceiling
Past roughly 1,500 encoded characters two things go wrong at once: the symbol grows too dense to scan reliably from paper, and several mail clients silently cut long prefilled bodies. The refusal names the ceiling instead of letting either failure happen in the field.
Common errors
"reception desk" is not shaped like an email address — expected name@domain.tld with no spaces.- The destination must be a single address the mail app can put on the To line. Role descriptions and names belong in the body — the shape check wants one @ and a dotted domain, nothing more.
This mailto link is 1,501 characters after percent-encoding — the cap here is 1,500; shorten the body.- The count is measured on the finished link, after encoding inflates spaces and punctuation — so the fix is trimming the body text, and the counter under the field shows the encoded figure as you type.
FAQ
Does scanning send the email on its own?
No — the scan opens a draft in whatever mail app the phone prefers, and the person still reads, edits and taps send. A QR code cannot mail anything by itself, which is exactly why prefilled drafts are safe to print.
Can I prefill more than one recipient or a CC line?
This page encodes the trio scanners handle consistently: one recipient, a subject and a body. Extra recipients are the sender's call once the draft is open — one tap in the To field.
Why does the payload show %20 and %0A instead of my text?
Those are the percent-encoded forms of the space and the line break — required inside a URI. The mail client translates them back before the draft is shown, so nobody ever reads the encoded form but the scanner.