Skip to main content
Runs 100% in your browser · nothing is uploaded

Mailto Link Generator

A mailto link generator builds a valid mailto: link from a recipient, subject, body, CC and BCC, with the correct percent-encoding added for you. Paste the finished link into any HTML page, button, PDF, or email signature, and one click opens a pre-filled email. Use it for contact links, support emails, feedback messages, newsletter reply-tos, and one-click 'email us' buttons.

Instant & live Fully private No sign-up RFC 6068 compliant
The generator

Generate mailto link

Fill the fields you need, watch the live preview, then copy the mailto: link or the ready HTML.

Compose your link

Fill what you need — everything else stays optional.

Tip: separate multiple recipients with a comma.

Multiple? Separate with a comma.

Multiple? Separate with a comma.

Share the generator

New Message · Live Preview
To
Cc
Subject
(Body content will appear here…)
Rendered link on your page → Contact us
HTML snippet
Raw mailto URL
QR code Print-ready

Take your mailto: link into the real world. A scan opens the same pre-filled draft — great for flyers, business cards, product tags, and event posters.

Updates as you type. PNG is 512×512 — perfect for print.

Live x-ray

Anatomy of your link

This isn't a stock diagram — it dissects the exact link you're building above. Hover or tap any coloured piece to see what it does.

Hover a coloured token above, or tap a card, to highlight it in the link.
How it works

How the mailto link generator works

Four steps, all happening in your browser as you type.

1

You type

Enter the recipient, subject, body, cc and bcc. Nothing leaves your device.

2

We encode

Spaces, emojis and line breaks become safe percent-codes automatically.

3

Link is built

A valid mailto: URL and ready-to-paste HTML appear instantly.

4

You ship it

Copy and paste anywhere — one click opens a pre-filled email for your visitors.

What is a mailto link?

A mailto link is a hyperlink that opens the reader's default email app with a pre-filled draft.

It starts with mailto: instead of https:, followed by the email address. You can add a subject, body, CC and BCC, so the message is ready before the reader types a word. Nothing sends on its own. The email opens as a draft, and the reader presses send.

Why use a mailto link generator?

A mailto link generator writes the encoded link for you, so a wrong %20 or a missing & never breaks it.

Type your text in plain words, and the tool escapes spaces, line breaks and symbols into safe percent-codes. You get a live preview, a raw mailto: URL, and a ready HTML snippet you can paste straight into a page. The test button opens the draft in your own email app, so you can check the link before you ship it.

Perfect for

A mailto link fits any place a reader should reach you in one click.

  • Contact and 'email us' buttons on a website or landing page
  • Support links that pre-fill a subject like 'Bug report'
  • Sales and booking inquiries with a starter message
  • Feedback and survey links with a set subject line
  • Reply-to links inside newsletters and email signatures
Why this tool

Features

Four things that make building a mailto link fast and safe.

One-click copy

Copy the ready HTML snippet or the raw mailto: link with a single click. No selecting, no missed characters.

Privacy first

The generator runs in your browser. Your addresses and message are never uploaded, logged, or sent to a server.

Smart history

Your recent links are saved on this device so you can reuse them. Clear the list anytime with one button.

Ready templates

Start from a contact, support, or sales template and fill in the blanks. Each one loads straight into the tool.

Toolkit at a glance

The complete mailto: toolkit

Everything you need in one place — free, private, and built around real use cases. Every number below is something you can count on this site.

18

Languages supported

From English and Spanish to Arabic and Bahasa Indonesia

12

Ready-made templates

Contact, support, sales, jobs, meetings, refunds, quotes, press and more

7

Full case studies

End-to-end setups for real-world button patterns

100%

Runs in your browser

Nothing you type is uploaded, logged, or stored

Backed by real data

$36 returned for every $1 spent on emailLitmus State of Email Marketing, 2020.

1,800+ spam messages reached an unprotected mailto: address in a 1.5-year test — Mühlemann, Address Munging Test.

See it in action

From broken to fixed — in one click

Follow a real user journey: something breaks, and a single pre-filled mailto button turns frustration into a resolved issue — no forms, no logins, no friction.

1

Something breaks

A user lands on your page and hits a bug — the dashboard won't load.

2
I need to tell the developer…

The frustration

They want to report it but hunting for a contact form or email feels like too much work.

3
Report a Bug

A button appears

Right there on the page — a glowing "Report a Bug" button. No forms, no sign-up.

4
Report a Bug TO [email protected] SUBJ Bug: Dashboard error

One click

Their email app opens with To, Subject, and Body already filled. Just hit Send.

5
Issue Fixed ✓

Resolved

The developer gets a complete bug report. The fix ships, and every user benefits.

That is the power of a pre-filled mailto link — build yours above

Templates

Ready-to-use mailto link templates

Pick a starting point, load it into the generator, and swap in your own address. Each template pre-fills a subject and body so the draft is ready to send.

ContactWebsite

General contact

The everyday "email us" link for a contact page, header, or footer. It opens a friendly, mostly empty draft so a visitor can write their own note in one click.

Draft preview
SubjectHello from your website

Hi there, I came across your website and wanted to get in touch. I'm reaching out about [briefly say what this is about]. Could you let me know the best way to move this forward? I'm happy to share more details or hop on a quick call.

SupportHelp desk

Support request

A structured bug report. The pre-filled prompts make users send the details you need on the first try, and the subject tag keeps tickets easy to sort.

Draft preview
SubjectSupport request: [short summary]

Hi support team, I'm running into a problem and could use a hand. When I [what you were doing], I expected [what should happen], but instead [what actually happened]. I've already tried refreshing the page and signing out and back in. My account email is [[email protected]] and I'm on [browser and device]. I'm happy to send a screenshot or screen recording if that helps.

SalesLeads

Sales inquiry

Turns a "Talk to sales" button into a qualified lead. The starter questions collect company, team size, and timeline before the first reply.

Draft preview
SubjectSales inquiry

Hi, I'm interested in [product or plan] and would like to learn more before we decide. A little about us: - Company: [company name]

CareersHiring

Job application

A careers-page link that opens a ready application draft. It reminds candidates to attach a CV and share a portfolio link, so applications arrive complete.

Draft preview
SubjectApplication: [role]

Hi hiring team, I'd like to apply for the [role] position. I've attached my CV, and you can see my work at [portfolio or LinkedIn link]. In short: I have [X years] of experience in [field], and this role stood out to me because [one specific reason]. I'm available to start [date] and would love to talk about how I can help the team.

FeedbackProduct

Feedback

A quick feedback link for docs, an app, or a blog post. The prompts guide readers to leave specific, useful comments instead of a blank message.

Draft preview
SubjectFeedback on [page or feature]

Hi, I wanted to share some quick feedback on [page, product, or feature]. What's working well: [what you liked]

BookingAppointments

Booking request

For service businesses. A "Book a time" link that gathers the date, time, and contact details you need to confirm an appointment.

Draft preview
SubjectBooking request

Hi, I'd like to book [service]. Here are my details: - Preferred date: [date]

Print → inbox

One scan opens the pre-filled email

Every link you build here can become a QR code — the same draft the button opens, ready for a flyer, a business card, a product tag, or a poster at your event.

SCAN TO REPORT A PROBLEM Open in Mail printed flyer one scan pre-filled draft

Why a QR for a mailto: link?

A mailto: link only lives on a screen. A QR carries the same link into the physical world so a scan opens the exact pre-filled draft — no typing, no bad transcription, no "wait, what was the address again?"

Where it shines

Restaurant table cards ("Feedback on your meal"). Product packaging ("Question about your order"). Event posters ("RSVP by scan"). Business cards ("Book a call"). Support stickers on hardware ("Something wrong? Scan this").

Print-ready by default

Every download here uses medium error-correction (~15%) so the code still scans through a fingerprint or a paper crease. The PNG is a crisp 512×512, and the SVG scales to any print size without blur.

Keep the body short

Long bodies produce dense QRs. Keep the pre-filled body to a few short prompts; readers add detail on the phone.

Print at 2 cm or bigger

For flyers and business cards, keep the printed QR at least 2 × 2 cm (0.8 × 0.8 in). Bigger for posters seen from a distance.

Add a one-line label

A code with no context is skipped. Print a short label under it — "Scan to book a table," "Scan to report a problem" — so people know why.

Test before you print

Point your phone camera at the on-screen QR first. Every modern camera app reads mailto: QRs and offers to open your email app.

Build a link in the generator above, then download its QR from the same card.

Generate my QR
Case studies

Mailto buttons in the real world

Seven teams, seven predefined buttons. Each pattern turns a plain "email us" into a button that collects exactly what you need — read the full story or copy the setup.

pre-filled draft one click

A tool goes down, a page throws an error, a form quietly stops working — and the owner is the last to know. A pre-filled 'Report a problem' button turns confused visitors into an early-warning system for your dev team.

The button on your page
Report a problem
SubjectSite problem reported: [page]

What it saves — Cut time-to-detection from hours to minutes

Read study

Shoppers with a quick question usually leave instead of hunting for a contact form — and you can't tell which product they meant. An 'Ask about this item' button that pre-fills the product name and SKU fixes both.

The button on your page
Ask about this item
SubjectQuestion about: [product name] (SKU [id])

What it saves — Answer buyers fast, with the product and SKU attached

Read study

The customers most likely to cancel rarely tell you why — they just leave. A pre-filled 'Send feedback' button inside the app captures bugs and requests with account context attached, before frustration becomes a cancellation.

The button on your page
Send feedback
SubjectIn-app feedback: [area]

What it saves — Turn quiet frustration into a roadmap signal

Read study

Replies are the strongest signal an inbox has, but they scatter and get lost. A reply link that tags each response by issue lifts engagement, protects deliverability, and files every reply automatically.

The button on your page
Reply to this issue
SubjectRe: Issue #[number] — my take

What it saves — More replies, sorted by issue automatically

Read study

Basic mailto syntax

A mailto link has three parts: the mailto: scheme, the recipient address, and an optional list of fields. The field list starts with a question mark ? and joins each extra field with an ampersand &.

mailto:[email protected]?subject=Hi&body=Hello

Start with mailto:

Every mailto link begins with mailto:, then the email address. There is no // like in https://.

Single recipient

For one recipient, put the address straight after mailto:.

No recipient

Leave the address empty to open a draft with a blank To. This suits a "share by email" button, where the reader chooses who to send to.

mailto:?subject=Check%20this%20out

Characters that divide parameters

Three characters divide a mailto link: ? starts the fields, & joins each extra field, and = links a field name to its value.

mailto:[email protected]?subject=Hello&body=Hi%20there&cc=[email protected]

Mailto link with subject

Add a subject line with the subject field after the ?. Encode spaces and punctuation, so ? becomes %3F.

mailto:[email protected]?subject=How%20are%20you%3F

With subject and body

Add a message with the body field, joined to the subject with &. A line break is %0A, so two line breaks (a blank line) are %0A%0A.

mailto:[email protected]?subject=Welcome&body=Hi%20there%2C%0A%0AThanks%20for%20joining%2E

Mailto link with subject, body, cc and bcc

Combine every field in one link. The order after the ? does not matter, as long as ? comes first and & joins the rest.

mailto:[email protected]?[email protected]&[email protected]&subject=Dear%20Lucy&body=Hope%20you%20are%20well%21

Spaces and other special characters

URLs cannot hold raw spaces or many symbols, so they are percent-encoded. A space becomes %20 and a line break becomes %0A. A wrong code is the most common reason a mailto link breaks, so the generator encodes them for you.

Hi there! → Hi%20there%21

URL-encoding cheat sheet

URL-encoding cheat sheet
Character Encoded Relative frequency in typical emails
space %20
line break %0A
! %21
" %22
# %23
& %26
? %3F
@ %40
% %25

HTML tags

On a web page, put the mailto URL inside an anchor tag. The text between <a> and </a> is what visitors click.

<a href="mailto:[email protected]?subject=Hello">Contact us</a>

The generator writes this exact snippet for you — copy the HTML box and paste it into your page.

Decision guide

When to use a mailto link, and when to use a form

Use a mailto link for a fast, personal reply when the reader has an email app. Use a web form when you need to capture data reliably or reach readers who use webmail.

Use a mailto link when

  • You want a direct, personal reply from the reader's own email address.
  • The message is short and one-off, like a contact note or a quick question.
  • You have no server or form backend to receive submissions.
  • You are adding the link to a PDF, an email signature, or a button, where a form cannot go.

Use a form when

  • You must store or route submissions to a CRM, help desk, or spreadsheet.
  • You need required fields, validation, or file uploads.
  • Readers use webmail with no default mail app set, so a mailto link may do nothing.
  • You want spam protection like a honeypot or a CAPTCHA, plus conversion analytics.

Best practice: offer both. Add a mailto link for people who prefer their own email app, and show a visible email address or a form as a fallback for readers whose browser has no mail handler set.

Best practices

Quick tips

Six habits that keep a mailto link working, private, and easy to read.

Always URL encode special characters

Encode every space, line break, and symbol before it goes in the link. A space is %20, a line break is %0A, and & is %26. One raw character can cut the link off early, so type in plain words and let the tool encode them.

Protect email addresses from bots

A plain address on a public page gets harvested by spam bots. In a 1.5-year test of nine obfuscation methods, an unprotected address drew over 1,800 spam mails, while the best-hidden ones got zero. Obfuscate the address on public pages.

Use BCC for large recipient lists

Put big lists in BCC, not CC or To. BCC hides every address, so no recipient sees the others and you never leak a contact list. Reserve CC for people who should be visible to the whole group.

Keep subject lines concise

Short subjects read better and survive small screens. Many mobile inboxes show only about 30 to 40 characters, so put the key words first. A clear subject like Bug report: checkout beats a long sentence.

Test across multiple clients

Email clients handle mailto links a little differently. Test the link in Gmail, Outlook, and Apple Mail, and on a phone, before you publish. The Test the link button opens the draft so you can check spacing and line breaks.

Provide alternative contact methods

Not every browser has a default mail app set, so a mailto link can do nothing on click. Show the plain email address as text as well, or add a web form, so no reader hits a dead end.

Sources

Technical authority & standards

The standard, libraries, and studies this tool is built on — each one links to its primary source.

Standard

RFC 6068 — the 'mailto' URI scheme

RFC 6068 is the IETF standard that defines the mailto: URI scheme. It sets the rules this tool follows: which header fields are allowed, how to percent-encode text as UTF-8, and how a client turns a mailto link into a real message. Build a link to RFC 6068 and any standards-based email client can read it. Read RFC 6068.

Library

email-validator

email-validator is a small, widely used npm package that checks whether an address is well formed. It validates the shape of the address, not whether the mailbox exists, and passes a million weekly downloads. Pair it with this generator to catch typos in the To field before you ship a link. View on npm.

Library

mailto-link

mailto-link is an npm helper that builds a mailto: URL from a recipient, subject, body, cc and bcc in JavaScript. It applies the same encoding this tool does, in code, which helps when you generate links dynamically inside an app. View on npm.

Library

react-mailto

react-mailto is a React component that renders a mailto link with subject, body, cc and bcc passed as props. It fits React apps where you want one reusable "email us" component instead of hand-writing the href each time. View on npm.

Research

Conversions on the rise — modernizing e-mail marketing practices

This 2022 study in the Journal of Research in Interactive Marketing found that emails built on data people volunteer themselves earn higher response rates than emails based on tracked behaviour. A mailto link is volunteered contact at its simplest: the reader chooses to write to you. Email also returns about $36 for every $1 spent, per Litmus, so making that first message easy is worth it. Read the study.

Standard

Advancing web accessibility — WCAG 2.0 to WCAG 2.1

The W3C published WCAG 2.1 in June 2018, keeping the 61 success criteria from WCAG 2.0 and adding 17 more, with a focus on mobile, low vision, and cognitive needs. For mailto links, that means clear link text instead of a raw address, and showing the email as visible text so screen-reader and low-vision users can reach it. Read WCAG 2.1.

Research

Email obfuscation effectiveness in spam prevention

Research on email obfuscation shows that hiding an address from bots cuts spam sharply. In a 1.5-year field test of nine methods, an unprotected address received over 1,800 spam mails while the best-hidden addresses received none. Obfuscate any address you expose on a public page. See the experiment.

Questions

Frequently asked questions

What is a mailto link generator and how does it work?

A mailto link generator is a web tool that builds a mailto: link from the fields you fill in. You type a recipient, subject, body, cc and bcc; the tool percent-encodes the text and returns a raw mailto: URL plus a ready HTML snippet. Copy either one and paste it into your page, button, or signature.

Which email clients are supported?

Mailto links work in every major email client, including Gmail, Outlook, Apple Mail, Yahoo Mail, and Thunderbird. On a phone, the link opens the default mail app. The link follows RFC 6068, so any standards-based client can read it.

How do I handle special characters in the email body?

Type the characters normally and let the generator encode them. Spaces become %20, line breaks become %0A, and symbols like ? and & become %3F and %26. Hand-typing these is the most common cause of a broken link, so the tool does it for you.

Can I add attachments to mailto links?

No. Mailto links cannot attach files. RFC 6068 and every mainstream email client block file paths in a mailto: URL for security reasons. Ask the reader to attach the file in their draft, or link to the file separately on your site.

How can I create bulk mailto links?

Build one link, then swap the recipient for each address. To email several people from a single link, put commas between addresses in the To, CC, or BCC field, like mailto:[email protected],[email protected]. For large lists, use BCC so addresses stay private.

What's the difference between CC and BCC?

CC (Carbon Copy) shows every recipient to everyone on the email. BCC (Blind Carbon Copy) hides those addresses, so no recipient can see who else received the message. Use CC for open threads and BCC to protect a large or private list.

Is there a character limit for mailto links?

RFC 6068 sets no limit, but some older clients and browsers cap a mailto: URL at about 2,000 characters (roughly 2 KB). Keep the body short and let the reader write the rest, so the link opens reliably everywhere.

How do I test if my mailto link works correctly?

Press the Test the link button in the generator. It opens the draft in your own email app with the recipient, subject, and body already filled in. Check that spaces and line breaks look right, then paste the link into your page.

Are mailto links safe?

Yes. A mailto link only opens a draft in the reader's email app. Nothing sends until the reader presses send, and the link cannot run code or attach files. The one risk is spam bots harvesting a plain address, so obfuscate addresses on public pages.

Does mailto work with Gmail?

Yes. Mailto links work with Gmail. On a phone, they open the Gmail app. On a desktop, set Gmail as the browser's default mail handler: in Chrome, click the handler icon in the address bar and allow Gmail, and the link will open a Gmail compose window.

How do I add a mailto link in WordPress?

In the block editor, select the text, click the link button, and type mailto:[email protected]. To add a subject or body, paste the full mailto: link from this generator, including the ?subject= and &body= parts. It works in the classic editor and most themes too.

How do I add a mailto link in an Outlook signature?

Open File, Options, Mail, then Signatures. Select your text, click the link (hyperlink) button, and paste the full mailto: link into the address box. Save the signature. New messages will carry a clickable email link with your subject and body pre-filled.

References

More info

For the full rules behind mailto links, three primary references cover everything.

Conclusion

A mailto link generator turns a recipient, subject, body, CC and BCC into a valid mailto: link with the right percent-encoding, so one click opens a pre-filled email. Build your link above, copy the mailto: URL or the ready HTML, and paste it into any page, button, PDF, or email signature.

Start from a template for speed, obfuscate any address you expose on a public page, and offer a form or a visible email as a fallback. That is every part of a working mailto link, in one place.

Back to the generator