Text & code / Guides

Quoted-printable or Base64 for email text: what changes?

Email messages can carry readable text through transports with historical line and character constraints. The transfer encoding is one layer of that job.

Read the MIME labels together

A message body’s Content-Type can declare text/plain with a charset such as UTF-8. Content-Transfer-Encoding may then say quoted-printable or base64. The first label tells a reader how bytes map to characters; the second tells it how those bytes were represented during transport. Neither label alone fully describes the text. Quoted-printable leaves many printable ASCII characters readable and writes some other bytes as an equals sign followed by two hexadecimal digits. Base64 instead encodes groups of bytes into a restricted alphabet. Both are reversible representations, not secrecy or authentication.

Follow a short accented example

Take the text Café. In UTF-8, the final é is encoded by bytes C3 A9. A quoted-printable rendering of those bytes includes =C3=A9, so a short mostly ASCII sentence can stay visually recognisable. The embedded tool shows this path with “Café & tea”. A Base64 rendering looks much less like the original sentence, even though decoding its bytes with UTF-8 reconstructs the same characters. Compare the two with their corresponding decoders and check the exact output rather than assuming every equals sign means the same thing; Base64 can also use equals signs for padding.

Character set and transfer encoding are separate layers.
  1. Text Café → UTF-8 bytes C3 A9 for é
  2. Quoted-printable uses =C3=A9
  3. Base64 uses a different printable representation

Line wrapping is part of the context

MIME quoted-printable has rules for line length, soft line breaks and literal trailing whitespace. An equals sign at the end of an encoded line can signal that the following line continues the same data. Base64 MIME also has line-length rules for message bodies. A small browser text converter is helpful for seeing byte representation, but a production email sender must apply the complete MIME rules, set coherent headers and avoid accidental re-encoding. Copying a transport-encoded body straight into an HTML page will display the encoding characters, not the intended text. Decode at the receiving boundary.

When each representation is useful

Quoted-printable is often convenient when the body is mostly ASCII text with occasional non-ASCII bytes, because a human can still inspect large parts of it. Base64 can suit data with many bytes outside printable ASCII, though its output is longer and opaque to a casual reader. The content and receiving protocol decide; do not pick a transfer encoding merely because one sample output looks shorter. Also distinguish email headers from the body: encoded subject lines use additional header syntax and cannot be treated as an ordinary quoted-printable body.

Troubleshoot the layers in order

If an email displays “Caf=C3=A9”, first check whether the transfer encoding was decoded. If it displays replacement symbols after decoding, inspect the declared charset and the actual bytes. If double-encoded text appears, identify which system encoded it twice rather than running a decoder blindly until it looks right. Retain one original UTF-8 sample, the MIME labels and both encoded examples for a repeatable test. The MultiVerto tools illustrate the transformations on entered text; they do not assemble or validate a complete email message.

Try the converter

Encode a short accented phrase as quoted-printable.

Quoted-printable represents UTF-8 bytes using printable ASCII and =HH hexadecimal escapes as described in RFC 2045. Convert locally in your browser.

Open full converter

More guides

Conversion guides

Explore guides