Encoding Decoder

Turn the gibberish in an email back into words. And back again.

Base64, quoted-printable, RFC 2047 encoded subject lines, URL encoding. Paste it and the format is detected for you. Useful whenever a header or a MIME part refuses to read as English.

Which is which

Base64 turns any data into letters, digits, + and /, usually padded with =. Attachments and many HTML bodies travel this way — it's why an attachment looks like meaningless characters in a raw email.

Quoted-printable keeps normal text readable and escapes only the awkward characters as = plus two hex digits. A line ending in a bare = is a soft line break, not part of the text. If you're seeing =E2=80=99 where an apostrophe should be, this is what you have.

RFC 2047 encoded words are how non-English subject lines survive. They look like =?UTF-8?B?…?= or =?UTF-8?Q?…?= — the letter in the middle tells you whether the inside is Base64 or quoted-printable. Decoding handles both, and leaves any surrounding plain text alone.

URL encoding uses %20 style escapes. Common in tracking links and unsubscribe URLs.

About the character set

Base64 and quoted-printable produce bytes, not letters — something has to decide which alphabet those bytes represent. UTF-8 is right almost always. If the result comes out full of é or ’, try Windows-1252 or Latin-1, which is usually an older mail client at the other end.

Encoded words carry their own charset in the =?…?= wrapper, so that dropdown is ignored for those.

Nothing is uploaded

All of it happens in this tab. That matters here more than most places — the thing you're decoding is often part of a real email.

Common questions

Why does my email subject look like =?UTF-8?B?...?=

That's an RFC 2047 encoded word, which is how non-English subject lines survive transmission. The letter in the middle tells you whether the inside is Base64 (B) or quoted-printable (Q). Paste the whole thing here and it decodes, leaving any surrounding plain text alone.

What does =E2=80=99 mean in an email?

It's quoted-printable encoding — an escape for a character that couldn't travel as-is. That particular one is a curly apostrophe. A line ending in a bare = is a soft line break, not part of the text.

What is Base64?

An encoding that turns any data into letters, digits, plus and slash, usually padded with equals signs. Attachments and many HTML email bodies travel this way, which is why an attachment looks like meaningless characters in a raw email.

Why does my decoded text come out full of strange characters?

The character set is wrong. Base64 and quoted-printable produce bytes, and something has to decide which alphabet those bytes represent. UTF-8 is right almost always; if you're seeing sequences like é or ’, try Windows-1252 or Latin-1.

Is anything uploaded?

No. All encoding and decoding happens in this browser tab, which matters because the thing being decoded is usually part of a real email.