DataView. Extended. Anywhere.

Build Status NPM version

jDataView - A unique way to work with a binary file in JavaScript.

jDataView provides convenient way to read and/or modify binary data in all the browsers. It follows the DataView Specification and even extends it for a more practical use.


There are three ways to read a binary file from the browser.

And one way to read a binary file from the server.

jDataView provides the DataView API with own convenient extensions using the best available option between Arrays, TypedArrays, NodeJS Buffers and DataViews.


Advanced usage (jBinary)

For complicated binary structures, it may be hard enough to use only low-level get/set operations for parsing, processing and writing data.

In addition, most likely you might need convenient I/O methods for retrieving data from external sources such like local files (using File API or from Node.js), remote files (via HTTP(S)), data-URIs, Node.js streams etc. as well as for displaying generated content to user on webpage in image/video/audio/... containers or even as simple download link.

If you faced any of these problems, you might want to check out new jBinary library that works on top of jDataView and allows to operate with binary data in structured and convenient way.


HTTP Live Streaming realtime converter and player demo implemented using jBinary data structures. Screenshot

A World of Warcraft Model Viewer. It uses jDataView+jBinary to read the binary file and then WebGL to display it. Screenshot

A PhotoSynth WebGL Viewer by Visual Experiments. It uses jDataView to read the binary file and then WebGL to display it. Screenshot

A simple tar viewer. It is a "Hello World" demo of how easy it is to use the library.

JavaScript TrueTypeFont library demo which uses jDataView to read and display glyphs from TrueType file.

jBinary.Repo ready-to-use typesets and corresponding demos of using jDataView+jBinary for reading popular file formats like GZIP archives, TAR archives, ICO images, BMP images, MP3 tags etc.

Talking image - animation and audio in one package powered by HTML5 Audio, jDataView and jBinary.

Please tell us if you made something with jDataView :)


jDataView is issued under Do What The Fuck You Want To Public License :)