Skip to content
BitcoinToolkit

Satoshi Converter

Convert BTC, mBTC, μBTC and sats without rounding.

1 BTC = 100,000,000 sat

  • BTC1
  • mBTC1,000
  • μBTC1,000,000
  • sat100,000,000
Show calculation
Formula

1 BTC × 100,000,000 sat/BTC = 100,000,000 sat

Whole-satoshi value

100,000,000 sat

Precision

Exact — no rounding applied

Bitcoin Unit Relationships

BTC, mBTC, μBTC and sat are fixed ways to express a Bitcoin amount. One BTC equals 100,000,000 sats; one mBTC equals 100,000 sats; one μBTC equals 100 sats. Market price does not affect these ratios. Selecting another unit changes the decimal placement and label, not the underlying amount.

The satoshi, usually shortened to sat, is the smallest whole unit this converter accepts. For its history and everyday use, read What Is a Satoshi?. Every valid entry is first resolved to an integer number of sats, then displayed in the chosen destination unit. This makes the satoshi the common reference even when neither selector currently shows sat.

Unit choice is practical. A balance of 0.25 BTC may be easier to scan than 25,000,000 sats, while a small price may read more clearly in sats. mBTC moves the BTC decimal three places, so that balance can also be written as 250 mBTC without gaining or losing precision. Neither notation is more accurate; the useful one is the form the reader or destination expects. Software defaults can still cause serious mistakes: 500,000 sats is 0.005 BTC, whereas 500 mBTC is 0.5 BTC. Check the unit beside both numbers before using a result.

One microbitcoin, written μBTC, is commonly called one bit and equals 0.000001 BTC or 100 sats. Because “bit” also means a binary digit in computing, the interface uses the unambiguous μBTC symbol. For protocol and transaction context beyond denomination conversion, use the Bitcoin reference page.

UnitValue in satsExample
BTC100,000,0000.01 BTC = 1,000,000 sats
mBTC100,0001.25 mBTC = 125,000 sats
μBTC100250 μBTC = 25,000 sats
sat112,345 sats = 0.00012345 BTC

Why One Extra Decimal Fails

0.00000001 BTC equals 1 sat. Add one decimal place and 0.000000001 BTC equals 0.1 sat. Both strings are valid decimal notation, but only the first can be represented as a whole satoshi. The converter rejects the second instead of changing it to zero or one sat.

Syntax and representability are separate checks. A string may contain only valid digits and still describe less than one satoshi. BTC supports eight meaningful decimal places here because the eighth place is one sat; mBTC supports five, μBTC supports two, and sat input must be an integer. Accordingly, 0.00001 mBTC and 0.01 μBTC pass, while 0.000001 mBTC and 0.001 μBTC fail. These limits are one boundary viewed through four scales.

Trailing zeros do not add value. The input 1.000000000 BTC remains 1 BTC because the ninth digit is zero, while 1.000000001 BTC would require 100,000,000.1 sats. Insignificant trailing zeros are removed before the boundary check, so written precision is not confused with actual value. Grouping has its own syntax rule: 1,000 and 12,345 are accepted, but 10,00 and 12,34,5 are left unchanged for correction rather than interpreted by guesswork.

This boundary matters when an amount comes from a spreadsheet, exchange export or another calculator. Silent rounding would alter the submitted value, so a sub-satoshi remainder is reported directly while the original text remains available to correct. Negative values and exponent notation such as 1e-8 also receive plain-language errors; a period remains the decimal separator. Separating format errors from representability errors tells the user whether to repair the notation or choose an amount that resolves to whole sats. A clean decimal can therefore fail for value precision even when every character is valid.

How the Calculation Stays Exact

Ordinary binary floating-point arithmetic can approximate short decimal values even when the number looks unchanged on screen. This converter instead reads decimal text, applies the selected unit scale and builds one integer satoshi amount. The browser provides immediate updates and the server handles the no-JavaScript fallback with matching scale and validation rules. Both reject fractional sats rather than repairing them. The calculation disclosure shows the active formula, integer value and precision result without exposing internal diagnostic codes.

Text before arithmetic

The input remains text while spaces, comma placement, decimal points and unit precision are checked. Valid grouping such as 12,345 is normalized to 12345; malformed grouping stays visible for correction. Scientific notation is not expanded because a full decimal exposes the one-satoshi boundary and avoids ambiguity about the submitted characters.

One whole-satoshi value

After validation, the decimal is applied to an integer scale: 100,000,000 for BTC, 100,000 for mBTC, 100 for μBTC or 1 for sat. The resulting whole-satoshi string becomes the reference for every displayed unit. Outputs are therefore derived together rather than calculated independently, preventing one representation from drifting away from another.

Formatting the outputs

BTC formatting places eight decimal positions into the satoshi string, mBTC uses five and μBTC uses two. Insignificant zeros are removed without changing the integer amount. Large values receive grouping commas on screen, while Copy result returns ungrouped numeric text so a destination does not mistake commas for invalid characters or locale-specific punctuation.

Round-trip check

A round trip converts a formatted result back to sats. For example, 12,345 sats becomes 0.00012345 BTC and returns to 12,345 sats. Equality is checked as an integer match rather than a tolerance. Swap uses the target value as the new source without introducing an intermediate approximation, and repeated swaps must return the original whole-satoshi value.

From entered amount to reusable result
  1. Read and validate the decimal text
  2. Build one whole-satoshi amount
  3. Format the selected result unit
  4. Copy, swap, or compare equivalents

Worked Conversions

Each example passes through a whole-satoshi amount. The operation exposes the unit scale, and the result follows the live converter’s display formatting. Grouping commas make large values easier to read but are omitted from copied numeric output.

FromCalculationResultWhat to notice
1 BTC1 × 100,000,000100,000,000 satsA full BTC reaches an integer directly.
12,345 sats12,345 ÷ 100,000,0000.00012345 BTCEight BTC places preserve every sat.
1.25 mBTC1.25 × 100,000125,000 satsThe output also equals 0.00125 BTC.
250 μBTC250 × 10025,000 satsThe common “bit” unit remains exact.
1,000 satsRemove display grouping0.00001 BTCCopied sat output is 1000, without a comma.
0.000000001 BTC× 100,000,0000.1 sat — rejectedNo whole-satoshi result exists.

Match the To unit to the destination field. If a wallet asks for BTC, select BTC instead of copying a sat value and moving the decimal manually. If an invoice uses sats, select sat so the intended integer is explicit. Swap carries the current result into the source side for a reverse check. This keeps the conversion direction visible and avoids treating a display comma as part of the numeric value.

Input length is bounded to protect the page from accidental oversized strings, not to certify that every accepted number could exist within Bitcoin’s supply. The boundary is operational: it prevents an unexpectedly long field from consuming unnecessary browser or server work. Zero is valid because it remains exactly representable. Negative amounts remain outside this denomination converter’s purpose and are rejected before conversion.

sat, sat/vB and msat

A sat is an amount of bitcoin. sat/vB is a fee rate measured in satoshis per virtual byte. A fee rate needs a transaction’s virtual size before it becomes a fee amount, so 10 sat and 10 sat/vB are not interchangeable. Network demand can change an appropriate fee rate, while denomination ratios stay fixed. See the Bitcoin transaction fee guide for that separate calculation.

A millisatoshi, or msat, is one thousandth of a satoshi used in Lightning accounting. It can be meaningful inside a Lightning system even though it falls below this converter’s whole-satoshi boundary. Lightning implementations may track msats internally before settlement, but that does not make a fractional sat an on-chain output value. Supporting msat would require a different scale and validation model, so an msat balance is not silently mixed into on-chain denomination results.

This tool converts fixed Bitcoin denominations; it does not fetch prices, inspect wallets or estimate network fees. Its output depends only on the visible amount and selected units. Before using a result, confirm whether the receiving field expects BTC, sats, a fee rate or a Lightning unit. Other fixed-unit tools remain available in the converters directory.

Satoshi Converter FAQ

How many satoshis are in one BTC?

One BTC equals exactly 100,000,000 satoshis. The ratio is fixed and does not depend on Bitcoin’s market price.

How do I convert sats back to BTC?

Select sat as the From unit and BTC as the To unit. The converter places eight decimal positions into the whole-satoshi amount; for example, 12,345 sats becomes 0.00012345 BTC.

Why is 0.000000001 BTC rejected?

It equals 0.1 sat, which is below the converter’s whole-satoshi boundary. The amount is shown as an error rather than rounded to zero or one sat.

Is μBTC the same as a bit?

Yes. One microbitcoin (μBTC), commonly called one bit, equals 0.000001 BTC or 100 sats.

Does the converter round Bitcoin amounts?

No. An input must resolve to a whole number of satoshis. A value that requires a fractional satoshi is rejected with the fraction shown.

What is the difference between sat and sat/vB?

A sat is a Bitcoin amount. sat/vB is a transaction fee rate per virtual byte and needs a transaction size before it can be converted into a fee.

Does it support Lightning millisatoshis?

No. Lightning millisatoshis use a sub-satoshi accounting model. This converter is limited to BTC, mBTC, μBTC and whole sats.

Methodology and Sources

The converter uses fixed Bitcoin denomination ratios and converts every accepted input through one whole-satoshi amount. The browser and server use the same scale rules. No price, wallet, address or market data is requested.

  • Input is read as decimal text before conversion.
  • Every accepted value must resolve to a whole satoshi.
  • BTC, mBTC, μBTC and sat results come from the same amount.
  • Sub-satoshi values are rejected without silent rounding.

Primary references

Reviewed by the BitcoinToolkit Editorial Team Conversion logic last tested