Skip to content
gohacks.dev
Tooling

Quoted Printable Decoder

Decode quoted-printable email bodies and =?UTF-8?B?...?= encoded subject lines, or encode text for a body or a header.

Free · No sign-up · Your inputs stay in your browser

Input

Decode quoted-printable and MIME encoded words

Output

Decoded

151 characters

Quoted-printable (RFC 2045) keeps ASCII readable and writes every other byte as =XX, breaking lines at 76 characters with a trailing = that is removed on decoding. Headers cannot carry raw UTF-8, so a non-ASCII subject is sent as an encoded word (RFC 2047): =?charset?B?base64?= or =?charset?Q?...?=. A stray =20 or =3D in a message means a client showed the encoded form.

Runs in this browser. Nothing you paste is sent to a server.

Why email does this

SMTP was designed for 7-bit ASCII lines, so anything else is encoded. Quoted-printable (RFC 2045) keeps mostly-ASCII text readable and encodes the rest; headers use encoded words (RFC 2047) because they cannot carry a Content-Transfer-Encoding. When a message shows =20, =3D or =C3=A9 in a client, a layer of this decoding was skipped.

Debugging generated mail

Mailpit and similar catchers show the raw source. Decoding it here confirms whether a garbled character was wrong when the application built the message or only displayed wrongly.

Share

Frequently asked questions

What does =3D mean in an email?
It is the encoded form of the equals sign itself, since = introduces every escape in quoted-printable.
What is the difference between B and Q encoding in a subject?
B is base64 of the bytes; Q is like quoted-printable with underscores for spaces. Q keeps mostly-Latin text readable; B is shorter for other scripts.
Is what I paste sent anywhere?
No. The tool runs entirely in your browser with JavaScript. Nothing you type or paste is sent to our server or stored.

Keep planning

Similar tools