Also available in: Español · Português · Français · العربية
Scientific notation converter
Scientific, engineering and plain forms of the same number, computed exactly — plus the thresholds at which JavaScript changes format on its own.
What is scientific notation?
Scientific notation writes a number as a single digit, a decimal part, and a power of ten: 6.02214076e23 rather than a 6 followed by twenty-three more digits. The mantissa is always at least 1 and less than 10, which makes two numbers easy to compare — the exponent tells you the scale at a glance and the mantissa tells you the value within it.
Engineering notation is the same idea with one extra rule: the exponent must be a multiple of three. That is not decoration, it is what lines the number up with the SI prefixes, so 12345 is 12.345e+3 — twelve and a bit kilo-somethings — rather than 1.2345e+4, which corresponds to no prefix at all. This page shows both, along with the prefix name where one exists.
The third form is simply writing the number out. That is the one people reach for when a value needs to be read rather than calculated with, and it is where converters quietly go wrong, because most of them hand the number to the language they are written in and print whatever comes back.
How to use it
- Type a number in any of the three forms. Written out, with an e, or with a decimal point — all of them are read. The four sample buttons cover a very large number, a very small one, the exact point where JavaScript changes format, and one with more digits than a computer can hold.
- Read the three conversions. Scientific, engineering and plain, each with a copy button, plus the power of ten and the SI prefix that goes with it.
- Compare the last row with the first three. That row is what your browser's own Number would print for the same input. Where it differs, the paragraph underneath says why.
Where JavaScript changes format on its own
Every converter that runs in a browser and hands its input to a Number inherits a behaviour written into the language. ECMA-262 defines how a number becomes a string, and it switches to exponential notation at two fixed points: at 1e21 and above, and below 1e-6. So a hundred thousand million million million prints in full as 100000000000000000000, and ten times that prints as 1e+21. Nothing about the number changed — the format did, because the specification says so.
The same ceiling catches toFixed, which is what most code uses to format money. Ask for two decimal places on 1e21 and you get the string 1e+21 back, decimal places and all, because the specification tells it to give up above that point. A total that grows past a sextillion stops being a total and starts being a piece of scientific notation in the middle of an invoice.
At the small end the effect is the same in reverse: 0.000001 prints in full and 0.0000001 prints as 1e-7. Both thresholds are asserted here against the language itself, at every power of ten from -30 to 30, so the figures on this page are measured rather than remembered.
This page sidesteps all of it by converting the digits directly rather than through a floating-point number, which is why a fifty-digit value keeps all fifty. The last row still shows what your browser would have said, because that is what the rest of your toolchain will do with the same input.
Honest limits
Conversion here is exact but it is not arbitrary-precision arithmetic. Nothing is added, multiplied or rounded — the digits you type are re-arranged around a decimal point and given an exponent, which is all a notation change is. If you need to compute with very long numbers, that is a different tool.
Trailing zeros in the mantissa are dropped, so 1200 becomes 1.2e+3 rather than 1.200e+3. That is a real choice with a cost: in the sciences those zeros carry meaning, since 1.200e+3 claims four significant figures and 1.2e+3 claims two. If precision is what you are tracking, the significant-figures calculator on this site is the page that keeps them.
The SI prefix table runs from quecto to quetta, the range the General Conference on Weights and Measures has adopted, with the four newest added in 2022. Beyond that the tool says no prefix exists rather than inventing one, and a number at the base unit says so explicitly — no prefix is a different answer from none available.
The digit-loss warning compares the digits your browser prints back against the digits you typed, not one floating-point number against another. Comparing doubles would be vacuous, since a value that lost precision parses to the same double either way. It means a number like 0.1, which no double holds exactly, is not flagged: it prints back as 0.1, and that is what anyone can check.
Why is it free?
The conversion is string arithmetic that runs in your browser. There is no server, so there is nothing to bill for and no account to create.
Nothing is uploaded and nothing is stored. Reload the page and it has forgotten the number.