QR code tools

Email QR code generator

Create an email QR with recipient, subject and message. Preview the draft and download PNG, SVG or its mailto link locally.

Email draft · generated locally

What should the email say?

One recipient. International domain names are converted to their ASCII form; the name before @ must use ASCII characters.

Scanning opens a draft in a compatible email app. The person scanning reviews and sends it.

QR download settings

Long messages may need 1024 px. A white border is included for scanning.

Make it easy to start an email

Choose the recipient, add an optional subject and short message, and create the QR. Review the draft before downloading a PNG for screens or SVG for printing. The text download and copy button provide the exact mailto link encoded in the image.

Review before sending

This tool generates a mailto link; it does not send email, verify an inbox or open your email app automatically. A compatible scanner and configured email app are needed to open the draft. The sender can edit its contents before sending. Test a scan on the devices you intend to use.

Supported details and privacy

One recipient is supported, with a Unicode subject and plain-text message. International domain names are converted to ASCII IDNA form and shown in the preview. The part before @ must use an unquoted ASCII address. Address lists, attachments, CC and BCC are not configured here. No details are submitted or saved automatically.

The QR is readable by anyone who has it. Editing removes stale downloads. Clear all forgets the fields and example undo on this page; downloaded files and clipboard contents remain. Message spaces are preserved and line breaks use email-compatible CRLF encoding.

Keep the message short

Encoded links are limited to 1,500 bytes. Unicode and punctuation expand when encoded, so the number of characters that fit varies. Dense codes may require 1024 px. Keep the white border when printing.

Format reference: RFC 6068 mailto URI scheme. Need a saveable contact card instead?