An email QR code saves people from typing your address by hand. They point their phone camera at the code, tap the link that appears, and their email app opens a new message already addressed to you. You can even pre-fill the subject line and the first lines of the message, which is handy for feedback forms, support requests, event replies and lost-and-found labels.
This guide shows how to build an email QR code for free with QR Studio, how the underlying mailto: format works, how to encode spaces and special characters, and how to test the code before you print it.
How an email QR code works
A QR code just stores text. For an email code, that text is a mailto link, the same kind of link that opens your email app when you click an email address on a website. The simplest version is:
mailto:hello@example.com
When a phone scans it, the camera recognizes the link and offers to open it in the default email app. The scanner then sees a new, unsent message. Nothing is sent automatically: the person still has to tap Send, and they can edit the message first.
Step by step: make an email QR code with QR Studio
- Open the QR code generator and choose the URL tab.
- Type your mailto link in the box, for example
mailto:hello@example.com. QR Studio keeps links that start withmailto:exactly as typed, rather than addinghttps://in front. - Check the preview. The line under the code shows the exact text that was encoded and how many characters it has. Make sure it matches what you meant to type.
- Adjust the size and colors if you want, keeping strong contrast between the dark modules and the light background.
- Download the code and test it on at least two phones before you print or share it.
You can also paste the same link into the Text tab. Either way, the phone sees the same mailto text.
Make a free QR code for a link, WiFi or contact card — generated in your browser.
Open the free QR code generator →Adding a subject, message, CC and BCC
The mailto format lets you add extra fields after a question mark. Separate each field with &:
| Field | What it does | Example |
|---|---|---|
subject= | Pre-fills the subject line | ?subject=Order%20question |
body= | Pre-fills the message text | &body=Hi%20there |
cc= | Adds a CC recipient | &cc=manager@example.com |
bcc= | Adds a BCC recipient | &bcc=archive@example.com |
Putting it together, a code for a support inbox might store:
mailto:support@example.com?subject=Order%20question
That link is 51 characters long. A longer version with a message might be:
mailto:hello@example.com?subject=Event%20RSVP&body=I%20would%20like%20to%20attend.
To send to more than one main recipient, separate the addresses with a comma: mailto:sales@example.com,support@example.com.
Most email apps on phones fill in the subject and body from a mailto link, but support varies between apps. That is one more reason to test with the phones and apps your audience is likely to use.
Encoding spaces and special characters
Links cannot contain plain spaces, and some characters have special meaning inside a mailto link. Replace them with their percent-encoded form:
| Character | Write it as |
|---|---|
| Space | %20 |
| & (ampersand) | %26 |
| ? (question mark) | %3F |
| # (hash) | %23 |
| % (percent sign) | %25 |
| Line break in the body | %0D%0A |
Letters, numbers, periods, hyphens and the @ in the address are fine as they are.
Worked example
Say you want the subject "Lost & found" and a message with two lines, "Item:" and "Where:".
- Subject: "Lost & found" becomes
Lost%20%26%20found. The space becomes %20 and the ampersand becomes %26. Without that, the email app would read&as the start of a new field and cut the subject short. - Body: "Item:" then a line break then "Where:" becomes
Item:%0D%0AWhere:. - Full link:
mailto:desk@example.com?subject=Lost%20%26%20found&body=Item:%0D%0AWhere:
Avoid using + for spaces. In web search links a plus can mean a space, but in mailto links it may show up as a literal plus sign in the subject. Using %20 is the safe choice.