How to use it
- Type the address or addresses in To. Separate several with a comma.
- Add Cc or Bcc only if the e-mail needs them, and fill in the Subject and the Message.
- Copy the mailto link and put it on your page, or download it as a text file.
- Click the link once on a computer and on a phone, to check that the mail program opens with the fields you meant.
How the link is built
RFC 6068 defines the mailto scheme. The link starts with mailto: and the recipients. The optional fields follow a question mark, each as a name, an equals sign and a value, and the fields are joined by ampersands. The fields are cc, bcc, subject and body.
Values are percent-encoded octet by octet, as RFC 3986 describes:
- A space becomes %20.
- The characters ?, =, & and # are escaped inside a value, so the mail program does not read them as the end of a field. The plus sign is escaped too.
- A line break in the message becomes %0D%0A. RFC 6068 requires that form for line breaks in the body.
- A line break in the subject becomes a space, because RFC 6068 says line breaks should not be used in the other fields.
- Turkish and other non-ASCII letters are written as their UTF-8 octets, for example ü as %C3%BC.
What the tool does not check
- Whether an address exists or receives mail. The tool checks only that each address is written correctly, with the same check the e-mail tools of this site use.
- How long a link a particular mail program accepts. Test a long message by opening the link before you publish it.
- Whether the visitor's device has a mail program set as the default. Without one, the link does nothing, so show the address on the page as well.
Worked example: a subject and a two-line message
The recipient is [email protected], the subject is Spring offer, and the message has two lines: Hello, and Please send the price list.
The line break in the message is written as %0D%0A, and the comma as %2C. The @ of the address stays as it is, because the address is written as it is typed.
| Field | Written in the link |
|---|---|
| To | [email protected] |
| Subject | subject=Spring%20offer |
| Message | body=Hello%2C%0D%0APlease%20send%20the%20price%20list. |
Frequently asked questions
Why does the message show on several lines in my mail program?
A line break in the message is written as %0D%0A, the form RFC 6068 requires for the body. The mail program reads it back as a line break, but some programs handle long messages differently, so check the link in the program you use.
Can I add several recipients to To, Cc and Bcc?
Yes. Type the addresses separated by commas in any of the three boxes. The link lists them with a comma between addresses, as the RFC shows for the recipients.
Why are the question mark and the ampersand written as %3F and %26?
Inside a mailto link, the question mark, the equals sign and the ampersand separate the fields. When one of them is part of a value, RFC 6068 requires it to be escaped, as %3F, %3D or %26, and a # in a value becomes %23.
Does the tool check that the addresses are real?
No. It checks that each address is written correctly. A correct address can still be unused, and a wrong address can be written well, so the mail itself is the only real test.
Does the tool send the e-mail or store what I type?
No. The link is built in your browser, and nothing you type is sent to us or stored. The e-mail is created only when a visitor opens the link in their own mail program.
Does a mailto link work on every device and browser?
It works where a mail program is set as the default. Some devices and webmail users have no default program, so a visible e-mail address on the page is a good fallback next to the link.
Sources
- RFC 6068: The 'mailto' URI Scheme (sections 2 and 5)
- RFC 3986: Uniform Resource Identifier, generic syntax (sections 2.1 and 2.3)
Figures and text last checked on Tuesday, November 10, 2026.