The mailto: URI encoder builds a valid RFC 6068 mailto: link from a recipient list plus optional Cc, Bcc, subject and body. Each field is percent-encoded correctly so the link survives in HTML, QR codes and chat messages, and opens the user’s mail client with everything pre-filled.
How it works
A mailto link has the form mailto:address?key=value&key=value. The To addresses sit before the ?; additional recipients and the message use query parameters cc, bcc, subject and body. RFC 6068 requires that values be percent-encoded: every byte that is not an unreserved character is replaced with % plus its two-digit hex code.
The encoder uses encodeURIComponent for each value, then fixes the special cases the standard calls out — line breaks in the body must be %0D%0A, and a few characters are left readable. Parameters are joined with &. Empty fields are omitted, so a To-only link is simply mailto:[email protected].
Example
To: [email protected]
Subject: Hello there
Body: Line one
Line two
Output: mailto:[email protected]?subject=Hello%20there&body=Line%20one%0D%0ALine%20two
Notes
Most mail clients respect To, Cc, Subject and Body; Bcc support varies by client. Keep bodies short — some browsers cap URL length, and very long pre-filled messages may be truncated. The output drops straight into <a href="mailto:...">. Everything runs locally; nothing you type is uploaded.