A C++ module for node-js that does base64 encoding and decoding.

Update: this module may no longer be necessary as nodejs includes its own base64 encoding/decoding functions.

This is a node.js C++ module that encodes and decodes to/from base64. Oh, and compared to all other modules, it actually works.

It was written by Peteris Krumins ( His blog is at -- good coders code, great reuse.

To build the module run:

node-waf configure build

This will produce base64.node binary module. To use it, make sure the module's directory is in NODE_PATH.

The module exports two functions encode and decode.

Encodes a buffer to base64, returns encoded ascii string. Unlike all other base64, it actually works well with binary data. If you're wondering why it takes a buffer as argument, it's because there is no way to pass binary strings to C++ code in a sane way.

Here is a basic example:

var sys = require('sys');
var base64_encode = require('base64').encode;
var Buffer = require('buffer').Buffer;

var buf = new Buffer('hello world');


/* Output: aGVsbG8gd29ybGQ= */

Decodes a buffer containing base64 string, or just a base64 string to original data.

var sys = require('sys');
var base64_decode = require('base64').decode;


/* Output: hello world */


Sincerely, Peteris Krumins