Redis RESP Wire Workbench
Inspect bounded RESP2/RESP3 byte frames or build an inert command-pipeline file from explicit argument arrays.
Loading tool…
How to use Redis RESP Wire Workbench
Inspect bounded RESP2/RESP3 byte frames or build an inert command-pipeline file from explicit argument arrays. Check declared byte lengths, CRLF framing, typed values and exact offsets. Preserve binary strings and large integers while keeping attributes attached to their following value; nothing is sent to Redis.
- Provide optional raw resp file for inspection, resp hexadecimal or command-array json.
- Choose the supported mode and run the tool. Review its assumptions and any reported errors.
- Copy the result or download a separate output; reset to clear the current form.
Good to know
- At most 65,536 complete wire bytes, 128 top-level messages, 32 nesting levels, 4,096 values and 8,192 bytes per simple/control line. Declared aggregate counts are limited to 4,096 before descent; integer/big-number digit caps are 20/1,024 respectively. Pasted source is capped at 200 KB.
- Fixed-length RESP2/RESP3 supports simple strings/errors, signed int64 integers, binary bulk strings/errors, nulls, booleans, decimal/special doubles, big numbers, verbatim strings, arrays, maps, sets, attributes and top-level pushes. Streamed encodings, inline commands, truncated transfers and nested pushes are refused.
- Strings retain complete Base64 bytes and a UTF-8 convenience view only when valid. Empty and null values remain distinct. Maps/sets retain source entry order and duplicate witnesses instead of being converted to object keys or claiming semantic uniqueness. Attribute maps wrap the immediately following value and do not consume an array element slot.
- Double source spelling remains visible. Finite decimal overflow is refused; underflow to signed/unsigned zero is flagged, while the explicit inf/-inf/nan forms stay labeled strings. Integer decimal values use exact BigInt semantics without rounding through a JavaScript number.
- Build 1–100 command arrays, each with 1–128 UTF-8 string or {"base64":"..."} arguments; each decoded argument is limited to 8,192 bytes and the total encoded pipeline to 65,536 bytes. The separate .resp download contains the actual generated bytes. Any raw file overrides the paste/operation and is inspected.
- No Redis connection, command execution, session/request-reply matching, authentication, transaction effect or command-validity judgment is performed. Even a correctly framed command can be destructive if later sent to a real server; this tool produces a local fixture only.
- A dedicated module Worker completes preparation before ready, with a 10-second preparation limit and a separate 2-second computation deadline.
- The formatted report is limited to 500,000 characters. Reduce the source when that output budget is exceeded.
- Inputs are processed on this device and are not automatically saved or uploaded.
Common questions
Can I paste a command such as GET key directly?
The builder accepts explicit JSON arrays so whitespace, Unicode, empty strings and binary arguments are unambiguous. It creates RESP bulk-string frames, but never sends them or checks whether a Redis server would accept or execute the command.
Does this change my original input?
No. The tool returns a separate result. Review that output before using it in another application.
Keep going with related tools
All developer →HTTP Message Framing Inspector
Inspect one supplied HTTP1 message and decode strictly bounded chunked content offline.
FilesBinary Record Pack and Unpack Workbench
Pack or unpack fixed binary fields using an explicit offset and endian JSON schema.
FilesBinary Hex Viewer
Display a bounded byte slice with hexadecimal offsets, hex values and an escaped ASCII view.