Email QR Code Generator

Scan to open a pre-filled email draft, no typing an address.

How to Use

Enter the recipient's email address, and optionally a subject and body to pre-fill. The QR code updates live as you type, scanning it opens the scanner's default email app with a new message pre-addressed and pre-filled, ready to review and send. Click Download PNG once you're happy with the result to save it as an image for a business card, a poster, an email signature, or anywhere you'd normally print a contact detail.

The mailto: Link Standard Explained

Underneath the QR code, this tool builds a plain mailto: link, the same kind of link you've clicked before on a "Contact Us" webpage that opens your email client directly. The format is mailto:address?subject=...&body=..., where the address comes right after the mailto: scheme and everything else is passed as URL query parameters, exactly like parameters in a regular web address. Operating systems and browsers have recognized this scheme for decades, which is why scanning a QR code encoding a mailto: link reliably hands off to whatever email app is set as your device's default, Gmail, Outlook, Apple Mail, or anything else, without this tool needing to know or care which app that is.

Why the Subject and Body Contain % Characters

Look closely at the generated QR content and you'll notice spaces and punctuation in your subject or body get replaced with sequences like %20 or %2C once encoded. This is URL encoding (also called percent-encoding), a required step because certain characters, spaces, ampersands, commas, and others, carry special meaning inside a URL and would break the query string if left as-is. The default example's body, "Hi there,", encodes its comma as %2C and its space as %20, becoming "Hi%20there%2C" inside the actual mailto: link, while still displaying and pre-filling as the original readable "Hi there," text once the receiving email app decodes it back. This tool handles the encoding automatically using JavaScript's built-in encodeURIComponent function, so you never need to think about it while typing.

Common Use Cases

Business cards and portfolio sites are the most common home for an email QR code, letting someone scan straight into a ready-to-send message instead of manually typing out an email address that's easy to mistype. Event badges and conference signage use them for quick "get in touch" prompts at booths and networking events. Support and contact pages sometimes offer one as a mobile-friendly alternative to a plain "mailto:" hyperlink, useful when someone's viewing the page on one device but wants to send the email from their phone. Pre-filling a subject line is particularly useful for routing, a support code with the subject already set to "Support Request" helps a small team's inbox stay organized without asking every sender to remember to type it themselves.

Common Mistakes and Limitations

Assuming this generates a full digital business card, complete with name, phone number, and company details, is a common expectation mismatch, a mailto: QR code only carries an email address, subject, and body, nothing else. If you want a scan to save full contact details to someone's phone contacts, look for a dedicated vCard QR generator instead, which uses a different, richer standard built specifically for that. Packing an overly long body into the QR code is another avoidable mistake, longer text makes for a visually denser, harder-to-scan code, and some email apps also silently truncate very long pre-filled bodies, keep it to a short, useful prompt rather than a full message. Finally, always test a generated code with an actual phone camera before committing it to print, confirming the app opens with the correct address and text costs a few seconds and avoids an embarrassing typo living on printed cards for months.

Frequently Asked Questions

What happens when someone scans this QR code?

Their phone opens its default email app with a new message already addressed to your email address, with the subject and body pre-filled if you entered them. They just review and tap send, no manual typing of your email address needed.

Do subject and body work in every email app?

The mailto: link format used here is a long-standing web standard supported by virtually every email client, but pre-filled subject and body support can occasionally vary slightly by app. The recipient address itself works reliably everywhere.

Can I add multiple recipients or CC someone?

The mailto: standard itself supports comma-separated recipients in the address field, plus separate cc= and bcc= query parameters, this tool's simplified single-address field keeps the generator focused on the common one-recipient case, like a business card or support contact code. If you need CC or multiple recipients, you can type comma-separated addresses directly into the To field, since the tool passes whatever you enter straight through into the mailto: link without modifying it.

Does this tool verify that the email address is real?

No, it only checks that the To field looks like a plausible email address format, it has no way to confirm the address actually exists or belongs to anyone, since doing that would require contacting a mail server. Double-check the address is correct before printing or distributing the QR code, since a typo would only be discovered when someone's email bounces.

Is there a limit to how much text I can put in the subject or body?

The practical limit comes from QR code data capacity rather than the mailto: format itself, a QR code can hold up to a few thousand characters depending on its error correction level and the mix of characters used, but very long bodies produce a visually dense, harder-to-scan code. Keep the body reasonably short, a sentence or two works well, for a code that scans quickly and reliably from a printed card or sign.

Is my email content sent to a server when generating this code?

No. The QR code is generated entirely in your browser using the open-source qrcodejs library loaded from a CDN, the recipient address, subject, and body are never transmitted to a server, they exist only in your browser tab and inside the downloaded QR code image itself.