Convert Unix timestamps and Windows FILETIME values to an exact UTC date, or convert a UTC date back to either timestamp format. The converter retains all seven fractional-second digits supported by 100 ns ticks.

Enter your values, then select Calculate.

Exact integer conversion at 100 ns precision. Dates display in UTC, from year 0001 through 9999. Unix time ignores leap seconds; FILETIME must be unsigned 64-bit.

Seconds allow up to 7 decimal places; milliseconds allow up to 4. No grouped commas.

Timestamp formulas

FILETIME = Unix seconds × 10,000,000 + 116,444,736,000,000,000. A combined FILETIME value is high DWORD × 4,294,967,296 + low DWORD.

FormatEpochUnit
Unix seconds1970-01-01 UTC1 second
Unix milliseconds1970-01-01 UTC0.001 second
Windows FILETIME1601-01-01 UTC0.0000001 second

Example

FILETIME 116444736000000001 is 1970-01-01T00:00:00.0000001Z. Its Unix timestamp is 0.0000001 seconds, or 0.0001 milliseconds. The final tick remains intact even though the integer is too large for exact ordinary floating-point storage.

Frequently asked questions

What time zone is used?

Every result is UTC. The UTC input must end in Z; local clock values and time-zone offsets must be converted before entry.

Can a Unix timestamp be negative?

Yes. A negative value identifies a time before 1970. Dates before 1601 have no unsigned FILETIME equivalent.

Does 100 ns precision mean the file time was measured that accurately?

No. A timestamp format can represent finer intervals than the file system or clock actually records. Calendar years 0001–9999 are supported; leap-second labels and special API sentinel values are excluded.

Reference: Microsoft FILETIME definition.