There are three ways to read a binary file from the browser. The first one is to download the file through XHR with charset=x-user-defined. You get the file as a String, convert it to byte Array and you have to rewrite all the decoding and encoding functions (getUint16, getFloat32, ...). All the browsers support this. Then browsers that implemented Canvas also added CanvasPixelArray as part of Ima