Milliseconds vs Microseconds vs Nanoseconds: What's the Difference?
Compare milliseconds, microseconds, and nanoseconds, convert between them, and choose the right precision for timestamps and measurements.

Milliseconds, microseconds, and nanoseconds are fractions of a second used for increasingly precise measurements. Each step is one thousand times smaller than the previous one.
The Units
- 1 millisecond (ms) = one thousandth of a second =
10^-3 s - 1 microsecond (µs) = one millionth of a second =
10^-6 s - 1 nanosecond (ns) = one billionth of a second =
10^-9 s
Therefore, one millisecond equals 1,000 microseconds and 1,000,000 nanoseconds. One microsecond equals 1,000 nanoseconds.
Conversion Rules
Moving to a smaller unit multiplies the number by 1,000 for each step. Moving to a larger unit divides by 1,000.
- 2.5 ms = 2,500 µs = 2,500,000 ns
- 750 µs = 0.75 ms = 750,000 ns
- 80,000 ns = 80 µs = 0.08 ms
Keep the unit next to every value. A bare number such as 1700000000000 is impossible to interpret safely without knowing the timestamp precision.
Where Each Unit Is Useful
Milliseconds are common in web applications, user-interface timing, network latency, and JavaScript timestamps. Microseconds are useful for database timestamps, instrumentation, and fast network operations. Nanoseconds appear in high-resolution clocks, hardware timing, operating-system APIs, and scientific measurement.
More digits do not guarantee more accuracy. An API may report nanoseconds even when the underlying clock updates only every microsecond. Precision describes representation; resolution describes the smallest change a clock can observe; accuracy describes closeness to the true value.
Timestamp Length Is Only a Clue
Modern Unix timestamps often have about 10 digits in seconds, 13 in milliseconds, 16 in microseconds, and 19 in nanoseconds. This heuristic depends on the date and whether leading zeros or signs are present. A schema should state the unit explicitly.
Overflow and Numeric Limits
Finer units reach integer limits sooner. JavaScript's ordinary Number type cannot exactly represent every large nanosecond timestamp. Systems may use 64-bit integers, BigInt, or a pair of seconds and fractional nanoseconds.
Choosing a Unit
Choose the coarsest unit that preserves the information you truly need. Milliseconds are enough for most human-facing events. Use microseconds or nanoseconds only when the source clock and downstream storage support that resolution. Convert at system boundaries and test that division does not silently discard a meaningful remainder.