{
    "meta": {
        "title": "Bitcoin Transaction Size (vBytes) Reference",
        "description": "Machine-readable reference for the virtual-byte (vByte) size of every Bitcoin transaction component: overhead, inputs (P2PKH 148 to Taproot 57.5 vB) and outputs (31-43 vB), for estimating fees.",
        "generated": "2026-06-20T05:48:02+00:00",
        "version": "1.0",
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "license_name": "CC BY 4.0",
        "source": "https://d-central.tech/bitcoin-transaction-size-reference/",
        "record_count": 10,
        "disclaimer": "Typical sizes in virtual bytes for standard single-sig components (assumes 1-byte input/output counts). Multisig, large scripts and unusual signatures differ. Estimates only."
    },
    "rows": [
        {
            "component": "Overhead",
            "type": "Fixed (per transaction)",
            "size_vbytes": 10.5,
            "note": "Version, locktime and the input/output counts (plus the SegWit marker/flag on SegWit transactions). Counted once per transaction."
        },
        {
            "component": "Input",
            "type": "P2PKH (Legacy '1')",
            "size_vbytes": 148,
            "note": "A legacy input — by far the largest, which is why spending old '1' coins costs the most."
        },
        {
            "component": "Input",
            "type": "P2SH-P2WPKH (Nested SegWit '3')",
            "size_vbytes": 91,
            "note": "Native SegWit wrapped in P2SH; smaller than legacy, larger than native."
        },
        {
            "component": "Input",
            "type": "P2WPKH (Native SegWit 'bc1q')",
            "size_vbytes": 68,
            "note": "Native SegWit input — roughly half the size of a legacy input."
        },
        {
            "component": "Input",
            "type": "P2TR (Taproot 'bc1p', key-path)",
            "size_vbytes": 57.5,
            "note": "A Taproot key-path input — the smallest standard input, cheapest to spend."
        },
        {
            "component": "Output",
            "type": "P2PKH (Legacy '1')",
            "size_vbytes": 34,
            "note": "A legacy output."
        },
        {
            "component": "Output",
            "type": "P2SH ('3')",
            "size_vbytes": 32,
            "note": "A P2SH output (multisig or wrapped SegWit)."
        },
        {
            "component": "Output",
            "type": "P2WPKH (Native SegWit 'bc1q')",
            "size_vbytes": 31,
            "note": "The smallest common output."
        },
        {
            "component": "Output",
            "type": "P2WSH (Native SegWit script)",
            "size_vbytes": 43,
            "note": "A native-SegWit script output (e.g. multisig)."
        },
        {
            "component": "Output",
            "type": "P2TR (Taproot 'bc1p')",
            "size_vbytes": 43,
            "note": "A Taproot output."
        }
    ]
}