Skip to content
Universal converterCovers Unix · Windows · .NET · Mac · Excel · GPS · JS

Universal Epoch Converter

Different platforms count from different starting points. Unix counts seconds from 1970; Windows FILETIME counts 100-ns ticks from 1601; .NET from 0001; Excel from 1899-12-30. This converter takes a value in any system and emits the equivalent in all seven major epoch conventions.

Systems
7 epochs
Range
0001 – 9999 CE
Sub-second
ms · 100-ns ticks
Output
ISO 8601 unified

Quick Conversion

Formula: .NET ticks = (unix_sec × 1000 + 62135596800000) × 10000

Epoch-line with epoch markersA horizontal timeline showing the relative positions of all major computing epochs..NET0001Windows1601Excel1899Mac1904Unix1970GPS1980Now2026activeall systems converge on the same instant in UTC
Unified ISO 8601
2024-05-30T01:00:00.000Z
Unix (POSIX) seconds
1717030800
JavaScript / Java milliseconds
1717030800000
Windows FILETIME 100-ns ticks
133615044000000000
.NET DateTime.Ticks 100-ns ticks
38944836000000000
Mac OS Classic seconds
3799875600
Excel serial date days
45442.041667
GPS time seconds
1401066000

Epoch system reference

SystemEpochUnitUsed by
Unix (POSIX)1970-01-01T00:00:00ZsecondsThe standard. Ken Thompson, 1971. Used by Linux, macOS, JSON APIs.
JavaScript / Java1970-01-01T00:00:00ZmillisecondsDate.now() in JS, System.currentTimeMillis() in Java. ms-precision.
Windows FILETIME1601-01-01T00:00:00Z100-ns ticksIntroduced with Windows NT 3.1 (1993). 100-ns resolution from 1601.
.NET DateTime.Ticks0001-01-01T00:00:00Z100-ns ticksMicrosoft .NET — 100-ns ticks from 0001-01-01 (Gregorian extrapolation).
Mac OS Classic1904-01-01T00:00:00ZsecondsClassic Mac OS (pre OS X) — seconds from 1904. Used by HFS file metadata.
Excel serial date1899-12-30T00:00:00ZdaysExcel days from 1899-12-30 (the famous 1900-leap-year bug shifts it from Jan 1).
GPS time1980-01-06T00:00:00ZsecondsGPS Time epoch (1980-01-06) — no leap seconds, drifts +18s vs UTC by 2024.

Need just the Unix epoch? Live Unix timestamp.

Cross-epoch math

Windows FILETIME ↔ Unix seconds: unix_sec = (filetime_ticks - 116444736000000000) / 10000000 .NET DateTime.Ticks ↔ Unix ms: unix_ms = (ticks - 621355968000000000) / 10000 Excel serial ↔ Unix ms: unix_ms = (excel_serial - 25569) * 86400000 GPS time ↔ Unix: unix_sec = gps_sec + 315964800 ; ignores 18s leap drift

Worked: FILETIME 133621992000000000 → (- 116444736000000000) = 17177256000000000 / 10000000 = 1717725600 sec = 2024-06-07T01:20:00Z.

How to convert between epoch systems

  1. 1Pick the SOURCE system from the dropdown (Unix, Windows FILETIME, .NET, Mac, Excel, GPS, or JS ms).
  2. 2Paste the raw integer (or decimal for Excel days) into the value field.
  3. 3All seven equivalent representations appear in the right rail — copy whichever your downstream consumer expects.
  4. 4Cross-check against the unified ISO 8601 line in the violet card; that's your sanity anchor.
  5. 5Save the snapshot to local history; click it later to re-load the source + value pair.

Seven epochs, one timeline — why every platform invented its own zero

In 2026 a data engineer ingesting a legacy Active Directory dump alongside Snowflake's Unix-epoch event log needs to reconcile 133621992000000000 with 1717725600 — and realise both refer to the same moment. The first is Windows FILETIME (100-ns ticks since 1601), the second is Unix seconds. This converter is the bridge.

The story starts at Bell Labs in 1969. Ken Thompson and Dennis Ritchie picked 1970-01-01T00:00:00 GMT as the UNIX epoch — a recent Thursday and easy to type. POSIX.1-1990 codified it. 1 second resolution, signed integer (32-bit until 2038, now 64-bit everywhere).

Microsoft Windows NT 3.1 (1993) needed sub-microsecond resolution for the security subsystem. Mark Lucovsky and David Cutler picked 1601-01-01T00:00:00Z — start of the 400-year Gregorian cycle — and 100-nanosecond ticks. Result: 64-bit FILETIME range from 1601 to 30,828 CE. Active Directory's lastLogonTimestamp, NTFS file metadata, and Win32 APIs all use FILETIME.

.NET arrived in 2002. Microsoft chose 0001-01-01T00:00:00Z as DateTime's zero, using 100-nanosecond ticks on a 64-bit signed integer. Range: 0001 to 9999 CE. Conversion to Unix ms requires subtracting 621,355,968,000,000,000 ticks and dividing by 10,000.

Apple's classic Mac OS (1984-2001) counted seconds from 1904-01-01. macOS X switched to Unix epoch in 2001, but HFS file metadata still uses the 1904 anchor. The gap: 2,082,844,800 seconds between Mac and Unix epochs.

Microsoft Excel — perversely — counts days from 1899-12-30, not 1900-01-01. This is because Lotus 1-2-3 wrongly treated 1900 as a leap year (it isn't — divisible by 100, not 400), and Excel preserved compatibility by inserting a fictional 1900-02-29. The effective epoch slipped to 1899-12-30. Day 1 still renders as 1900-01-01 in the UI.

GPS time has its own epoch: 1980-01-06T00:00:00 UTC. Unlike UTC, GPS does NOT insert leap seconds — so GPS time is currently 18 seconds ahead of UTC (as of 2024). High-precision GNSS receivers report both. NTP time uses 1900-01-01T00:00:00 UTC, with a 32-bit-seconds + 32-bit-fraction format that wraps every 136 years (next wrap: 2036-02-07). NTP4 (2010) added a 128-bit form.

The summary: every platform invented its own zero. This converter normalises all seven through a single ms pivot — copy whatever your downstream needs. For finer-grained ISO 8601 rewriting, see our ISO 8601 converter.

Epoch converter FAQs

Have more questions? Contact us

Trusted by DBAs, backend engineers, SREs and analysts

4.9
Based on 5,180 reviews

I deal with FILETIME columns from a legacy MSSQL system and Unix epoch from Postgres. This converter bridges both in one place.

I
Ingrid Rasmussen
Database administrator, Copenhagen
April 12, 2026

GPS time + Excel serial + .NET Ticks side-by-side is exactly what I need for cross-system reconciliation.

W
Wilson Ofori
Backend engineer, Accra
March 8, 2026

Caught an off-by-365-day bug in our Excel export thanks to seeing the 1899-12-30 epoch explanation.

A
Aria DePaul
DevOps SRE, Austin
May 21, 2026

Mac OS Classic timestamps from old HFS scans now make sense. The 1904 epoch explanation is gold.

R
Reiko Yamada
Data analyst, Yokohama
February 17, 2026

Love using our calculator?

Related developer tools

Learn More

Related Articles

Dive deeper with our expert guides and tutorials related to Universal Epoch Converter

Loading articles...