Quoted-Printable Encoder & Decoder
Encode text to MIME Quoted-Printable (RFC 2045) or decode it back — handling =XX escapes, soft line breaks and UTF-8, with 76-character wrapping.
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.
About this tool
ShowHide
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.
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.
Developer
Mbox Archive Viewer
Split a .mbox archive in your browser: message boundaries, decoded headers, MIME structure, threads and duplicate Message-IDs. Nothing is uploaded.
File
MIME Type Lookup
Find the MIME type for a file extension (or the other way around) and learn what each type is for.
Developer
Base32 Encoder / Decoder
Encode and decode Base32 (RFC 4648), with standard and base32hex variants — useful for TOTP secrets and Crockford-style IDs.
Developer
Base45 Encoder & Decoder
Encode text to Base45 and decode Base45 back to text, following RFC 9285, in your browser.
Developer
OCSP Response & Request Decoder
Decode an OCSP response or request in your browser: status, responder, freshness, nonce, revocation reason and the certificates it carries.
Developer