Answer
Based on current observable behavior, Hoppscotch’s WebSocket client UI is limited to text-only payloads. Files dropped into the message area are converted to base64 strings before sending, there is no binary mode toggle or setting to send ArrayBuffer or Blob, and incoming binary frames are shown as base64 text. No confirmed public roadmap or configuration option for native binary frame support is available in the knowledge used here.
Confirmed facts
- The WebSocket UI presents a text input for messages and a file drop area. Uploaded files are encoded to base64 strings prior to send.
- No UI toggle, setting, or header option is exposed to select binary frame type for outgoing messages.
- Documentation and UI references focus on text handling.
- Server echoes of binary data are displayed in the response panel as base64-encoded text, not as preserved binary.
Likely explanation, not confirmed
The browser WebSocket API natively supports binary frames via ArrayBuffer, Blob, and binaryType. Hoppscotch appears to intentionally wrap the API for simplicity and only expose text sending in the UI. Whether this is a design choice or an implementation limitation of the client wrapper cannot be confirmed from available information.
What this means for your three questions
- Is binary frame support planned? No confirmed plan is available in the current knowledge base. Feature plans for Hoppscotch are not verified here.
- Can the client be configured to send ArrayBuffer or Blob payloads? No via the UI. The UI does not expose binary type selection or raw binary sending. Direct use of the underlying WebSocket object via browser devtools is possible in principle, but that is outside Hoppscotch’s supported workflow.
- Expected behavior when a server echoes binary data? The client will receive the frame and render it as base64 text in the response panel. Native binary type is not preserved in the UI display.
Verification steps for this case
- Open Hoppscotch WebSocket tab in a browser and start a connection.
- Send a file via the drop area and inspect the outbound payload in the UI. It will appear as a base64 string.
- Open browser developer tools and inspect the live WebSocket instance. Sending an ArrayBuffer via WebSocket.send() directly will bypass Hoppscotch UI, confirming the browser API is capable while the UI is not exposing it.
- Have a server echo a known binary payload, e.g., 0x00 0xFF. Observe the response panel shows base64, not raw bytes.
One missing diagnostic detail that changes the recommendation: which Hoppscotch deployment and version you are using, e.g., hoppscotch.io web app vs self-hosted version and release date. Binary handling can vary across versions and self-hosted builds.