Epoch/Date Converter
Convert between Unix epoch timestamps and human-readable dates
About This Tool
Converts between Unix epoch timestamps (seconds or milliseconds since 1970-01-01 UTC) and human-readable date strings in ISO 8601, RFC 2822, and locale formats. Input is detected automatically based on numeric magnitude.
A 10-digit number is treated as seconds; 13 digits as milliseconds; 16 digits as microseconds. Date inputs accept ISO with or without timezone, falling back to the browser's local zone when omitted.
The Unix epoch is defined as 1970-01-01 00:00:00 UTC, chosen by Ken Thompson and Dennis Ritchie during early Unix development. The choice was somewhat arbitrary; alternative epochs in use include the Windows FILETIME epoch (1601-01-01 UTC, in 100-nanosecond intervals), the Mac OS Classic epoch (1904-01-01), and the GPS epoch (1980-01-06). Most modern systems use Unix epoch in seconds or milliseconds; JavaScript's Date.now() returns milliseconds.
Magnitude-based detection works because the boundaries between resolutions correspond to specific dates. 10-digit seconds covers 1973 through 2286. 13-digit milliseconds covers 1973 through 2286 in milliseconds. 16-digit microseconds covers 1973 through 2286 in microseconds. The detector defaults to seconds for ambiguous values and provides an explicit override.
A worked example: input 1700000000. Magnitude check: 10 digits → seconds. Conversion: 1700000000 seconds after 1970-01-01 UTC = 2023-11-14 22:13:20 UTC. ISO 8601 output: 2023-11-14T22:13:20Z. RFC 2822 output: Tue, 14 Nov 2023 22:13:20 +0000. Local time output depends on the browser's timezone; in US Eastern (UTC-5), it would be 2023-11-14 17:13:20 EST. Round-tripping back to epoch produces the original integer.
The 2038 problem affects 32-bit signed integer Unix time. The maximum value of int32 is 2,147,483,647, which corresponds to 2038-01-19 03:14:07 UTC. After this moment, 32-bit time wraps to a negative number representing 1901-12-13. Most modern operating systems and applications use 64-bit time, pushing the practical limit to year 292,277,026,596. Embedded systems, legacy databases, and binary file formats are the remaining exposure surface.
Limitations: leap seconds are not represented in Unix time. The 27 leap seconds inserted between 1972 and 2017 are absorbed into the count rather than incrementing it. Astronomical and high-precision-timing applications use TAI (International Atomic Time) or UT1 instead; conversion between Unix time and TAI requires the leap-second history. For standard date-arithmetic purposes, Unix time is uniformly accurate to one second.
The about text and FAQ on this page were drafted with AI assistance and reviewed by a member of the Coherence Daddy team before publishing. See our Content Policy for editorial standards.