Mailto Link Generator

Turn a recipient, a subject and a few lines of text into a mailto: link you can paste into a page.

Runs on your deviceEmailWorkingNo account needed

What this tool does

Mailto Link Generator assembles the URL that opens a reader's mail client with the message already filled in. Recipients go in the To, Cc and Bcc fields, the subject line has a box of its own, and whatever you type in the main pane becomes the body. Each value is percent-encoded the way the mailto scheme requires, line breaks are normalised to CRLF pairs, and the finished link is offered three ways at once: the bare URL, an HTML anchor, and a Markdown link.

Recipient lists are parsed rather than passed through. Addresses can be separated with commas, semicolons or line breaks, and a comma inside a quoted display name — "Smith, Bob" <[email protected]> — does not split the list in two. Every address is then checked before the link is built, and one that fails the check stops the job and names the fault; if its domain is also close to a well-known one, the message ends with the address it thinks you meant. That prompt only arrives with a rejection, so a misspelling that is still a well-formed domain — gmial.com — is built into the link without a word, and nothing here asks the network whether a domain exists. A build with nothing in To is refused outright.

A few limits are worth knowing before the link goes into a page. It cannot attach a file, because the mailto scheme carries no attachment parameter to fill in. It cannot send anything either — the link opens a composer and the reader still presses send, and on a machine with no application registered for the mailto: scheme the click does nothing at all. Display names are dropped: type B Person <[email protected]> and the link carries [email protected] on its own. Bcc is not concealed either, since it sits in the query string where anyone reading the page source can see it. All of this is assembled in this browser tab, so no address, subject line or draft is uploaded.

How to use it

  1. Enter the recipients. To takes one address or several, separated by commas, semicolons or line breaks. Cc and Bcc are optional and follow the same rules.
  2. Add a subject and the body text. The subject has its own field. The body is the main input pane and can be left empty, in which case the link carries only the address and whatever else you set. Trailing blank lines are trimmed off the end of the body.
  3. Set the link text. This is the visible label on the preview and in the HTML and Markdown snippets; the raw URL is unaffected. Left blank, the first recipient's address becomes the label.
  4. Take the form you need. The panel shows a clickable preview, the HTML anchor, the Markdown link and the raw URL, with the recipient count and the link's length in characters beside it. Copy output takes all three forms in one go, so select the block you want if only one of them is going anywhere.

Processing & privacy

Runs on your device. Your file is processed directly in this browser.

Common use cases

A contact link that sorts itself

Prefill the subject with a queue name or a reference code and replies arrive already labelled, instead of forty messages all titled Hello.

A bug report template

Put the questions you always end up asking — version, browser, what happened — in the body, so the first message back already answers them.

An email link inside documentation

The Markdown form drops straight into a README or a handbook page without hand-writing bracket-and-parenthesis syntax around a long encoded URL.

Reaching the same group every time

One link can carry a list in To and another in Cc, so a request always lands with the same people without anyone retyping the addresses.

Questions

Are the addresses I type sent anywhere?
No. The link is built in this browser tab from the values you enter, so the recipients, the subject and the body are never transmitted or stored. It works with the network disconnected.
Can the link attach a file?
No. The mailto scheme defines recipients, subject, cc, bcc and body, and nothing that carries an attachment, so there is no field for it. Host the file somewhere and put its address in the body instead.
Why did my display name disappear?
The generator reads B Person <[email protected]> so it can validate the address inside the angle brackets, then writes only that address into the link. The name is not carried through, so put it in the body if it matters.
How long can a mailto link be?
Nothing here imposes a limit. The character count sits beside the output, and past 2 000 characters a warning is raised, because some clients truncate around that point. That warning is written into the copied text rather than shown in the panel, so you meet it after pasting — delete the line before the link goes anywhere. A long body is the usual cause.
Does Bcc keep an address private?
Not in the link itself. Bcc appears in the query string like every other parameter, so anyone who inspects the anchor or views the page source can read it. It only hides the address from the people who receive the message once it has been sent. Using Bcc also appends a warning line to the copied text, which has to come off before you paste.
Will it catch a typo in the domain?
Only when the domain is malformed as well as wrong. gmail..com is rejected with gmail.com offered as the fix, but gmial.com is a perfectly legal domain name, so the link is built and sent on its way. Read the addresses back before publishing the link, or run the list through Email Syntax Validator, which reports near misses on valid domains too.
Can the body contain formatting or HTML?
No. The body is plain text and line breaks become encoded CRLF pairs. Markup typed into it arrives as literal characters rather than as bold text or a heading.
What happens if a reader has no mail application?
The click does nothing useful, because the browser has nothing registered for the mailto: scheme to hand the link to. Showing the address as visible text beside the link covers that case.

Related tools