Skip to the generator

Email QR code generator

Open a new email with the address, the subject and the body already filled in.

Optional.

Optional. The person can edit it before sending.

Your QR code appears here

Start typing and it updates as you go.

PNG is 2048px. SVG scales to any size, which is what print wants.

Design
Colours

Or start from a pair that scans well:

Module shape

The empty border around the code. 4 is the standard.

Recovers about 15% damage. The usual choice.

Centre logo

Optional. Keep it simple - a mark reads better than a wordmark at this size.

What is actually in an email QR code

An email QR code holds a mailto: link - the same kind of link an email address on a web page uses. The address comes first, then the subject and the body as query parameters. Those two are URL-encoded, which is why spaces appear as %20 and a colon as %3A in the raw text. The phone recognises the mailto: scheme and opens the default mail app with a draft already filled in.

It opens a draft. It does not send anything. The person can read what you wrote, change any of it, and either send it or back out - so a scan can never quietly send mail in somebody's name. That also means the prefilled body is a prompt rather than a form: whatever you put there is a starting point the sender is free to delete.

One consequence that catches people out is that the subject and body take space in the code just like the address does. A short subject and a one-line body keep the pattern chunky and easy to scan. Pasting three paragraphs of instructions makes a dense code and a draft most people will scroll past anyway. Write the prompt as the first line the sender should fill in, not as the whole message.

The text inside the code

mailto:orders@northgatebakery.com?subject=Cake%20enquiry&body=Date%20needed%3A

Good for

  • A support poster in a lobby
  • A feedback card on a table
  • A parts request sticker on a machine
  • A recruitment flyer
  • A report-a-fault notice
  • An invoice or statement footer

Worth knowing before you print it

  • Scan it yourself and check the address character by character

    A typo in an email address does not bounce back to you - it goes to nobody, or to a stranger, and you find out weeks later when the enquiries never arrived. Scan your own code, look at the To field the mail app shows, and read it against the address you meant.

  • The phone needs a mail account set up

    A mailto: link only works if the device has a mail app configured. On a phone that has never been signed into mail, or a shared tablet in a lobby, tapping the prompt opens a setup screen or does nothing at all. Print the address in readable text beside the code so those people still have a way to reach you.

  • Keep the prefilled body to a line or two

    A long body makes the code denser and the draft harder to read on a phone. One prompt works better than a template: "Order number:" or "Which product, and what went wrong?" gets you the detail you need without asking somebody to edit around your paragraphs.

  • A code on a public web page is scrapeable

    People sometimes use a QR code to hide an address from spam bots. On a printed sign that works. As an image on a public web page it is a weaker defence than it looks, since the code can be read straight out of the picture. Use a role address like hello@ or support@ that you can retire if it starts collecting junk.

Common questions

No. It opens a new draft in the phone's mail app with the address, subject and body already filled in. The person reads it, edits it if they want to, and taps send. Nothing leaves their phone until they do.

Whichever mail app the phone is set to use - Mail on an iPhone, Gmail or Outlook on most Android phones. You cannot choose it from the code, and you do not need to: the mailto: scheme hands off to whatever the person already uses.

Yes, both. They are carried in the code as URL-encoded text, so punctuation, accented characters and line breaks all survive. Keep them short - every character is drawn into the pattern, and a long body makes a code that needs to be printed larger.

This generator takes one recipient. If several people need the enquiry, use a shared inbox or a distribution alias - support@, bookings@, info@ - and forward from there. That also survives someone leaving, which a hard-coded personal address on a printed sign does not.

The tap does nothing useful: some phones show a setup prompt, others silently ignore it. It is the main reason to print the address in words next to the code. A visitor on a work phone with mail locked down still needs a way to write to you.

Not in a printed code. The address is inside the pattern, so a change means a new code. If the recipient might change, use an alias you control at your own domain and repoint the alias instead of reprinting.

Other kinds of QR code

All free, all made in your browser.

Printing it? How to print a QR code covers size, contrast and the quiet zone.