multichain
/index /tools /35 bitcoin-tx-decoder
live

Bitcoin transaction
decoder.

Formats
02
legacy + SegWit
Hashes
txid
+ wtxid, computed here
Network
None
decodes locally
Auth
None
no wallet, no signup
/35TRANSACTION DECODER
ready

/notes

01
Two hashes, one transaction.
The txid hashes the transaction without its witness, so signatures cannot change it. The wtxid hashes everything and is what blocks commit to in the witness merkle root. Legacy transactions have no witness, so both are the same.
02
Weight is what you pay for.
Non-witness bytes count four weight units each, witness bytes count one. vsize is weight divided by four, rounded up, and fees are quoted per vbyte. The fee explainer works through why SegWit inputs are cheaper.
03
Scripts tell you who can spend.
Each output's scriptPubKey is matched against the standard templates and turned into an address. Paste any individual script into the script disassembler for the opcode view, or read the locking-scripts explainer for what each template demands.

/faq

01

Where do I get raw transaction hex?

From bitcoin-cli getrawtransaction, from a wallet's "export raw transaction" or "copy PSBT/hex" option, or from a block explorer's raw or hex view. Anything that starts with the version bytes (usually 01000000 or 02000000) will decode here.

02

Why does the txid not match my explorer for a SegWit transaction?

It should. The txid is computed over the transaction with witness data stripped, which is what makes SegWit malleability-proof. The wtxid commits to the witness as well. This decoder computes both from the bytes you paste, so a mismatch means the hex is not the transaction you think it is.

03

Why can it not show the fee?

A raw transaction lists which previous outputs it spends but not their values; those live in earlier transactions. Enter the summed input value in the optional field and the decoder computes the fee and sat/vB from the vsize it already knows.

04

Is anything sent to a server?

No. Parsing, hashing, and address encoding all run in the page. A signed transaction is safe to decode anywhere since it contains no private keys, but this tool would not need them either way.