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.

Line breaks become %0A

Used in the HTML snippets.

Output

Add a recipient to build the link.

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

  1. 01

    Add the recipient

    One address or several, comma-separated. Cc and bcc work the same way.

  2. 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.

  3. 03

    Copy what you need

    Take the raw mailto: URL for an href you already have, or the complete anchor tag for a page.

  4. 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.

The anatomy of a mailto linkA mailto URL is the scheme mailto colon, the recipient address, a question mark, then ampersand-separated parameters for subject, cc, bcc and body. Spaces are percent-encoded and line breaks become percent zero A.mailto:[email protected]?subject=Website%20enquiry&body=Hi%2C%0AI'd…schemerecipientfirst param uses ?spaces → %20line break → %0AEvery parameter after the first is joined with &, never another ?
The four fields every client honours: subject, cc, bcc and body. Anything else is unreliable.

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.

FieldSupportNotes
toUniversalMultiple comma-separated recipients work nearly everywhere, but some clients only honour the first — put the essential one first.
subjectUniversalEncode it. An unencoded & or # truncates everything after it.
bodyUniversalUse %0A for line breaks. Keep it short — past roughly 2,000 characters clients start truncating.
cc / bccVery goodHonoured by every major desktop, mobile and webmail client in current use.
attachmentNoneNot in the scheme, not supported by any browser or client. It cannot be done from a link, whatever a tool claims.
fromNoneIgnored by design — a page choosing which of your accounts sends would be a phishing primitive.
Rule of thumb: to, subject, body, cc and bcc. Anything beyond those five is decoration you cannot rely on.

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.

The product behind the tool

AI 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.

Ready when you are

Email, finally worthy of your attention.

Start your 7-day free trial. Cancel anytime.

  • 7-day free trial
  • Cancel anytime
  • Every provider