Skip to content
ZeroServer.tools

Quoted-Printable Encoder

Encode and decode Quoted-Printable (QP) text per RFC 2045 — used in email MIME headers and body encoding.

What is Quoted-Printable encoding?

Quoted-Printable (QP) is a MIME transfer encoding (RFC 2045) designed to transmit text that contains non-ASCII characters over 7-bit email systems. Printable ASCII characters (33–126, except =) are left as-is; all other bytes are encoded as =XX where XX is the uppercase hexadecimal byte value. Lines are wrapped at 76 characters using soft line breaks (=\n).

Built and maintained by Meet Shah · Last updated

What this tool is used for

  • Decoding a mail header or body part that arrived full of equals-sign escapes.
  • Reading an email subject line that was encoded because it contained non-ASCII characters.
  • Producing a quoted-printable body part while testing a mail pipeline.
  • Checking whether a mangled message is an encoding problem rather than a transport one.
  • Understanding a MIME part while debugging a mail integration.

Frequently Asked Questions

What is quoted-printable for?
Encoding mostly-ASCII text for email transports that are 7-bit only. Non-ASCII bytes become =XX hex escapes while ordinary characters pass through unchanged — so the result stays largely readable.
How does it compare with Base64?
For mostly-ASCII text it is far more efficient and human-readable. For binary it is much worse, since nearly every byte becomes three characters. That is why MIME uses quoted-printable for text parts and Base64 for attachments.
What is a soft line break?
A trailing = at end of line, meaning "this line continues". It exists because quoted-printable caps lines at 76 characters, and the = tells the decoder to join them without inserting a real newline.
Why does =20 keep appearing?
That is an encoded space, required at end of line because trailing whitespace would otherwise be stripped in transit. Seeing =20 or =3D (an equals sign) in received mail means a client failed to decode the part.
Is it still used?
Yes, throughout email — most text/plain and text/html parts with any accented character use it. It is largely invisible until something breaks, which is when you end up decoding it by hand.
Why is the line length limited to 76 characters?
Because SMTP historically guaranteed only 78 characters per line, and the soft-break `=` needs room. Longer lines risk being wrapped by an intermediate server, which corrupts the encoding rather than the display.
Why must a trailing space be encoded?
Because mail systems strip trailing whitespace, which would silently alter the message and break any signature over it. Encoding it as `=20` is what makes it survive the journey.

Common errors and gotchas

  • Overlooking soft line breaks. A trailing equals sign means the line continues and is not part of the data.
  • Assuming it is Base64. Both appear in mail and they are not interchangeable.
  • Losing trailing whitespace, which must be encoded because mail systems strip it.
  • Ignoring the 76-character line limit, which is what forces the soft breaks in the first place.
  • Decoding a header without handling the separate encoded-word syntax, which wraps the same encoding differently.

Related Encoders & Decoders tools

Private & free — this tool runs entirely in your browser.

IndieKitShip your Next.js startup in days.affiliate