rlp encoder / decoder

decode rlp hex into a readable tree, or encode nested lists back to rlp.

rlp hexany rlp item, or a typed tx
try

paste rlp hex above, or tap an example. it decodes as you paste.

about this tool

Decode Recursive Length Prefix (RLP) data into an indented tree: every item’s hex and byte length, read as a number, UTF-8 text or an address, plus the raw nested JSON. Encode nested lists of hex, numbers and text back to RLP, and spot legacy and typed transactions to open in the raw tx decoder.

good to know

what is rlp?

recursive length prefix: ethereum’s byte format for nested lists of byte strings. transactions, block headers and receipts use it. it has no types: a number, text and an address are all just bytes, so this shows the likely readings of each item.

how are numbers encoded?

as big-endian bytes with no leading zeros, so 0 is the empty string (0x80) and 1024 is 0x820400. a single byte below 0x80 is its own encoding; longer strings and lists get a length prefix.

why does a transaction start with 0x02 instead of 0xf8?

typed transactions (eip-2718) put one type byte before the rlp list: 0x01 access list, 0x02 eip-1559, 0x03 blob, 0x04 eip-7702. this decodes the list after that byte and links to the raw tx decoder for the full picture.