Free tool · PNG and SVG · Runs in your browser

Email QR code generator

No uploadRuns in your browserReviewed October 9, 2026

Short answer

Enter an address and, if you like, a subject and a message, and the tool writes a mailto: link into the code. Scanning it opens a new email ready to send. The ZXing wiki advises encoding a proper mailto: URL rather than the bare address, so scanners recognize it as an email. An address and a subject came out as Version 4 (33 × 33) to Version 7 (45 × 45) depending on the message. Nothing is uploaded.

Enter a valid email address.

Nothing is uploaded: the code is drawn in your browser. Codes do not expire and carry no tracking.

Key takeaways

  • The ZXing wiki says that to ensure an address is recognized as an email address you should create a mailto: URL, and that readers should open a blank email to that address. It lists subject, body, cc and bcc as options.
  • Our example, mailto:hello@riverastudio.example?subject=Booking%20enquiry&body=Hello%2C%20I%20would%20like%20to%20book%20a%20session., is 119 characters and Version 7 (45 × 45).
  • Subject and message are percent-encoded, so a space is written as %20 and costs three characters. The tool does this for you.
  • Size grows with the message: no body is Version 4 (33 × 33), a 40 character body Version 6 (41 × 41), 100 characters Version 9 (53 × 53) and 400 characters Version 17 (85 × 85).
  • Which mail app opens is up to the phone. The code only says who the email is to, and what it says.

What the code contains

An email code is a mailto: link, the same thing a web page uses.

Email links from the ZXing wiki, read 2026-10-09.
LinkWhat it does
mailto:someone@yoursite.comOpens a new email to that address
mailto:someone@yoursite.com?subject=Mail%20from%20Our%20SiteAdds a subject
mailto:…?subject=Big%20News&body=Body%20goes%20here.Adds a subject and a body

The tool writes mailto:hello@riverastudio.example?subject=Booking%20enquiry&body=Hello%2C%20I%20would%20like%20to%20book%20a%20session. for the example above.

Measured: how big the code gets

Measured with the qrcode library the tool uses and the jsQR decoder; the method is on the QR code generator page. One decoder is not every phone, so test a print on yours.

The address is hello@riverastudio.example with the subject Booking enquiry; the body is a run of letters of the length shown.

Email codes at error correction level M.
BodyLink lengthSize
No body59Version 4 (33 × 33)
40 characters105Version 6 (41 × 41)
100 characters165Version 9 (53 × 53)
200 characters265Version 12 (65 × 65)
400 characters465Version 17 (85 × 85)

The example with a real body decoded back to exactly the text we built.

Tips

  • Keep the subject and body short. Each character adds to the code.
  • Use a role address such as hello@ if the code will be public, because anyone who scans it learns the address.
  • Test on the mail app your readers use.
  • The code holds the address itself, so a change of address needs a new code.

Free tools:QR code generatorWi-Fi QR codeContact (vCard) QR codeWhatsApp QR codeText message QR codeLocation QR code

Questions people ask

How do I make a QR code for an email address?

Enter the address and, if you like, a subject and a message, then download the code.

Why mailto: and not just the address?

The ZXing wiki says that to ensure an address is recognized as an email address, you should encode a mailto: URL.

Can I fill in the subject and the message?

Yes. They are percent-encoded into the link.

Why is my code dense?

A long body adds many characters: 400 characters made a 85 × 85 code.

Does it work on every phone?

The format is standard, but the app that opens is up to the phone. Test on the phones your readers use.

Is my address uploaded?

No. The code is drawn in your browser.

Related

Sources and how we checked

  1. ZXing wiki: Barcode Contents (read 2026-10-09)
  2. Denso Wave: Information capacity and versions of the QR Code (read 2026-10-09)
  3. Denso Wave: Error correction feature (read 2026-10-09)

Reviewed October 9, 2026. The measurements generated codes with the same library the tool uses and read them back with an independent decoder (jsQR). The script and the results are in data/seo/hub/evidence/2026-10-09/qr.