node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »



Smallest/simplest possible means of using btoa with both Node and browserify.

In the browser, encoding base64 strings is done using:

var encoded = btoa(decoded)

However in Node, it's done like so:

var encoded = new Buffer(decoded).toString('base64')

You can easily check if Buffer exists and switch between the approaches accordingly, but using Buffer anywhere in your browser source will pull in browserify's Buffer shim which is pretty hefty. This package uses the main and browser fields in its package.json to perform this check at build time and avoid pulling Buffer in unnecessarily.



encoded = btoa(decoded)

Returns the base64-encoded value of a string.


MIT. See for details.