Decode the =3D, =20 and =C3=A9 sequences found in raw emails back into readable text, or encode text as quoted-printable for MIME messages. UTF-8 and legacy charsets, 76-character soft line breaks and RFC 2047 email headers are all supported.
Last updated:
Advertisement
Advertisement
How to use the Quoted-Printable Encoder / Decoder
Choose Encode or Decode with the tabs at the top.
Paste your text: plain text to encode, or the quoted-printable body of an email (the part after Content-Transfer-Encoding: quoted-printable) to decode.
Pick the charset: UTF-8 for almost all modern email, or the charset named in the email's Content-Type header.
Adjust options if needed: line length, CRLF or LF line endings, binary mode or email header (RFC 2047) mode.
Copy or download the result, or click Swap to feed the output back in the other direction.
Quoted-printable rules (RFC 2045)
Literal characters: printable ASCII from ! (33) to ~ (126) is written as is, except the equals sign.
Escapes: any other byte is written as = followed by two uppercase hex digits. The equals sign itself is =3D.
Spaces and tabs may appear literally, but not at the end of a line, where they become =20 or =09 (mail servers often strip trailing whitespace).
Line breaks in text are kept as CRLF. In binary data they are encoded as =0D=0A.
Line length: encoded lines are at most 76 characters. Longer lines are split with a soft line break: an = at the end of the line, which the decoder removes.
Non-ASCII characters are first converted to bytes using the charset (for UTF-8, é is the two bytes C3 A9) and each byte is escaped: é → =C3=A9.
Common escape sequences
Sequence
Meaning
Sequence
Meaning
=3D
=
=C3=A9
é (UTF-8)
=20
space
=E9
é (ISO-8859-1 / Windows-1252)
=09
tab
=E2=80=99
’ right single quote (UTF-8)
=0D=0A
CR LF line break
=E2=82=AC
€ euro sign (UTF-8)
= at line end
soft line break (removed)
=C2=A0
non-breaking space (UTF-8)
Encoded-words in email headers (RFC 2047)
Headers such as Subject and From must be ASCII, so non-ASCII text is wrapped in encoded-words: =?charset?encoding?text?=. With Q encoding, spaces become underscores and special characters use the =XX form, e.g. =?UTF-8?Q?Caf=C3=A9_menu?= is "Café menu". With B encoding the text is Base64, e.g. =?UTF-8?B?Q2Fmw6k=?= is "Café". Each encoded-word may be at most 75 characters, and whitespace between two adjacent encoded-words is ignored when decoding.
Frequently asked questions
What is quoted-printable encoding?
Quoted-printable is a MIME content transfer encoding defined in RFC 2045. It keeps printable ASCII characters as they are and writes every other byte as an equals sign followed by two hex digits, for example é in UTF-8 becomes =C3=A9. It is used for email that is mostly readable text with a few special characters.
What do =20 and =3D mean in an email?
They are quoted-printable escapes. =20 is a space (hex 20), usually one that came right before a line break, and =3D is the equals sign itself, which always has to be escaped. =0D=0A is a carriage return and line feed, and =E2=80=99 is a curly apostrophe in UTF-8.
Why do lines end with an equals sign?
An = at the very end of a line is a soft line break. Quoted-printable lines may be at most 76 characters long, so long lines are split and the trailing = tells the decoder to join them back together without adding a line break.
Quoted-printable or Base64: which should I use?
Use quoted-printable for text that is mostly ASCII, because it stays human-readable and is usually smaller. Use Base64 for binary files and for text in non-Latin scripts, where nearly every byte would need a three-character escape and quoted-printable can triple the size.
What is the =?UTF-8?Q?…?= format in email subjects?
That is an RFC 2047 encoded-word, used to put non-ASCII text in headers like Subject and From. Q encoding is similar to quoted-printable but writes spaces as underscores. Choose the Email header mode to decode or create them; B (Base64) encoded-words are decoded too.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.