Quoted-Printable content transfer encoding as defined by RFC 2045. It can be used to encode plaintext to its
Quoted-Printable encoding, or the other way around (i.e. decoding). Here’s an online demo using the UTF-8 character encoding.
npm install quoted-printable
bower install quoted-printable
component install mathiasbynens/quoted-printable
In a browser:
var quotedPrintable = ;
Using an AMD loader like RequireJS:
A string representing the semantic version number.
This function takes an encoded byte string (the
input parameter) and
Quoted-Printable-encodes it. Each item in the input string represents an octet as per the desired character encoding. Here’s an example that uses UTF-8:
var utf8 = ;quotedPrintable;// → 'foo=3Dbar'quotedPrintable;// → 'I=C3=B1t=C3=ABrn=C3=A2ti=C3=B4n=C3=A0liz=C3=A6ti=C3=B8n=E2=98=83=F0=9F=92=\r\n=A9'
This function takes a string of text (the
text parameter) and
Quoted-Printable-decodes it. The return value is a ‘byte string’, i.e. a string of which each item represents an octet as per the character encoding that’s being used. Here’s an example that uses UTF-8:
var utf8 = ;utf8;// → 'foo=bar'utf8;// → 'Iñtërnâtiônàlizætiøn☃💩'
To use the
quoted-printable binary in your shell, simply install quoted-printable globally using npm:
npm install -g quoted-printable
After that, you’ll be able to use
quoted-printable on the command line. Note that while the quoted-printable library itself is character encoding–agnostic, the command-line tool applies the UTF-8 character encoding on all input.
$ quoted-printable --encode 'foo=bar'foo=3Dbar$ quoted-printable --decode 'foo=3Dbar'foo=bar
Read a local text file,
Quoted-Printable-encode it, and save the result to a new file:
$ quoted-printable --encode < foo.txt > foo-quoted-printable.txt
Or do the same with an online text file:
$ curl -sL '' | quoted-printable --encode > quoted-printable.txt
Or, the opposite — read a local file containing a
Quoted-Printable-encoded message, decode it back to plain text, and save the result to a new file:
$ quoted-printable --decode < quoted-printable.txt > original.txt
quoted-printable --help for the full list of options.
quoted-printable is designed to work in at least Node.js v0.10.0, io.js v1.0.0, Narwhal 0.3.2, RingoJS 0.8-0.11, PhantomJS 1.9.0, Rhino 1.7RC4, as well as old and modern versions of Chrome, Firefox, Safari, Opera, and Internet Explorer.
Unit tests & code coverage
After cloning this repository, run
npm install to install the dependencies needed for development and testing. You may want to install Istanbul globally using
npm install istanbul -g.
Once that’s done, you can run the unit tests in Node using
npm test or
node tests/tests.js. To run the tests in Rhino, Ringo, Narwhal, and web browsers as well, use
To generate the code coverage report, use
quoted-printable is available under the MIT license.