Satoshi to Bitcoin Converter

Convert between Satoshi and Bitcoin denominations

About This Tool

Converts between satoshis (the smallest Bitcoin unit) and BTC. One bitcoin equals 100,000,000 satoshis; the conversion is a fixed power-of-ten shift. The mBTC (millibitcoin = 100,000 sat) and bit (μBTC = 100 sat) intermediate units are also supported.

The satoshi is named after Satoshi Nakamoto and is the fundamental on-chain accounting unit.

Bitcoin's transaction format stores all amounts as 64-bit signed integers in satoshis. The 100-million-satoshi-per-bitcoin ratio was set in the original 2009 codebase; it gives 21 quadrillion total satoshis once the 21-million-BTC supply cap is reached. The choice was pragmatic: 8 decimal places offer enough granularity to handle micro-payments at any plausible future BTC price while still fitting comfortably in a 64-bit integer with overflow margin. There is no on-chain concept of a 'fractional satoshi'; the consensus rules know only integers.

A worked example: a 0.001 BTC transfer is 100,000 satoshis, also expressible as 1 mBTC. A typical Bitcoin transaction fee at low congestion is 1-10 sat/vByte; for a 200 vByte transaction, that's 200-2,000 sat total fee, or 0.000002 to 0.00002 BTC. At BTC = $60,000, a 1 sat/vByte fee on a small transaction costs about $0.12; during high congestion when fees spike to 200+ sat/vByte, the same transaction can cost $24 or more. Fee-rate awareness is the equivalent of Ethereum's gas-price awareness.

Limitations are mostly about display conventions and Lightning. The mBTC and bit denominations were proposed during 2014-2015 as more readable alternatives to BTC for everyday-sized purchases, but neither achieved widespread adoption. Most exchanges, wallets, and explorers display BTC with 8 decimals or sat as a flat integer, with little use of intermediate units. The Lightning Network uses millisatoshis (10⁻¹¹ BTC) for routing-fee precision, but this finer unit exists only off-chain; settling a Lightning channel onto the base layer rounds to whole satoshis.

Floating-point representation is a real hazard here. JavaScript Number cannot represent 0.1 BTC exactly (the same reason 0.1 + 0.2 ≠ 0.3 in floating point). Using Number for sat-to-BTC conversion at large values introduces rounding error in the final decimal places; production wallet code uses string or integer arithmetic to avoid drift. The tool here uses BigInt for the conversion to preserve exact precision.

The about text and FAQ on this page were drafted with AI assistance and reviewed by a member of the Coherence Daddy team before publishing. See our Content Policy for editorial standards.

Frequently Asked Questions