The Concise Binary Object Representation (CBOR) data format (RFC7049) implemented in pure JavaScript.
JavaScript HTML
Switch branches/tags
Nothing to show
Clone or download


The Concise Binary Object Representation (CBOR) data format (RFC 7049) implemented in pure JavaScript.

Build Status Coverage Status Dependency status Dev Dependency Status Selenium Test Status

Selenium Test Status


The CBOR-object provides the following two functions:


Take the ArrayBuffer object data and return it decoded as a JavaScript object.


Take the JavaScript object data and return it encoded as a ArrayBuffer object.


Include cbor.js in your or HTML page:

<script src="path/to/cbor.js" type="text/javascript"></script>

Then you can use it via the CBOR-object in your code:

var initial = { Hello: "World" };
var encoded = CBOR.encode(initial);
var decoded = CBOR.decode(encoded);

After running this example initial and decoded represent the same value.

Combination with WebSocket

The API was designed to play well with the WebSocket object in the browser:

var websocket = new WebSocket(url);
websocket.binaryType = "arraybuffer";
websocket.onmessage = function(event) {
  var message = CBOR.decode(;