Quoted-Printable encoder and decoder
Quoted-Printable is the MIME content-transfer encoding defined in
RFC 2045 §6.7. It is designed for content that is mostly readable ASCII with
the occasional 8-bit character — accented names, currency symbols, em dashes —
that must survive transport over older 7-bit email systems. This tool converts
text both ways: pick Encode to turn plain text into Quoted-Printable, or
Decode to read a Quoted-Printable email body back into normal text. It is
handy for debugging raw email source, MIME parts, and Content-Transfer-Encoding: quoted-printable payloads.
How it works
On encode, the text is converted to UTF-8 bytes and each byte is examined.
Printable ASCII (codes 33–126), spaces and tabs pass through unchanged. The =
sign itself is always escaped to =3D so it is never ambiguous. Every other byte
— control characters and any 8-bit byte from non-ASCII characters — becomes an
= followed by its two-digit uppercase hex value, such as =C3. A newline
becomes a hard CRLF line break, and to respect the format’s 76-character limit
the encoder inserts a soft break (= then CRLF) before a line would grow
too long.
On decode, soft breaks (= immediately before a line break) are removed,
then each =XX sequence is read as a hex byte. The collected bytes are decoded
back as UTF-8. An = not followed by two valid hex digits is rejected as
invalid.
Example
Encoding the text Café — résumé costs €5. produces:
Caf=C3=A9 =E2=80=94 r=C3=A9sum=C3=A9 costs =E2=82=AC5.
Here é (UTF-8 C3 A9) became =C3=A9, the em dash — became =E2=80=94, and
the euro sign € became =E2=82=AC. Plain letters and the trailing 5. are left
untouched.
| Character | UTF-8 bytes | Quoted-Printable |
|---|---|---|
A | 41 | A |
= | 3D | =3D |
é | C3 A9 | =C3=A9 |
€ | E2 82 AC | =E2=82=AC |
All encoding and decoding runs in your browser; your text never leaves your device.