PipeFlare

Bitcoin Transaction Size Calculator

Count your inputs and outputs by address type to get your transaction's size in vbytes and weight, and what it costs at today's live fee rates.

Updated October 2026 · Reviewed by the PipeFlare team · Educational only, not financial advice

INPUTS (coins you spend)
OUTPUTS (addresses you pay, incl. change)

VIRTUAL SIZE

141 vB

WEIGHT

562 WU

TRANSACTION TYPE

SegWit

1 in / 2 out

FEE FOR THIS SIZE AT TODAY'S RATES

Prioritysat/vBFee (sats)Fee (USD)
Next block202,820—
~30 minutes101,410—
~1 hour5705—
Economy3423—
Minimum relay1141—

Use 141 vB in the CUSTOM SIZE field of the Bitcoin transaction fee calculator.

1 input, 2 outputs = 141 vB (562 weight units)

Loading live sat/vB rates from mempool.space…

Sizes assume single-signature wallets and the largest common signature (72 bytes for ECDSA), so a real transaction can come out about 0.25 vB smaller per SegWit input (1 vB per legacy input). Multisig and other script inputs are not covered.

How to Calculate Your Transaction Size

You calculate bitcoin transaction size by adding the weight of each input, each output, and the fixed transaction overhead, then dividing that total weight by 4 to get virtual bytes (vbytes, or vB). An everyday transaction with 1 Native SegWit input and 2 Native SegWit outputs has a virtual size of 141 vB.

If your wallet must gather 3 Native SegWit inputs to pay 2 Native SegWit outputs, your virtual size grows from 141 vB to 277 vB. If your transaction gets delayed after broadcast, you can calculate replacement costs with our bitcoin fee bump calculator or review steps to resolve an unconfirmed transfer in our guide to fixing a stuck bitcoin transaction.

How to Use the Calculator

Start in the INPUTS (coins you spend) section and count the inputs your wallet uses by their address format. Identify each input by the first characters of the address holding the coins: Legacy (P2PKH) starts with 1, Nested SegWit (P2SH-P2WPKH) starts with 3, Native SegWit (P2WPKH) starts with bc1q, and Taproot (P2TR, key path) starts with bc1p.

Next, enter your recipients in OUTPUTS (addresses you pay, incl. change). Count every destination address as well as your change address, because change counts as an output. Match each address to its type: Legacy (P2PKH) starts with 1, P2SH starts with 3, Native SegWit (P2WPKH) starts with bc1q, SegWit script (P2WSH) uses a long bc1q string, and Taproot (P2TR) starts with bc1p.

The calculator immediately displays VIRTUAL SIZE in vB, total WEIGHT in weight units (WU), and the TRANSACTION TYPE based on your selections. Below those figures, the FEE FOR THIS SIZE AT TODAY'S RATES table presents the estimated fee in satoshis and USD across five priorities: Next block, ~30 minutes, ~1 hour, Economy, and Minimum relay. You can copy the result sentence using the Copy button, or explore broader strategies to minimize costs in our guide on bitcoin transaction fees.

How the Math Works

Bitcoin defines transaction weight under BIP141 by separating non-witness transaction data from witness signature data:

weight = (non-witness bytes × 4) + witness bytes

virtual size = weight ÷ 4 (rounded up to the next integer)

fee = virtual size × sat/vB

The fixed overhead consists of 4 bytes for version, 1 byte for input count, 1 byte for output count, and 4 bytes for locktime. That equals 10 bytes (40 WU) for a legacy transaction. A SegWit transaction adds a 2-byte marker and flag counted as witness data (2 WU), bringing its overhead to 42 WU (10.5 vB). In a SegWit transaction, each legacy input carries an extra 1-byte empty witness (1 WU).

Input sizes match the calculations from the Bitcoin Optech transaction size calculator:

Output sizes consist entirely of non-witness bytes (multiplied by 4 for weight):

Consider an everyday transaction with 1 Native SegWit input and 2 Native SegWit outputs:

42 WU (overhead) + 272 WU (input) + 248 WU (two 124 WU outputs) = 562 WU

562 WU ÷ 4 = 140.5 vB, which rounds up to 141 vB.

For 1 Taproot input and 1 Taproot output:

42 WU + 230 WU + 172 WU = 444 WU

444 WU ÷ 4 = 111 vB

For 1 Legacy input and 2 Legacy outputs:

40 WU + 592 WU + 272 WU = 904 WU

904 WU ÷ 4 = 226 vB

For 3 Native SegWit inputs and 2 Native SegWit outputs:

42 WU + (3 × 272 WU) + 248 WU = 1,106 WU

1,106 WU ÷ 4 = 276.5 vB, which rounds up to 277 vB. At a fee rate of 2.5 sat/vB:

277 vB × 2.5 sat/vB = 692.5 sats, rounded up to 693 sats.

The priority table pulls real-time sat/vB recommendations from the mempool.space REST API, using its precise feed with decimal tiers, and pairs them with live bitcoin market prices. For micro-transactions where base-layer fees take up too much of your transfer, compare on-chain figures with Lightning Network fees.

When the Answer Is Wrong for You

The calculator assumes every input uses a single-signature key path and a 72-byte ECDSA signature. A real transaction can be about 0.25 vB smaller per SegWit input (1 vB per legacy input).

The calculator does not calculate sizes for multisig addresses or complex script inputs. If your wallet displays its own virtual size or vbyte figure before you confirm a transfer, rely on that wallet figure, because your software knows the exact byte structure. In addition, mempool fee rates change minute to minute. On 14 October 2026 at 19:19 UTC, mempool.space published precise rates of 3.937 sat/vB for the next block, 2.572 sat/vB for ~30 minutes, 1.335 sat/vB for ~1 hour, 0.2 sat/vB for economy, and 0.1 sat/vB for minimum relay. Once you know your exact vbyte size, you can convert it across custom sat/vB targets using our bitcoin transaction fee calculator.

Common Questions

How do I calculate bitcoin transaction size?

Count each input and output by address type, sum their weight units, add the fixed transaction overhead, and divide by 4. An everyday send with 1 Native SegWit input and 2 Native SegWit outputs totals 562 weight units, which equals 140.5 vbytes and rounds up to 141 vB.

What is a vbyte?

A vbyte (virtual byte) is the standard unit used to measure bitcoin transaction size for network fees under BIP141. It equals transaction weight divided by 4, rounded up.

Why does adding inputs make my fee higher?

Each extra input usually costs more space than an extra output. A Native SegWit input adds 68 vB, whereas a Native SegWit output adds only 31 vB. Spending multiple small coins in a single payment inflates your virtual byte size and raises the total fee.

Is a Taproot transaction smaller than a SegWit one?

A Taproot key-path input uses 57.5 vB, making it smaller than a Native SegWit input at 68 vB. However, a Taproot output occupies 43 vB, which is larger than a 31-byte Native SegWit output.

Why does my wallet show a slightly different size?

This calculator assumes single-signature wallets and 72-byte ECDSA signatures, so your real transaction can be about 0.25 vB smaller per SegWit input (1 vB per legacy input). If your wallet shows a specific vB count, use your wallet's number.

Sources

General information, not financial advice.