Quoted-Printable Encoder & Decoder
Quoted-Printable is the MIME content-transfer-encoding (RFC 2045 §6.7) that lets mostly-ASCII text carry the occasional non-ASCII byte through email and other 7-bit channels. You've seen it when an email shows up as 'caf=C3=A9' or 'Hello=20World' — that's Quoted-Printable, and this tool turns it back into readable text. Decoding resolves every =XX hex escape to its byte, drops soft line breaks (a '=' at the end of a line that continues it), interprets the result as UTF-8, and accepts both upper- and lower-case hex. Encoding does the reverse: printable ASCII passes through untouched, '=' becomes =3D, control characters and every byte of multi-byte UTF-8 become =XX, trailing spaces and tabs are escaped so they survive transmission, and long lines are wrapped at 76 characters with soft line breaks. It's the quick way to read a Quoted-Printable email body or prepare a header value. Everything runs locally; nothing is uploaded.
Decoding resolves =XX, drops soft (= EOL) breaks, and reads UTF-8. Encoding wraps at 76 chars and escapes trailing spaces.
How to use
- Pick Encode or Decode.
- Paste your text (to encode) or Quoted-Printable data (to decode).
- Copy the result — encoded output is line-wrapped at 76 characters with soft breaks.
Frequently asked questions
- What is a soft line break?
- Quoted-Printable limits lines to 76 characters. When a logical line is longer, the encoder ends a physical line with a lone '=' and continues on the next line; that trailing '=' plus the line break is a soft line break and represents no data. On decode it's removed, rejoining the line. A real line break in the text is left as an actual line break.
- Why are spaces sometimes shown as =20?
- A literal space or tab is allowed in the middle of a line, but not at the end — trailing whitespace can be silently stripped by mail servers. So the encoder escapes a space at the end of a line as =20 and a tab as =09, guaranteeing it survives. In the middle of a line spaces are left as-is for readability.
- Does it handle non-Latin text?
- Yes. On encode, each byte of the UTF-8 representation that isn't printable ASCII becomes a =XX escape, so '€' becomes =E2=82=AC and 'café' becomes caf=C3=A9. On decode the bytes are collected and interpreted as UTF-8, so the original text comes back exactly. The encoding assumes UTF-8, which is the modern default.
- How is this different from Base64?
- Both are MIME transfer-encodings, but Quoted-Printable keeps mostly-ASCII text human-readable — only the unusual bytes are escaped — whereas Base64 turns everything into opaque blocks. Quoted-Printable is best for text that's almost all ASCII; Base64 is better for binary or heavily non-ASCII data.
Related tools
URL Encoder / Decoder
Percent-encode text for URLs, or decode encoded URLs back to text.
Base32 Encoder / Decoder
Encode and decode Base32 (RFC 4648), with standard and base32hex variants — useful for TOTP secrets and Crockford-style IDs.
Base45 Encoder & Decoder
Encode text to Base45 and decode Base45 back to text, following RFC 9285, in your browser.
CBOR Decoder (Diagnostic Notation)
Decode CBOR (RFC 8949) from hex or base64 into readable diagnostic notation — integers, byte and text strings, arrays, maps, tags, floats, simple values, and indefinite-length items — entirely in your browser.
MIME Type Lookup
Find the MIME type for a file extension (or the other way around) and learn what each type is for.
Punycode Converter
Convert internationalized domains between Unicode (`münchen.de`) and Punycode ASCII (`xn--mnchen-3ya.de`).