Encode and decode Recursive Length Prefix data and inspect its nested structure.
Loading tool
About RLP Encoder / Decoder
Decode Recursive Length Prefix (RLP) hex into nested JSON and a tree showing each item's offset, prefix byte and payload length; non-canonical encodings are rejected. Items can be displayed as hex, UTF-8 or numbers. In encode mode, nested JSON arrays become RLP: 0x strings are raw bytes, numbers and "123n" strings are big-endian integers, and other strings are UTF-8.
Common uses
- Inspect the fields of a legacy signed transaction
- Debug RLP produced by your own encoder
- Encode data for a CREATE address calculation or a custom protocol
- Learn how RLP prefixes work by looking at real bytes
FAQ
- What is RLP encoding?
- Recursive Length Prefix is Ethereum's serialization for nested arrays of byte strings, used for transactions, blocks and other consensus data. It encodes structure and lengths only, not types.
- How does the RLP prefix work?
- A single byte below 0x80 encodes itself. A string of 0 to 55 bytes gets the prefix 0x80 plus its length; a list whose payload is 0 to 55 bytes gets 0xc0 plus its length. Longer items use 0xb7 or 0xf7 plus the length of the length.
- How is zero encoded in RLP?
- Integers are encoded as big-endian bytes without leading zeros, so 0 is the empty string, encoded as 0x80.