Free tool · no signup
Mailto Link Generator
A mailto link opens the visitor's email client with your address — and, if you want, a subject, cc, bcc and a pre-written body — already filled in. This generator encodes all of it correctly, including line breaks, and gives you the finished URL plus copy-paste HTML. Free, no signup, and it updates as you type.
Runs entirely in your browser. Nothing you paste is uploaded, logged or stored.
Comma-separate for several recipients.
Used in the HTML snippets.
Output
7 characters
Preview
Clicking opens your own mail client with the fields filled in — the fastest way to check the encoding survived.
- To, cc, bcc, subject and a multi-line body
- Correct percent-encoding, including %0A for line breaks
- Live output: the mailto URL and the ready-made <a> tag
- Optional HTML button snippet with inline styles for email templates
- Multiple recipients, comma-separated and encoded properly
- Test the link before you ship it
How to use it
Four steps, about thirty seconds
- 01
Add the recipient
One address or several, comma-separated. Cc and bcc work the same way.
- 02
Write the subject and body
Type them as they should appear. Line breaks in the body are preserved and encoded as %0A for you.
- 03
Copy what you need
Take the raw mailto: URL for an href you already have, or the complete anchor tag for a page.
- 04
Test it
Use the test link to confirm your mail client opens with the fields filled in before you publish.
Anatomy
What a mailto link is made of
A mailto: link is a URL like any other, and it follows the same rules. The scheme is mailto:, the path is the recipient, and everything after the first ? is a query string of fields the mail client should pre-fill. Every field after the first is joined with &, never another ? — that single mistake is behind most hand-written links that “work on my machine” and nowhere else.
The other half of the job is encoding. Spaces become %20, line breaks become %0A, ampersands inside your subject become %26 or they end the field early. Typing an encoded body by hand is possible and miserable; that is what this generator is for.
Support
What actually works, by client
mailto: is old and widely implemented, which means the basics are safe everywhere and the edges are not. This is the honest support picture.
| Field | Support | Notes |
|---|---|---|
| to | Universal | Multiple comma-separated recipients work nearly everywhere, but some clients only honour the first — put the essential one first. |
| subject | Universal | Encode it. An unencoded & or # truncates everything after it. |
| body | Universal | Use %0A for line breaks. Keep it short — past roughly 2,000 characters clients start truncating. |
| cc / bcc | Very good | Honoured by every major desktop, mobile and webmail client in current use. |
| attachment | None | Not in the scheme, not supported by any browser or client. It cannot be done from a link, whatever a tool claims. |
| from | None | Ignored by design — a page choosing which of your accounts sends would be a phishing primitive. |
When not to
When a mailto link is the wrong choice
A mailto: link hands the interaction to whatever the visitor’s device has registered as its mail handler. On a phone, or on a laptop with a desktop client configured, that is a fast, familiar experience — the compose window opens with everything filled in and the person is already writing. It is genuinely better than a form for that audience.
If the visitor reads mail in a browser tab and has never registered a handler, the click does nothing visible at all. There is no error and no fallback; the page simply appears broken. That is why a public contact page usually wants a form, and why a mailto belongs where the audience is known — a developer docs page, an internal tool, a signature, a support article aimed at people already in a mail client.
The second consideration is harvesting. An address in an href is plain text in your HTML, and scrapers have read those for decades — including, to be fair, tools like the email extractor on this site. If the page gets real traffic, publish a role address you can filter rather than a personal one, and treat the obfuscation tricks with suspicion: most of them inconvenience real visitors and screen readers more than they inconvenience a scraper.
Recipes
Three links worth keeping
The pre-filled support request. Put the page URL, the plan and the browser into the body, and support stops asking three questions before they can start. Fill the body here, then template the dynamic parts server-side.
The one-click intro. A subject and a first line already written removes the hardest part of sending a cold message — starting it. Keep the body to two sentences; a long pre-written message reads as a form letter the recipient is being asked to sign.
The bcc’d paper trail. Bcc your CRM drop-address on links that generate real conversations, and the thread files itself without anyone remembering to forward it.
Questions
Frequently asked
Short answers, including the ones where the honest answer is “this tool can’t do that”.
Add ?subject= after the address and percent-encode the text: mailto:[email protected]?subject=Website%20enquiry. Every field after the first uses & instead of ?. This generator does the encoding for you, which is where hand-written links usually break.
Keep going
Related free tools
Email Extractor
Paste text, HTML, CSV or a whole page and get a clean, deduplicated list of email addresses.
Open toolEmail Address Ideas
Generate professional email address ideas from your name, with the conventions real companies use.
Open toolEmail List Cleaner
Paste or upload a list and remove duplicate emails, role addresses, disposable domains and malformed entries in one pass.
Open toolAI Emaily does the part this tool can’t: the reply.
A free tool cleans up a list or builds a link. AI Emaily reads the thread, drafts the answer in the voice you set, and waits for one click — across Gmail, Outlook, iCloud and any IMAP mailbox. You approve every send.
Email, finally worthy of your attention.
Start your 7-day free trial. Cancel anytime.
- 7-day free trial
- Cancel anytime
- Every provider