An NTP timestamp value counts seconds from 1900-01-01T00:00:00Z. Its source epoch and unit need to travel with it; the number alone cannot tell you which clock it belongs to.

Conversion rule

Unix seconds = NTP seconds − 2208988800

The converter applies that relationship and returns Unix seconds, epoch milliseconds, ISO 8601 UTC, and a readable UTC value. Keep the original value as well when investigating a log or export so the conversion can be checked later.

Where mistakes happen

The 32-bit NTP seconds field wraps in eras. Context is required to decide which era an ambiguous value belongs to.

A safer workflow

  • Identify the platform and field name before doing arithmetic.
  • Preserve the original value as a string when it may exceed JavaScript safe-integer precision.
  • Convert once at the boundary, then store or compare a declared Unix unit.
  • Format in a named timezone only when presenting the resulting instant to a person.

Frequent questions:

Q: What is the NTP epoch?
A: NTP counts seconds from January 1, 1900 00:00:00 UTC.
Q: How do I convert NTP time to Unix time?
A: Subtract 2,208,988,800 seconds from the NTP seconds value to get a Unix timestamp.
Q: What happens to NTP in 2036?
A: The 32-bit seconds counter overflows on February 7, 2036 and wraps to zero, starting NTP era 1. Converters must track the era number to interpret later timestamps correctly.