Skip to main contentSkip to templates

Email QR code generator

Set the address, and optionally a subject and a message. Scanning the code opens a new email in the mail app with those fields filled in.

Free, with no account, no watermark, and no scan limit. The code is static: what it holds is in the pattern, so it never expires.

What happens when someone scans it?

The phone opens its mail app with a new email. The person checks it and taps Send. Nothing is sent automatically.

What is in the code?

mailto:<address>?subject=<subject>&body=<message>

A mailto link (RFC 6068). Spaces and special characters in the subject and message are percent-encoded, so a space is %20.

How big should I print it?

Measured with the encoder this page uses, for one example: an address, a subject, and a three-line message (101 characters). Each module needs at least 0.4 mm, and no code should be under 2 cm. A logo raises error correction to level H, which adds modules.

DesignModulesMinimum widthScans from up to
No logo (level M)41 × 412 cm20 cm
With a logo (level H)57 × 572.3 cm23 cm

For your own content and scan distance:

Tips

  • Pre-fill the subject

    A fixed subject such as "Table booking" or "Feedback, store 12" lets you sort the emails you get from the code.

  • Give the message a shape

    Lines such as "Date:" and "Guests:" tell people what to write, and you get answers in the same order.

  • Keep the message short

    Every character is in the code. A long message makes a dense code that needs more print space.

  • Show the address too

    Some people use a computer, or a phone without a mail app set up. Print the address next to the code.

Questions

Does the email send by itself?
No. The code opens a draft. The person who scanned it reads it and taps Send.
Which mail app opens?
The default mail app of the phone: Mail on iPhone, often Gmail on Android. If none is set up, the phone asks which app to use.
Can people see the email address?
Yes. The address is in the To field of the draft, and anyone with a QR reader can read it from the code.
Can I see who scanned the code?
Not from the code: it holds the email fields and nothing else. You see who wrote when the email arrives.