What Is the Redis Wire Protocol?
Redis clients and servers communicate using the Redis Serialization Protocol (RESP) over a stream connection, normally TCP port 6379. A leading byte identifies each value type, while CRLF terminators and declared lengths define its boundaries.
RESP2 and RESP3 Type Prefixes
| Prefix | Type | Version |
|---|---|---|
+ / - / : | Simple string, error, integer | RESP2+ |
$ / * | Bulk string and array | RESP2+ |
% / ~ | Map and set | RESP3 |
| / > | Attribute and push | RESP3 |
Binary-Safe Values, Nesting, and Pipelines
Bulk strings use a declared byte length, so their payload may contain arbitrary binary data. The parser preserves those bytes and provides both a safe text preview and hex view. It also decodes nested aggregates and multiple top-level values used by Redis pipelines.
RESP and the Redis Cluster Bus Are Different
This page decodes the client-server RESP protocol. The separate binary cluster bus used between Redis Cluster nodes is not RESP and is outside this tool's scope.
Related Protocols
Inspect the transport layer in the TCP packet parser, explore a binary application protocol in the Kafka protocol parser, or browse the protocol parser directory.
Redis Protocol Parser FAQ
Does ByteLens send commands to a Redis server?
No. It only parses the bytes in your browser and never connects to a database.
Are streamed RESP3 aggregates supported?
They are recognized but intentionally reported as unsupported rather than misdecoded.
Specification source: Redis serialization protocol specification.