How it works
The smallest indivisible unit of Bitcoin is the “satoshi” (sat) — 1 BTC = 100,000,000 sats. This converter uses the live BTC price from CoinGecko (cached 5 minutes in your browser) and does all math client-side. Nothing is sent to our servers.
Units explained
- Satoshi (sat): The base denomination. Named after Bitcoin’s pseudonymous creator, Satoshi Nakamoto. Every on-chain transaction and Lightning Network payment ultimately settles in satoshis.
- BTC: The familiar top-level unit shown on exchanges. One BTC equals exactly 100,000,000 satoshis — a constant defined by the Bitcoin protocol and enforced by every node on the network.
- Fiat (USD, EUR, GBP…): Your local currency value at the current spot price. Prices refresh from CoinGecko every 5 minutes and are cached locally so the tool works instantly on repeat visits.
The math
Converting between units is straightforward integer arithmetic:
- Sats → BTC: divide by 100,000,000
- BTC → Sats: multiply by 100,000,000
- Sats → Fiat:
(sats / 100_000_000) × BTC_price_in_fiat - Fiat → Sats:
(fiat_amount / BTC_price_in_fiat) × 100_000_000
All arithmetic runs in your browser with JavaScript’s 64-bit floating point, which is precise enough for any amount you’ll encounter in practice. For very large sats values (above ~9 quadrillion), consider using a library that handles arbitrary precision integers.
Permalink and share
Every time you type a value, the URL updates automatically with a ?sats= or ?btc= query parameter. You can copy that URL and share it — the recipient lands on the same conversion. This is useful for quickly communicating a price or payment amount in context, for example in a group chat or an invoice discussion.
Why satoshis matter
As the Bitcoin price rises, quoting everything in BTC becomes awkward. Saying “this costs 0.00042 BTC” is harder to parse than “42,000 sats.” The Bitcoin community increasingly denominated everyday payments in sats, Lightning wallets default to sats, and the trend is accelerating with the Lightning Network’s growing adoption. Thinking in sats is the first step toward using Bitcoin natively rather than always mentally converting back to fiat.
The Lightning Network — Bitcoin’s layer-2 payment protocol — routes payments denominated in millisatoshis (1/1000 of a sat), though individual nodes and wallets typically display amounts rounded to whole sats. This granularity means Lightning can route payments worth fractions of a cent even when a single dollar buys only a few thousand sats at peak prices.
Your sats are part of 21,000,000 — a fixed supply enforced by every Bitcoin node on the network.
Privacy
This tool has no back-end. Your conversion inputs never leave your device. The only outbound request is a read-only call to CoinGecko’s public price endpoint (which carries no user-identifying data beyond a standard HTTP request). Your chosen fiat currency is stored in localStorage — your browser’s local storage — so it’s remembered across visits without any server involvement.
FAQ
How many sats are in one Bitcoin?
Exactly 100,000,000 (one hundred million). This number is hard-coded into Bitcoin’s consensus rules and will never change.
Where does the price come from?
CoinGecko’s free public price API, cached for 5 minutes in your browser’s localStorage so repeated visits are instant and don’t hammer their servers.
Does this store my inputs anywhere?
No. Your selected fiat currency is remembered in localStorage (your browser only). No amounts or conversion values are sent to any server.
Can I use this offline?
Once the price has been fetched and cached, conversions between BTC and sats work without a network connection. Fiat conversions will use the last cached price until connectivity is restored.
Why does the fiat value change even though I didn’t touch anything?
Bitcoin’s price moves constantly. If you leave the page open for more than 5 minutes, the next conversion you trigger will fetch a fresh price from CoinGecko, which may differ from the previous one.