
Supabase has added binary payload support to its Realtime Broadcast feature, allowing developers to send and receive raw bytes instead of being limited to JSON-encoded messages. The capability is available starting with supabase-js version 2.91.0 and expands the range of use cases that can be built with Realtime channels.
Announced on June 11, the update lets developers transmit compact binary data without the overhead of text-based JSON encoding. Binary payloads can be sent through every available method: the client libraries over WebSocket, the REST API, and directly from a Postgres database.
Why Binary Payloads Matter
JSON is flexible and human-readable, but it comes with size penalties when encoding numeric or densely packed data. A sensor reading that spans 20 to 30 characters in JSON text can fit into just a few bytes when packed as binary. For applications streaming high-frequency data, those bytes add up quickly.
Supabase highlights two practical scenarios where binary payloads shine. The first is sensor and telemetry streams. Connected devices emit steady flows of numeric readings, such as temperature, accelerometer values, GPS coordinates, or battery levels. These can be packed into fixed-width binary fields, reducing payload size across thousands of devices.
The second is screenshot and presentation streaming. A presenter or support agent can broadcast live image frames (JPEG or PNG) to viewers without storing them or encoding them as base64. Each frame is transient and inherently binary, so sending the raw image bytes directly to viewers eliminates unnecessary overhead.
Implementation Across Platforms
Developers can pass an ArrayBuffer, ArrayBufferView (such as Uint8Array), or the equivalent in non-JavaScript SDKs as the payload. For REST API usage, the Content-Type header selects between application/json and application/octet-stream, with JavaScript developers using channel.httpSend() to send binary data.
From within Postgres, developers can call realtime.send_binary() with a bytea payload to broadcast binary data directly from the database. This method gives backend processes a way to push binary messages without involving an external client.
Binary payload support requires minimum versions across Supabase's stack:
- WebSocket (supabase-js): 2.91.0
- WebSocket (supabase-swift): 2.44.0
- REST API through httpSend (supabase-js): 2.107.0
- Realtime server: 2.103.2
Supabase is rolling out support across all SDKs. Clients on older SDK versions or SDKs that do not yet support binary payloads will silently drop any binary messages they receive, so developers should confirm their clients meet the minimum versions before broadcasting binary data.
Broader Context
The binary payload update follows several recent moves by Supabase to expand developer control over data flows. In May, the company introduced a declarative database schema command in its CLI alpha, and earlier this month raised a $500M Series F at a $10 billion pre-money valuation.
For applications that need to move numeric data quickly or stream media without encoding overhead, binary broadcast offers a more efficient path than JSON. Full documentation is available in the Broadcast guide on Supabase's site.
Sources
1 checkedHow we cover tool news: Create With's tool desk drafts these reports with AI from the sources listed above and checks them against those sources before publishing.








