Transaction Size (vBytes): Definition and Why It Determines Bitcoin Transaction Fees
Transaction Size (vBytes), or virtual bytes, is the standard unit used to measure the effective size of a Bitcoin transaction. Since the introduction of SegWit, transaction fees are primarily calculated based on a transaction's size in vBytes rather than the amount of Bitcoin being transferred.
Transaction Size (vBytes) Explained in Simple Terms
One of the biggest misconceptions about Bitcoin is that transaction fees depend on how much BTC is being sent.
In reality, fees depend mainly on how much space the transaction occupies inside a block.
For example:
sending 0.001 BTC
sending 100 BTC
may cost exactly the same if both transactions have the same size in vBytes.
The size of a transaction is determined by factors such as:
the number of transaction inputs
the number of transaction outputs
the address types being used
the amount of witness data
The more space a transaction occupies, the more miners charge to include it in a block.
How Transaction Size (vBytes) Works
Since the SegWit upgrade, Bitcoin measures transaction size using weight units (WU) and virtual bytes (vBytes).
The calculation works as follows:
Transaction Created
The wallet builds the transaction.Weight Calculated
Every part of the transaction contributes a specific number of weight units.Witness Data Discount Applied
Witness data receives a lower weight than traditional transaction data.Weight Converted to vBytes
The total weight is divided by four.Fee Calculated
The fee rate (sat/vB) is multiplied by the transaction size.
The relationship can be expressed as:
This value is used by wallets and miners to estimate transaction fees.
Example of Transaction Size (vBytes) in Practice
Suppose Alice wants to send Bitcoin.
Her wallet creates a transaction with:
2 inputs
2 outputs
The transaction size is 140 vBytes.
If the current network fee rate is:
20 sat/vB
the total fee will be:
140 × 20 = 2,800 satoshis
If network congestion increases and the fee rate rises to 50 sat/vB, the same transaction would cost 7,000 satoshis, even though the amount of Bitcoin being sent remains unchanged.
Why Transaction Size Matters
Transaction size directly affects how much users pay to send Bitcoin.
Smaller transactions generally:
cost less
confirm more efficiently
use block space more effectively
For this reason, wallet software tries to construct transactions that minimize unnecessary data whenever possible.
What Affects Transaction Size?
Several factors determine how large a Bitcoin transaction will be.
Number of Inputs
Each input references a previous UTXO.
More inputs require:
more signatures
more verification data
larger transactions
Number of Outputs
Every recipient and change address creates a new output.
Additional outputs increase transaction size.
Address Type
Different address formats have different efficiencies.
For example:
P2PKH transactions are generally larger.
P2WPKH (Native SegWit) transactions are smaller.
P2TR (Taproot) transactions can be even more efficient in certain scenarios.
Scripts
Multisignature wallets and advanced scripts may increase transaction size unless optimized through technologies such as Taproot.
Transaction Size vs Bitcoin Amount
A larger payment does not necessarily create a larger transaction.
For example:
sending 0.01 BTC
sending 10 BTC
can produce transactions of identical size if they use the same number of inputs and outputs.
Conversely, sending a small amount of Bitcoin may require many UTXOs, resulting in a much larger transaction.
This is why transaction fees are based on data size rather than transferred value.
vBytes vs Bytes
Bytes
Before SegWit, transaction size was measured directly in bytes.
Virtual Bytes (vBytes)
After SegWit, Bitcoin introduced block weight.
Because witness data receives a discount, virtual bytes became the standard measurement for fee calculations.
Today, almost every Bitcoin wallet and fee estimator displays transaction size in vBytes.
Transaction Size and SegWit
SegWit significantly changed how transaction size is measured.
Instead of treating every byte equally, witness data contributes fewer weight units.
This provides several benefits:
lower effective transaction size
reduced transaction fees
improved block efficiency
increased network capacity
As a result, SegWit transactions often cost less than equivalent legacy transactions.
Why Wallets Optimize Transaction Size
Modern wallets automatically try to reduce transaction size through:
efficient UTXO selection
minimizing unnecessary inputs
using Native SegWit or Taproot addresses
optimizing change outputs
These techniques help users save on transaction fees while improving confirmation speed.