LDAP / Active Directory Timestamp Converter

Enter an 18-digit LDAP / Active Directory timestamp (Windows NT FILETIME format) and get back a human-readable date and time. You can also go the other way — pick a date and time to generate the corresponding LDAP timestamp. Used for fields like pwdLastSet, accountExpires, LastLogon, and LastLogonTimestamp in Microsoft Active Directory.

Enter the 18-digit Windows NT FILETIME value (100-nanosecond intervals since Jan 1, 1601 UTC). Also accepts scientific notation like 133e14.

Results

Converted Date & Time (UTC)

--

Unix Timestamp

--

Milliseconds Since Unix Epoch

--

Generated LDAP Timestamp (from date inputs)

--

Day of Week

--

Frequently Asked Questions

What is an LDAP / Active Directory timestamp?

An LDAP or Active Directory timestamp (also called Windows NT FILETIME or Win32 FILETIME) is an 18-digit number representing the count of 100-nanosecond intervals since January 1, 1601 00:00:00 UTC. It is used by Microsoft Active Directory in fields such as pwdLastSet, accountExpires, LastLogon, LastLogonTimestamp, and LastPwdSet.

How do I convert an LDAP timestamp to a readable date?

Paste the 18-digit LDAP timestamp into the input field above and the tool will calculate the corresponding UTC date and time. The conversion subtracts the difference between January 1, 1601 and January 1, 1970 (the Unix epoch), then converts the remaining 100-nanosecond intervals into seconds to produce a standard Unix timestamp and human-readable date.

What is the formula for converting an LDAP FILETIME to a Unix timestamp?

The formula is: Unix Timestamp = (LDAP_Timestamp − 116444736000000000) / 10000000. The constant 116444736000000000 represents the number of 100-nanosecond intervals between January 1, 1601 and January 1, 1970. Dividing by 10,000,000 converts 100-nanosecond units to seconds.

How do I convert a date back to an LDAP timestamp?

Fill in the Year, Month, Day, Hour, Minute, and Second fields in the 'Date to LDAP' section. The tool calculates the Unix timestamp for that UTC date, multiplies by 10,000,000 to get 100-nanosecond intervals, then adds 116444736000000000 to offset from January 1, 1601.

What does a value of 0 or 9223372036854775807 mean in accountExpires?

In Active Directory, an accountExpires value of 0 means the account expiration is not set (never expires in some contexts), while the value 9223372036854775807 (the maximum 64-bit signed integer) also indicates that the account never expires. Any other value represents the actual expiration date and time.

Can I use scientific notation for the LDAP timestamp input?

Yes. You can enter the timestamp in scientific or exponential notation, such as 133e14 or 1.33e17, and the converter will parse it correctly. This matches the format sometimes shown in tools like w32tm.exe or PowerShell.

How can I get the current LDAP timestamp using Windows tools?

You can use the command-line tool w32tm.exe with the syntax: w32tm.exe /ntte [timestamp]. In PowerShell, you can run: (Get-Date 1/1/1601).AddDays([timestamp] / 864000000000) to convert an LDAP timestamp to a readable date. To get the current LDAP timestamp, multiply the current Unix time by 10,000,000 and add 116444736000000000.

What is the difference between the 18-digit LDAP timestamp and the YMD LDAP format?

The 18-digit format (Windows NT FILETIME) counts 100-nanosecond intervals since January 1, 1601 and is used internally by Active Directory. The YMD format (Generalized Time) is a human-readable string like '20231215120000.0Z' used in some LDAP directory attributes. This tool converts the 18-digit FILETIME format.

More Time & Date Tools