Paste complete Bitcoin raw transaction hex into the decoder and select Decode locally. Read identifiers, virtual size, input references and exact outputs. A transaction ID alone cannot be decoded, and successful parsing does not prove payment, fee, signature validity or confirmation.
Open the Bitcoin transaction decoder →
Start with a labelled example
- Open the decoder and expand Try a labelled learning example.
- Choose Load legacy test vector or Load SegWit test vector. The example loads and decodes automatically.
- Read the summary: virtual size, output total, serialization and fee availability. These are synthetic library test vectors, not requests to make a payment.
- Open output script details, the input section and the metadata section. The examples let you practise reading the interface without entering your own transaction.
Decode your own raw hex
- Obtain the complete raw transaction serialization from your own wallet, trusted node or a source you trust. Wallet export options vary. Do not substitute a 64-character transaction ID.
- Paste it into Complete raw transaction hex. Spaces and line breaks are accepted; PSBT files and other formats are not.
- Select Address display format and choose Decode locally. This selection only changes the address encoding of recognised output scripts; raw bytes do not identify their network.
- Inspect outputs first, then expand inputs and metadata. Entries are numbered from zero, with eight per pagination page.
- Use Copy TXID, Copy virtual size or Download decode notes (.txt) as needed. Edits invalidate the result; decode again after any change. Clear removes input and displayed data.
Read the main results
- TXID and WTXID
- TXID excludes witness serialization. The displayed WTXID hashes the complete supplied serialization and can differ when witness is included. Neither proves the transaction has appeared on a network.
- Virtual size
- Measured in vB for fee-rate calculations. Metadata also shows serialized bytes, stripped bytes and weight; these can differ for witness transactions.
- Outputs total
- The exact sum of output values, expressed in BTC and sats. It may include change, so it is not automatically the amount paid to a recipient.
- Input references
- A previous transaction ID and output index identify an outpoint being referenced. They do not provide its value or identify a sender.
- Script template and address
- A recognised pattern can be shown as an address in the selected format. A match does not verify keys, signatures or spendability. Some scripts have no direct address representation.
Worked example: use vsize in a fee scenario
Suppose a decoded transaction reports 140 vB. At a hypothetical 5 sat/vB, a fee-planning calculation is 140 × 5 = 700 sats, or 0.00000700 BTC. Copy the vsize into the Bitcoin fee planner and enter your chosen rate.
That multiplication is a scenario, not the decoded transaction's actual fee. To establish an ordinary transaction's fee you need the values of its spent previous outputs, which the raw input references do not contain. Network conditions and acceptance require separate evidence. Coinbase rewards are a different case.
Understand metadata without overinterpreting it
Timestamp-style locktime is shown in UTC; other locktimes are block-height fields or zero. Sequence and chain context also matter. An explicit BIP125 sequence signal is displayed as a field observation, not a promise that a fee bump will work or a complete account of current replacement policy.
For coinbase-style inputs, the displayed full-serialization hash is separate from BIP141's zero placeholder used in witness-commitment calculation. You do not need to treat it as an ordinary fee-paying input.
Fix common decode errors
- I pasted a transaction ID
- Get the full serialized hex instead. This decoder deliberately does not retrieve transactions by ID.
- The input is a PSBT
- PSBT is outside this tool's scope. Use your wallet's documented export workflow to obtain raw transaction hex when available.
- The data is truncated or has extra bytes
- Re-copy the complete original serialization. Do not guess missing characters or manually remove bytes to obtain a result.
- The transaction exceeds the limit
- The browser tool accepts up to 100 KB of serialized data and 2,000 inputs/outputs, with a 220,000-character input limit. Use a suitable trusted local node/tool for larger data.
- The result disappears after an edit
- This prevents stale output from describing changed data. Select Decode locally again after checking the new input.
Privacy and confirmation checks
The decoder processes data in page memory without upload, storage or node calls. Raw unbroadcast transaction data and downloaded notes can reveal addresses and scripts. Review notes before sharing. Check actual payment status in the receiving wallet or trusted node; use the pending-transfer guide to separate confirmation from service credit.
Sources and related reading
The walkthrough reflects the tested crypto.tt interface. Field meanings are informed by the Bitcoin Core decoder reference. The tool uses bitcoinjs-lib; BIP141 defines witness and weight concepts. Also see how to find and verify a transaction hash.