A mailto link is a web address that starts with mailto: and asks the reader's device or browser to open a new email draft when they click or tap it. To fill in the subject and message, add them after a question mark, as in mailto:hello@example.com?subject=Quote%20request&body=Hi, with spaces and line breaks written as codes.
When a mailto link doesn't work, check two things first. The text may not be encoded, or the person's device may have no email app set up to open it.
The mailto link format with subject and body
A mailto link is mailto:, then the address, then a question mark, then field=value pairs separated by &. That format comes from RFC 6068, the standard for mailto links (section 2, read 29 October 2026).
mailto:hello@example.com?subject=Booking%20enquiry&body=Hi%20there
The address and wording here are made up. Swap in your own.
Mailto parameters for subject, body, CC and BCC
These fields go after the question mark, joined with &.
- subject= sets the subject line. RFC 6068 counts subject and body as generally safe and useful.
- body= fills in the message. The standard says this is for the plain text part of the email and was meant for short messages.
- cc= and bcc= ask for copied and blind-copied addresses. RFC 6068 (section 3) says these values don't necessarily end up in the email, so support varies between email apps.
To send to more than one person, separate the addresses with a comma before the question mark, as in mailto:hello@example.com,bookings@example.com. A to= field is allowed, but don't use it as well as addresses before the question mark. The standard says mixing the two isn't recommended because email apps handle it differently, and some ignore to= altogether.
How to encode spaces, line breaks and symbols in a mailto link
Everything after the question mark has to be written as codes wherever a character would otherwise confuse the link. RFC 6068 says spaces should be %20, and a plus sign can be written as %2B. A line break in the body is %0D%0A. If you use &, ? or = inside your text rather than as a separator, encode them too, and RFC 6068 says # must always be written as %23. Accented letters are encoded as UTF-8, so the standard's own example writes café as caf%C3%A9.
| Character | Code |
|---|---|
| space | %20 |
| line break | %0D%0A |
| & | %26 |
| ? | %3F |
| = | %3D |
| comma (in subject and body) | %2C |
| % | %25 |
| # | %23 |
| + | %2B |
Here is a filled-in example for a made-up trade business. The address is a placeholder.
mailto:hello@example.com?subject=Quote%20request&body=Hi%2C%0D%0AI%20would%20like%20a%20quote%20for%3A%0D%0APostcode%3A%20
It opens with the subject 'Quote request' and a body of three lines.
- Hi,
- I would like a quote for:
- Postcode:
The customer can edit the message, say what the job is and add their postcode on the last line. Their email app may also add its own line break at the end.
A mailto link in HTML
On a website you edit yourself, the link goes inside an ordinary anchor tag.
<a href="mailto:hello@example.com?subject=Quote%20request&body=Hi%20there">Email us for a quote</a>
In HTML source, write the & between subject and body as &. RFC 6068 (section 2) says a mailto address containing an ampersand has to be written with an HTML entity. The browser turns it back into &, so it doesn't appear in the email.
Make the link text say what happens. 'Email us for a quote' tells people an email app will open, and 'click here' doesn't.
Making a mailto link with the Digily Link generator
Digily Link is our product, and anyone can use its mailto link generator without encoding anything by hand.
- Type your address in 'To email'. Enter the address only.
- Add any extra addresses in 'CC' or 'BCC'. The tool encodes the subject and body but not the address fields, which it adds exactly as typed, trimming only the spaces at either end. Use plain addresses without names or notes, and test any address with unusual characters.
- Write the 'Subject' and 'Body content' as normal text. The tool turns spaces into %20, & into %26 and commas into %2C.
- After changing a field, click elsewhere or press Tab. The 'Result' box updates when you leave a field, not while you type.
- Copy the link from 'Result' with the copy button.
One difference from the standard is that a line break typed in 'Body content' becomes %0A, a single line feed, where RFC 6068 uses %0D%0A. We haven't tested how each email app handles that, so to follow the standard, replace %0A with %0D%0A in the result before you paste the link anywhere.
The generator's code builds the link in your browser without sending the form to our server. You get the mailto address only. To use it on a web page, put it in an anchor tag like the one above.
Why a mailto link sometimes does nothing
A mailto link opens whichever email app is set as the default on that device. It doesn't open any particular email service. Webmail can open it too if the browser has been set up to hand mailto links to it, as MDN's page on registerProtocolHandler describes. If nothing is set up to handle the link, nothing may happen, or the browser may offer a choice of apps.
Email apps also differ in which fields they use. RFC 6068 notes that some ignore a to= field, which is why recipients belong before the question mark. Keep the body short and in plain text, since that is what the field was designed for. The standard says body is not for general MIME bodies and doesn't describe a way to attach files.
The link only opens a draft. Nothing is sent until the person presses Send. The standard (section 7) says email apps shouldn't send a message from a mailto link without showing it to the person first, so they can edit or delete your wording. Your website also can't tell whether the email was sent. If you need a record of every enquiry, a contact form does that job better.
Test on a phone and a computer before you rely on the link, and again after any change.
Where to use a mailto link on your site, bio page and QR codes
A button on your website
An 'Email us' button for bookings or quotes is the obvious place for it. Paste the encoded link as the button's address.
A Button block on your bio page
The Button block on a Digily Link bio page accepts a mailto link with a subject and body. In our own check of how the Digily Link button field handles addresses (29 October 2026, run on a local copy of the code behind that field, not on the live dashboard), an encoded mailto link was kept as it was, but unencoded spaces were stripped out. A subject typed as 'Fish & chips' became 'Fish&chips' and broke the link, so paste the encoded version and don't type spaces into it. Two addresses separated by a comma were kept. A link with no address, such as mailto:?subject=Hi, was rejected. Check your own button on a phone after saving.
If you only need your address, the Email icon in the Socials block makes a plain mailto link with no subject, and it's on the free plan. For more on setting up the page, see our guide to a link in bio page for a UK small business.
An Email QR code on printed material
For flyers, menus or a shop window, the QR code generator has an 'Email' type with 'Email address', 'Prefilled subject' and 'Prefilled message' fields. Type the subject and message as normal text, because the generator encodes them for you. The limits are 360 characters for the address, 256 for the subject and 2,048 for the message. The free plan allows up to 20 QR codes at a time, not 20 a month. Deleting one frees a place.
For other contact options, see our guides to a professional email signature for a UK business and a WhatsApp link with a pre-filled message.
What a mailto link reveals about your email address
A mailto link puts your address in plain view, so it doesn't hide it from anyone. RFC 6068 warns that addresses in mailto links on public pages are open to address harvesters, and that addresses in bcc can leak to other recipients. A bcc address is also visible to anyone who looks at the link itself, so leave private addresses out of any link the public can see. The same goes for the subject and body. They are part of the address, so never put passwords, customer details or anything confidential in them.
When your wording is ready, build a mailto link without hand-encoding in our generator, then paste it into your button and test it on two devices.
Mailto link questions
How do I add a line break in a mailto body?
Write %0D%0A wherever you want a new line. If the generator gave you %0A, swap it for %0D%0A to match the standard.
Why does my mailto link not open anything?
The device may have no email app or webmail set up to handle mailto links. Show your address as plain text next to the button so they can copy it.
Can I add CC and BCC to a mailto link?
Yes. Add cc= and bcc= after the question mark, or use the CC and BCC fields in the generator, but email apps don't all honour them. Bear in mind that a bcc address can be seen in the link and can leak to other recipients.