Mailto Link Builder
Generate <code>mailto:</code> links with To, Cc, Bcc, subject and body — properly URL-encoded so line breaks, accents and emoji survive every email client.
What is a mailto link?
A mailto: link is a URL scheme that opens the user's default email client with a pre-filled draft. It was standardised in RFC 6068 and is supported by every major operating system, web browser and mobile platform. The recipient address sits in the path, while everything else — subject, body, Cc, Bcc, even custom headers — lives in the query string and must be properly percent-encoded.
How to use this builder
Type a recipient (or several, comma-separated) into To. Add a subject and body — line breaks, emoji and non-ASCII characters all work. The Mailto link output updates live; copy it as-is for chat, or copy the HTML snippet to drop a clickable link straight into a web page or email signature. Open in email client launches the user's default mail app with the draft populated.
Why some characters look strange in the URL
Spaces become %20, line breaks become %0A, the ? separator becomes %3F if it's in your subject. That's percent-encoding, and it's required: any literal space, line break or reserved character would otherwise break the URL parser. Modern email clients decode the URL and present the draft normally, but some old clients (looking at you, Outlook 2010) don't decode %0A as a line break. If your audience is on legacy desktop clients, keep the body short and on a single line.
Mailto fields
| Field | Purpose | Example |
|---|---|---|
to | Primary recipient(s). | alice@example.com |
cc | Carbon-copy recipients (visible to all). | team@example.com |
bcc | Blind-carbon-copy recipients (hidden from others). | archive@example.com |
subject | The email subject line. | Quick question |
body | Pre-filled message body. | Hi Alice, … |
Frequently asked questions
How long can a mailto link be?
Can I attach a file?
mailto: scheme has no attachment field — the spec doesn't define one, and no major client implements it as a vendor extension. Your only option is to mention the attachment in the body and have the user attach it themselves.Why is my line break not showing up?
%0A (or %0D%0A) and not a literal newline. Some clients require %0D%0A (carriage-return + line-feed); this builder emits both for maximum compatibility. If breaks still don't render, the user's client is older than the spec it implements.Is mailto safe from spam harvesters?
mailto: attributes from HTML. Obfuscation (rendering the address with JavaScript, replacing @ with an image) helps a little; using a real contact form behind a CAPTCHA helps a lot more. For low-traffic sites, mailto with a public address you don't mind retiring is a fine trade-off.
EN
PT
ES