Quoted-Printable Encoder/Decoder - RFC 2045 QP Online
Encoding Tools
Encode or decode Quoted-Printable email bodies and RFC 2047 header words in your browser, with UTF-8 support and 76-character soft line breaks.
How to use this tool
- Choose "Encode" to create a Quoted-Printable email body, or "Decode" to reverse one or recognize RFC 2047 encoded-words in a header value.
- Paste or type your input, or load one of the examples.
- Copy the result with the Copy button.
Quoted-Printable Encoder / Decoder
Quoted-Printable (QP) is a MIME content-transfer encoding defined in RFC 2045. It is designed
for data that is mostly US-ASCII but contains occasional non-ASCII or control characters. Each
non-printable byte is replaced with =XX where XX is the uppercase hexadecimal value
of the byte.
Line length
RFC 2045 mandates that encoded lines must not exceed 76 characters. Longer lines are broken
with a trailing = followed by CRLF: a "soft line break". When decoded the soft break
is simply discarded.
Compared to Base64
Quoted-Printable is most efficient when the data is predominantly ASCII (the overhead for ASCII characters is zero). For binary or heavily non-ASCII data, Base64 produces shorter output because it uses a fixed 4-chars-per-3-bytes expansion rather than potentially 3 characters per byte.
Where QP appears today
Quoted-Printable appears in two main email contexts:
- Email headers (RFC 2047 encoded-word format): non-ASCII characters in Subject,
From, or To headers are encoded as
=?UTF-8?Q?...?=. For example, a subject line with an accented character appears as=?UTF-8?Q?Caf=C3=A9_menu?=in raw email source. Decode mode recognizes Q and B encoded-words in a header value and supports UTF-8, ISO-8859-1, and US-ASCII. Whitespace between adjacent encoded-words is ignored as required by RFC 2047; unsupported charsets return an error. - Email bodies: a MIME part with
Content-Transfer-Encoding: quoted-printableuses QP encoding for the body text. This is the most common encoding for HTML and plain-text email bodies that contain non-ASCII characters.
Decoding email text
For a QP-encoded body, use the MIME part's transfer-encoding header to find the right text:
- In your email client, view the raw/source of the message.
- Locate the MIME part header
Content-Transfer-Encoding: quoted-printable. - Copy everything after the blank line that follows the headers — that is the encoded body.
- Paste it into the Decode tab of this tool to recover the original text.
For a Subject or address header, paste its value in Decode mode instead. RFC 2047 encoded-words can use Q encoding (where underscores represent spaces) or B encoding (Base64). This decoder handles individual encoded-words and text around them; it does not parse an entire email or support every historical character set. For binary content or content that is mostly non-ASCII, use Base64 instead of Quoted-Printable.
Frequently asked questions
What is Quoted-Printable encoding?
Quoted-Printable (QP) is a content-transfer encoding defined in RFC 2045. It represents arbitrary byte values using printable US-ASCII characters, making it safe for transmission over systems that only handle 7-bit ASCII. Non-printable bytes are written as =XX where XX is the uppercase hexadecimal byte value.
When is Quoted-Printable used?
It is widely used in MIME email bodies, especially for text that is mostly ASCII but contains a few non-ASCII characters such as accented letters. For data that is mostly non-ASCII, Base64 is usually more efficient.
What is a soft line break?
RFC 2045 limits QP lines to 76 characters. When a line is too long, it is broken with a trailing = followed by CRLF. The = and newline are discarded by a decoder - they are not part of the content.
Can this tool decode an encoded email subject?
Yes. Decode mode recognizes RFC 2047 Q and B encoded-words in a header value, including UTF-8, ISO-8859-1, and US-ASCII. It joins adjacent encoded-words without the whitespace between them. It does not parse full email messages or support every legacy charset.
Related tools
- Base64Compare Quoted-Printable with Base64 for non-ASCII text and binary-oriented payloads.
- UUencode/UUdecodeWork with the older text-safe encoding still seen in Unix mail and legacy archives.
- URL EncoderEncode text for URL components when preparing links or query parameters.
- Hex Dump ViewerInspect the underlying bytes when decoded email content is not readable text.
- Byte-Size CounterCheck how UTF-8 character bytes differ from the visible text length.
- HTML EntitiesEscape text for HTML markup instead of MIME email transfer encoding.