I'm not sure what you mean by BMP file until you mean the Microsoft BMP format.
I don't know all the details of that format but if you're decoding it by hand into pixels in JavaScript you can display the decoded data directly by uploading it to a texture in WebGL and then rendering a quad with the texture.
There are example all over the net about how to render a textured quad in WebGL. Here's one
You'd upload your data to a texture with
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA,
widthOfImageInPixels, heightOfImagePixels, 0
gl.RGBA, gl.UNSIGNED_BYTE, someUint8ArrayWithWidthByHeightPixels);
Note that if your pixels are not RGB or RGBA, like a say they are YUV or something you can create a shader to display them directly rather than convert them in JavaScript to RGB/RGBA