Skip to main content

Quoted-Printable Encoder and Decoder for Email MIME

Quoted-Printable encode and decode by UTF-8 bytes, the way email MIME does it, with =XX escapes, trailing-space handling and 76-column soft wraps, all in your browser

  • Runs locally
  • Category Encoding & Crypto
  • Best for Checking file type, size, metadata, and obvious mismatch signals before sharing.
Input
Output
Output appears here.

What this tool does

A free Quoted-Printable encoder and decoder that follows RFC 2045, the content-transfer-encoding email clients reach for when a message is mostly readable ASCII with a few bytes that cannot travel as-is. Encoding walks the UTF-8 bytes of your text: any byte outside the printable ASCII range, plus the equals sign itself, becomes an =XX token in upper-case hex, so a literal = turns into =3D and the Chinese character 中, three UTF-8 bytes, turns into =E4=B8=AD. Spaces and tabs sitting at the end of a line get escaped too, because mail servers love to strip trailing whitespace and would silently corrupt your data otherwise. Long lines fold at 76 columns with a soft line break, an = followed by CRLF that the decoder quietly removes. Decoding reverses all of it: =XX back to a byte, soft breaks dropped, then the byte stream rebuilt as UTF-8 so multi-byte CJK text and emoji round-trip exactly. Everything runs in your browser, nothing is uploaded, and a shareable link reproduces your exact input, direction and options.

Tool details

Input
Text + Numbers
The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
Output
Live result + Copy
The result area focuses on usable output, with copy, download, or preview actions when supported.
Privacy
Browser-side processing
The main tool logic does not call an external API, so inputs normally stay in the current tab.
Save / share
Shareable URL state
Key settings are encoded in the URL so another person can reopen the same setup.
Performance budget
Initial JS <= 9 KB
No WASM budget is declared, keeping the tool quick to open on mobile.
Best fit
Encoding & Crypto · Developer
Category and role tags drive related tools, internal links, and quick fit checks.

How to use

  1. 1. Input

    Paste or drop your content into the tool panel.

  2. 2. Process

    Click the button. All processing is local in your browser.

  3. 3. Copy / Download

    Copy the result or download to disk in one click.

How Quoted-Printable Encoder / Decoder fits into your work

Use it before upload, handoff, archive, support review, or any moment where a file needs one local check before it leaves your machine.

File jobs

  • Checking file type, size, metadata, and obvious mismatch signals before sharing.
  • Preparing mixed folders for upload, archive, intake, or review.
  • Keeping sensitive files in the browser instead of sending them to an account-based service.

File checks

  • Do not treat the extension alone as proof of the real file type.
  • Review metadata before a file goes to customers, vendors, or a public page.
  • Keep the original file until the copied, converted, or exported result is verified.

Good next steps

These links move the current task into a more complete workflow.

  1. 1 Base64 Encoder & Decoder Encode or decode Base64 — text, files, and Data URLs. Runs entirely in your browser. Open
  2. 2 URL Encoder / Decoder Encode and decode URL-unsafe characters — query strings, path segments, full URLs — instant, browser-only Open
  3. 3 Text to Hex Converter Text ⇄ hexadecimal by UTF-8 bytes — Chinese and emoji safe, picks your separator and case, decodes messy pasted hex — runs in your browser Open

Real-world use cases

  • Read a raw email body that came through encoded

    You opened a .eml file or viewed the raw source of a message and the body is full of =E4=B8=AD and =3D and lines ending in a bare =. Paste it into decode mode and the tool strips the soft breaks, turns every =XX back into its byte, and rebuilds the UTF-8 text so you can read what the sender actually wrote, accents, Chinese and emoji included.

  • Hand-craft a test email with non-ASCII content

    You are writing an integration test or a fixture for a mail service and need a Quoted-Printable body that a real client would accept. Type the human text, encode it, and drop the =XX output straight into your message template with Content-Transfer-Encoding quoted-printable. The 76-column wrapping is already applied so it matches what a mailer emits.

  • Debug why an accented name shows up as mojibake

    A customer name renders as Café-looking garbage in your app. Take the raw stored string, decode it here, and see whether the bytes were valid Quoted-Printable UTF-8 or were double-encoded somewhere upstream. Round-tripping the suspect value through encode then decode tells you fast whether the data or the pipeline is at fault.

  • Teach or learn how MIME content-transfer-encoding works

    When you are learning email internals, seeing =3D for an equals sign, =20 for a protected trailing space and =E4=B8=AD for one Chinese character makes the RFC 2045 rules concrete. Encode small strings, flip a byte, toggle the soft wrap, and watch exactly how the output changes, which is far clearer than reading the spec cold.

Common pitfalls

  • Treating the output as character-for-character. One Chinese character becomes three =XX tokens because it is three UTF-8 bytes, and 😀 becomes four. If you count one token per character you will think the encoding is wrong when it is exactly right.

  • Forgetting that a literal equals sign must become =3D. If you encode a string containing = and the output still shows a bare =, a decoder will read the next two characters as hex and corrupt everything after it. Always confirm = appears as =3D in encoded output.

  • Ignoring trailing whitespace. A space or tab at the end of a line is escaped to =20 or =09 on purpose, because mail servers strip raw trailing whitespace. If you hand-edit the output and delete those escapes, the data silently changes when it travels.

Privacy

Every step, reading your text as UTF-8 bytes, escaping them to =XX, wrapping lines and decoding back, runs as plain JavaScript inside your browser tab. No email body, draft or fixture is ever uploaded, and there is no logging of what you encode. The one caveat: the shareable link encodes your input and options into the query string, so a link pasted into chat records that text in the recipient server's access log. For a confidential message, use the copy button and paste the text instead of sharing the URL.

FAQ

Tool combos

Folks in your role tend to reach for these alongside this tool.

Made by Toolora · 100% client-side · Updated 2026-05-29