TapCub is live — analytics, insights and live chat, free on one platform

Free tool Mailto link generator

A “contact us” link that opens the visitor’s email app with the address, subject and a starter message already filled in. Getting the encoding right by hand is fiddly: spaces must be %20 rather than +, line breaks %0D%0A, and an unescaped & or # silently cuts the message short. Fill in the fields and copy a link that follows RFC 6068.

  • To, cc, bcc, subject, body
  • HTML and Markdown snippets
  • Runs locally
Generator

Build a mailto link

Every field is optional except that you need at least one of them. Separate several addresses with commas.

One or more addresses, separated by commas. “Name <address>” is reduced to the address, because mailto links cannot carry display names.

Visible to anyone who reads your page source.

One line. Line breaks are replaced with spaces.

Plain text only. Line breaks are kept and encoded as %0D%0A.

What the visitor sees in the HTML and Markdown versions. Empty = the first address.

mailto link
mailto:support@example.com?subject=Question%20about%20my%20order%20%231024&body=Hi,%0D%0A%0D%0AOrder%20number:%20%231024%0D%0AWhat%20happened:%0D%0A%0D%0AThanks!

The raw link. Use it in an href, an email signature, or a QR code.

HTML anchor
<a href="mailto:support@example.com?subject=Question%20about%20my%20order%20%231024&amp;body=Hi,%0D%0A%0D%0AOrder%20number:%20%231024%0D%0AWhat%20happened:%0D%0A%0D%0AThanks!">Email our support team</a>

The & between parameters is escaped as &amp;, as HTML requires.

Markdown
[Email our support team](<mailto:support@example.com?subject=Question%20about%20my%20order%20%231024&body=Hi,%0D%0A%0D%0AOrder%20number:%20%231024%0D%0AWhat%20happened:%0D%0A%0D%0AThanks!>)

Angle brackets around the link keep Markdown from misreading brackets in the subject.

Checks

  • OKLink built: 161 characters, encoded per RFC 6068.
Runs entirely in your browser. Nothing you type here is uploaded or stored by TapCub.

Share these inputs: the values go after the # in the link, so they never reach a server.

Version v1.0Updated Update history

Read the result

Three ways to use the same link

The link itself is identical in all three outputs; only the wrapping changes.

mailto link

Starts with mailto:, then the addresses, then ? and the fields joined with &. Paste it wherever a URL is expected: an href, a button in a site builder, a QR code generator.

HTML anchor

Ready for a web page. Inside an HTML attribute, & has to be written &amp;; browsers often forgive the raw form, validators do not.

Markdown

For README files, help-center articles and docs sites. The link sits in angle brackets so a bracket in the subject cannot break it.

Checks

Address problems (typos, display names, a missing @) and warnings about length, Bcc visibility and HTML in the body. Errors still produce a link, so you can fix the address and copy again.

A mailto link only opens an email draft. The visitor can change every field, and nothing is sent until they press send.

How to use it

Three steps

Click your finished link once on a phone and once on a computer.

  1. 1

    Fill in the fields

    Add the address, a subject your team can filter on (“Website enquiry”), and a short body that asks for what you need, such as an order number.

  2. 2

    Copy the format you need

    Raw link for site builders and signatures, HTML for hand-written pages, Markdown for docs.

  3. 3

    Test on two devices

    On a phone it opens the mail app; on a computer it opens whatever is set as the default mail handler, or nothing at all if none is set up.

Encoding rules

What RFC 6068 says a mailto link must look like

mailto: + addresses separated by commas + optional ?field=value pairs joined by &. Values are UTF-8 and percent-encoded.

  • Spaces SHOULD be %20 (RFC 6068 §5). A + is not a space in mailto, and some clients treat it as one, so this tool writes a real plus as %2B
  • Line breaks in the body MUST be %0D%0A (§5)
  • % / ? # [ ] & ; = MUST be encoded inside addresses and values (§2); otherwise & or # ends the field early
  • Non-ASCII text such as café or 价格 is encoded as UTF-8 bytes: caf%C3%A9 (§2, §6.3)
Characters and how they appear in the link
CharacterIn the linkRule
Space%20RFC 6068 §5
Line break%0D%0ARFC 6068 §5
&%26§2: would start a new field
#%23§2: would start a URL fragment
+%2B§5: may be encoded; avoids being read as a space
é%C3%A9§2: UTF-8, then percent-encoded
Worked example

From fields to a finished link

A support link that asks for an order number. Each field below shows the encoded form that ends up in the link.

Encoding a support request link
FieldYou typeIn the link
Tosupport@example.commailto:support@example.com
SubjectQuestion about my order #1024?subject=Question%20about%20my%20order%20%231024
Body, line 1Hi,&body=Hi,
Body, blank line%0D%0A%0D%0A
Body, line 3Order number: #1024Order%20number:%20%231024

Without encoding, the # in the subject would end the link right there and the body would be lost. RFC 6068’s own example of a body is mailto:infobot@example.com?body=send%20current-issue.

Common mistakes

Where mailto links break

Most broken mailto links look fine in the editor and fail only in the visitor’s mail app.

Using + for spaces

Form encoding (a+b) is not mailto encoding. Some apps show the plus signs literally. Use %20.

Raw & or # in the text

“Q&A” or “order #12” ends the subject early. Encode them as %26 and %23.

Publishing the address in plain sight

Addresses in page HTML are harvested by spam bots. Use a role address you can filter, or a contact form or chat for high-traffic pages.

Assuming everyone has a mail app

On many work and shared computers no mail client is set up, and clicking does nothing. Show the address as text next to the link too.

FAQ

Mailto link questions

Still have a question?

Chat with the team behind TapCub — we usually reply within a few hours on business days.

How do I add a subject and body to a mailto link?

Add ?subject= after the address and join further fields with &: mailto:joe@example.com?subject=Hello&body=Hi%20Joe. Encode spaces as %20.

How do I add a line break in a mailto body?

Use %0D%0A, which RFC 6068 requires for line breaks. Two in a row make an empty line.

Why do I see + signs instead of spaces in the email?

The link was encoded with form encoding, where + means space. In mailto links + is just a plus sign. Re-encode with %20.

How do I send to several people?

Separate addresses with commas: mailto:a@example.com,b@example.com. Cc and Bcc take comma-separated lists too.

Can I attach a file with a mailto link?

No. RFC 6068 has no attachment field. A few clients once accepted a nonstandard parameter for it, but you cannot rely on it. Put a link to the file in the body instead.

Can I use HTML in the body?

No. The body is plain text; tags appear literally. Keep it to short lines and blank lines between paragraphs.

Is there a length limit?

RFC 6068 sets none, but browsers and mail apps do. Keep the whole link under about 2,000 characters; for long templates, ask the visitor to fill in a form instead.

Will spam bots find my address?

Probably. Anything in the page HTML, including mailto links, can be scraped. Use a role address with good spam filtering, or offer a contact form or live chat.

Changelog

Update history

New features, fixes and data refreshes for this tool, newest first.

  1. · v1.0

    LaunchedFirst release.

Missing something or found an error? Tell us — requests that come up often go into the next update. All tool updates

Next step

Answer while the visitor is still on the page

TapCub live chat sits on the same snippet as analytics, so each conversation shows the page and source it started from.

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics