1. Home
  2. Developer tools
  3. Quoted-Printable Decoder

Quoted-Printable Decoder

Email often turns accents and symbols into sequences like =C3=A9 and splits long lines with a trailing equals sign. Paste the text to read it normally, encode your own, or decode =?UTF-8?Q?…?= words in a header.

Free, no sign-up. Runs in your browser: nothing is uploaded.

How to use Quoted-Printable Decoder

  1. Choose decode, encode or header words.
  2. Paste the email text or headers.
  3. Copy the readable result.

Features

  • Decodes =XX bytes as UTF-8 and joins soft line breaks
  • Encodes with 76-character lines and soft breaks
  • Reads RFC 2047 encoded words in Q and B form
  • Handles UTF-8 and ISO-8859-1 charsets
  • Shows the byte count
  • Works on whole messages

Supported formats

You can open

  • EML
  • TXT

You get

  • TXT

Private by design

Your files are opened and processed by your browser on this device. They are never uploaded to openWorkstand or anyone else, so the Quoted-Printable Decoder is safe for contracts, IDs, photos and work documents. After you have used it once while online, it also works without an internet connection. How local processing works

Good to know

  • Encoded words are decoded with your browser’s character-set support; a word in a charset the browser does not know is left as written.
  • Whole MIME messages with attachments are not split into parts; paste one text part at a time.

Guide

Reading Quoted-Printable email text and encoded header words

Email was designed for 7-bit ASCII text, and every later extension had to fit inside that. Quoted-Printable is one of the ways a message with accents, symbols or very long lines is made to fit: readable characters stay as they are, and anything else becomes an equals sign followed by two hexadecimal digits. Open a saved message and you see the result, with words like Caf=C3=A9 and lines ending in a lone =. This page turns that back into text, and can produce it as well.

The escape rule

Every byte that is not a printable ASCII character, plus the equals sign itself, is written as = and its two-digit hexadecimal value, in upper case. The letter é is two bytes in UTF-8, C3 and A9, so it becomes =C3=A9. The euro sign takes three bytes and so three escapes, =E2=82=AC. A space or tab at the end of a line is also escaped, since trailing white space may be removed in transit.

Soft line breaks

Lines in the encoded text may not exceed 76 characters. When a line is too long, the encoder cuts it and ends it with an equals sign, a soft line break that tells the decoder to join the next line without inserting anything. That is why a decoded sentence may be one line even though the source has several. A real line break is kept as it is. The decoder on the page joins soft breaks, converts the escapes to bytes, and reads the bytes as UTF-8, falling back to Latin-1 if they are not valid.

Encoded words in headers

Header fields use another syntax, the encoded word of RFC 2047: =?charset?encoding?text?=. The encoding letter is Q for a Quoted-Printable-like form, where an underscore stands for a space, or B for Base64. A header such as From: =?UTF-8?Q?Jos=C3=A9_Garc=C3=ADa?= <[email protected]> shows José García as the sender name. The header mode decodes every such word on every line you paste and leaves the rest alone. When encoding, a Q or B choice writes the text as a UTF-8 word.

Using the page

Pick decode, encode or header words and paste the text. Decoded output appears on the right along with the number of bytes and lines. In encode mode a second box gives the same text as an RFC 2047 header word, one per line. Encoded words in character sets such as ISO-8859-1 are decoded with your browser’s built-in support; if a character set is unknown, the word is left as written.

A worked example

The Sample button loads a message whose subject is Caf=C3=A9 menu =E2=80=94 100=25 fresh. It decodes to “Café menu — 100% fresh”: =C3=A9 is é, =E2=80=94 is the em dash and =25 is the percent sign. A body line that ends in l= followed by a line beginning ong line joins into “long line”. In the other direction, the text Café = 100% — ok encodes as Caf=C3=A9 =3D 100% =E2=80=94 ok.

Limits

The page handles one block of text at a time. It does not split a full MIME message into its parts, read Content-Type or Content-Transfer-Encoding headers, or decode attachments, so paste only the text part you want to read. It cannot guess a character set that is not stated, and it will not repair messages whose escapes were damaged in transit. Everything is processed locally and nothing is uploaded.

Checked against the current version of the Quoted-Printable Decoder on .

Troubleshooting

The file does not open

Check that it is one of the supported formats above and opens in another app. Damaged files and password-protected PDFs cannot be read until they are repaired or unlocked.

It is slow or stops on a very large file

Everything runs on your device, so speed depends on its memory. Close other tabs, use a computer rather than a phone, or split the file into smaller parts first.

The download did not start

Look for your browser’s download bar or icon. Some browsers ask once before a site may download files; allow it and click the button again.

Frequently asked questions

Why do I see =20 or =3D scattered through a saved email?

They are Quoted-Printable escapes. =20 is a space at the end of a line, which mail systems protect because trailing spaces can be stripped in transit, and =3D is a literal equals sign, escaped because the equals sign starts every escape.

Why is a header such as Subject encoded differently from the body?

Headers must stay on single lines and have their own syntax, the encoded word, which carries the character set and the method in the text itself. The body is covered by the Content-Transfer-Encoding header instead, so the two use related but not identical rules.

What does a trailing = at the end of a line mean?

It is a soft line break: the line was only wrapped to stay under 76 characters, and the next line continues it with no space.

Why is a real equals sign written =3D?

The equals sign introduces escapes, so a literal one must be escaped itself. 3D is its hex code.

Keep working with the result

After you download, choose “Save to Workstand” to keep the result in a folder on your computer, attach it to a project and create a follow-up task. It is saved by your browser, not uploaded.