WebSocket 1005 No Status Received vs 1007 Invalid Payload Data
Embed This Widget
Add the script tag and a data attribute to embed this widget.
Embed via iframe for maximum compatibility.
<iframe src="https://statuscodefyi.com/iframe/entity//" width="420" height="400" frameborder="0" style="border:0;border-radius:10px;max-width:100%" loading="lazy"></iframe>
Paste this URL in WordPress, Medium, or any oEmbed-compatible platform.
https://statuscodefyi.com/entity//
Add a dynamic SVG badge to your README or docs.
[](https://statuscodefyi.com/entity//)
Use the native HTML custom element.
Both WebSocket 1005 (No Status Received) and 1007 (Invalid Payload Data) belong to the WebSocket Close Codes category. 1005 indicates that a reserved value that indicates no status code was present in the Close frame. This code must not be set by an endpoint when sending a Close frame. Meanwhile, 1007 means that an endpoint received a message with payload data that is inconsistent with the message type. For example, a text message contained non-UTF-8 data.
Description
A reserved value that indicates no status code was present in the Close frame. This code must not be set by an endpoint when sending a Close frame.
When You See It
The peer closed the connection with a Close frame that contained no status code payload. Your WebSocket library surfaces 1005 as a sentinel to indicate the absence of a code.
How to Fix
This is an internal indicator, not a wire protocol value. If you see it frequently, the remote peer may have a bug where it sends empty Close frames — check the peer's implementation.
Description
An endpoint received a message with payload data that is inconsistent with the message type. For example, a text message contained non-UTF-8 data.
When You See It
A text frame was received but its payload is not valid UTF-8. This commonly happens when binary data is accidentally sent as a text frame.
How to Fix
Ensure text frames contain only valid UTF-8 encoded data. If you need to send raw bytes, use binary frames instead of text frames.
Key Differences
WebSocket 1005: A reserved value that indicates no status code was present in the Close frame. This code must not be set by an endpoint when sending a Close frame.
WebSocket 1007: An endpoint received a message with payload data that is inconsistent with the message type. For example, a text message contained non-UTF-8 data.
You encounter 1005 when the peer closed the connection with a Close frame that contained no status code payload. Your WebSocket library surfaces 1005 as a sentinel to indicate the absence of a code.
You encounter 1007 when a text frame was received but its payload is not valid UTF-8. This commonly happens when binary data is accidentally sent as a text frame.
When to Use Which
For 1005 (No Status Received): This is an internal indicator, not a wire protocol value. If you see it frequently, the remote peer may have a bug where it sends empty Close frames — check the peer's implementation. For 1007 (Invalid Payload Data): Ensure text frames contain only valid UTF-8 encoded data. If you need to send raw bytes, use binary frames instead of text frames.