WebSocket: binaryType property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The WebSocket.binaryType property controls the type of binary data being received over the WebSocket connection.

Value

A string:

"blob"

Use Blob objects for binary data. This is the default value.

"arraybuffer"

Use ArrayBuffer objects for binary data.

Examples

js
// Create WebSocket connection.
const socket = new WebSocket("ws://localhost:8080");

// Change binary type from "blob" to "arraybuffer"
socket.binaryType = "arraybuffer";

// Listen for messages
socket.addEventListener("message", (event) => {
  if (event.data instanceof ArrayBuffer) {
    // binary frame
    const view = new DataView(event.data);
    console.log(view.getInt32(0));
  } else {
    // text frame
    console.log(event.data);
  }
});

Specifications

Specification
WebSockets Standard
# ref-for-dom-websocket-binarytype①

Browser compatibility

BCD tables only load in the browser