BITCOIN MAINNETLive explorer status
HOW MONEY MOVES

Transaction size, weight and vbytes

Since SegWit, transactions are measured in weight units and vbytes, with witness data discounted. Learn how size is counted and why it sets your fee.

Three ways to measure

MeasureWhat it is
SizeRaw bytes on disk
WeightNon-witness bytes × 4 + witness bytes × 1
Virtual size (vB)Weight ÷ 4, rounded up
How weight is counted: witness data is discountedbase data × 4witness × 1weight150 B base + 110 B witness → 710 weight units → 178 vbyteswitness bytes cost a quarter as much block space
How weight is counted: witness data is discounted

Why the discount?

SegWit (2017) moved signatures into a separate witness section. Witness data doesn't affect the UTXO set that every node keeps in memory, so it was given a discount: each witness byte counts as 1 weight unit while other bytes count as 4.

The block limit is 4,000,000 weight units (see Block size and the weight limit).

In practice

Spending fromRough size of 1-input, 2-output payment
Legacy (1…)about 225 vB
Nested SegWit (3…)about 166 vB
Native SegWit (bc1q…)about 141 vB
Taproot (bc1p…)about 154 vB

These numbers are approximate; exact size depends on signature lengths and output types.

Working out weight

EXAMPLE

A small SegWit transaction

Suppose a transaction has 82 bytes of non-witness data and 108 bytes of witness data.

  • Weight = 82 × 4 + 108 = 436 weight units
  • Virtual size = 436 ÷ 4 = 109 vB
  • At 10 sat/vB the fee is 1,090 sats

Where to see it

Every transaction page on MyBitcoinExplorer shows its size, virtual size and weight side by side, so you can compare legacy and SegWit spends yourself.

Share this guide
Share on X ↗

Key takeaways

  • Weight = non-witness bytes × 4 + witness bytes.
  • Virtual size = weight ÷ 4, and fees are priced per vbyte.
  • SegWit and Taproot inputs are cheaper than legacy ones.

Common questions

Why are SegWit transactions cheaper?

Their signatures sit in the witness, which is counted at a quarter of the weight.

What's the difference between size and vsize?

Size is raw bytes; vsize applies the witness discount. For legacy transactions they are equal.

How many vbytes fit in a block?

1,000,000 vbytes, because the block limit is 4,000,000 weight units.

Why do SegWit transactions have two sizes?

Raw size counts every byte; virtual size applies the witness discount used for fees and block space.