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. Also try the find Overlapping Work Hours with Time Zone Overlap Calculator.
Results
Converted Date & Time (UTC)
--
Unix Timestamp
--
Milliseconds Since Unix Epoch
--
Generated LDAP Timestamp (from date inputs)
--
Day of Week
--
Chart
Results Table
LDAP / Active Directory Timestamp Converter unlocks the ability to transform cryptic 18-digit directory service time values into readable dates you can trust for system audits, security reviews, or compliance. Have you ever tried to trace user activity, analyze file creation times, or troubleshoot authentication issues, only to be stalled by mysterious numerical values like 130305048577611542 or "never expires"? This tool provides you with verified conversion for all relevant user account attributes, helping you make sense of key events and act confidently on the insights you uncover.
How to Use the LDAP / Active Directory Timestamp Converter
LDAP Timestamp Structure Explained
LDAP timestamps (often called filetime, Windows NT time format, or Win32 filetime) are 64-bit integer values storing the number of 100-nanosecond units since Jan 1, 1601 UTC.
This structure enables high precision, supporting nanosecond accuracy for robust event tracking in directories or forensic analysis tasks.
The 18-digit directory timestamps look like 130305048577611542 and are commonly used for critical timing attributes in Windows server environments and NTFS.
Why Timestamps Start from 1601
The origin, or epoch, for LDAP/file time values is Jan 1, 1601 UTC. This seemingly odd starting point predates the Unix epoch by several centuries.
This design aligns with historical choices in Microsoft systems and NTFS development, enabling backward compatibility and ensuring consistency for all system events, including legacy scenarios predating Unix time.
The choice also avoids Y2K-like rollover risks and covers time spans both far in the past and far in the future (the maximum value is around the year 30828).
Comparing FILETIME, Unix, and Other Formats
LDAP/file time records nanosecond-based intervals; Unix timestamp tracks seconds since Jan 1, 1970 UTC.
Year-Month-Day formats, e.g., YYYYMMDDHHMMSS.fZ, are also seen in directory attributes such as whenCreated or whenChanged.
Modern Unix systems sometimes use milliseconds, but this approach surpasses this with higher precision and historical range.
Some attributes use simpler timestamp strings, especially for compatibility with systems or logs using ISO 8601 and Zulu zone conventions.
// 100-nanosecond LDAP/FILETIME example:
130305048577611542 // December 3, 2013
// Unix timestamp example:
1386031258 // December 3, 2013
Converting LDAP Timestamps to Human-Readable Dates
The Conversion Formula
The core formula for converting an 18-digit LDAP/FILETIME timestamp (F) to human-readable date is:
// Formula for 18-digit LDAP/FILETIME to Unix timestamp (seconds):
$$
\text{Unix Time (s)} = \frac{F}{10\,000\,000} - 11644473600
$$
// To obtain a date object in Python:
from datetime import datetime, timedelta
value = datetime(1601, 1, 1) + timedelta(seconds=F/10000000)
Milliseconds are discarded: Only the nanosecond granularity is retained. If needed, round or truncate the value for your log analysis.
You can apply these formulas in pandas, scripting environments, or on the command prompt for cross-platform compatibility.
Platform-Specific Steps (Windows, Mac, Unix)
Windows command prompt: Use the w32tm.exe /ntte tool:
To convert LDAP timestamps on other operating systems, such as mac, similar scripting approaches can be used to match the output format and reference time.
Worked Conversion Task
Convert an 18-digit LDAP timestamp to readable time:
// Example input:
LDAP = 130305048577611542
// Step-by-step:
1. Divide by 10,000,000: 130305048577611542 / 10000000 = 13030504857.7611542
2. Subtract 11644473600: 13030504857.7611542 - 11644473600 = 1386031257.7611542
3. Format as a date:
from datetime import datetime
dt = datetime.utcfromtimestamp(1386031257.7611542)
print(dt) // 2013-12-03 00:40:57.761154
Reverse: Convert a date to LDAP/FILETIME:
// Example date: 2013-12-03 00:40:58 UTC
from datetime import datetime
from calendar import timegm
def to_filetime(dt):
FILETIME_EPOCH = datetime(1601,1,1)
diff = dt - FILETIME_EPOCH
return int(diff.total_seconds() * 10000000)
ft = to_filetime(datetime(2013,12,3,0,40,58))
print(ft) // 130305048600000000
Step-by-Step Creation Walkthrough for 18-digit LDAP/Filetime Timestamps
Identify your target date (e.g., 1974-02-17 03:50:48.577611542 or a standard time like 2025-03-04T08:00:00Z).
Calculate the elapsed number of 100-nanosecond periods between Jan 1, 1601 UTC and your desired reference time.
Express as a single 18-digit integer. For fractional seconds or high-precision metadata, adjust accordingly. Milliseconds are ignored for LDAP/file time, so truncate where appropriate.
Using Scripts and Tools to Generate LDAP/Filetime Timestamps
Python: You can generate a file time value from a date:
from datetime import datetime
def to_filetime(dt):
return int((dt - datetime(1601,1,1)).total_seconds() * 10000000)
ft = to_filetime(datetime(1974,2,17,3,50,48,577611))
print(ft) // 103491308485776110
To get the current file time value, use a built-in utility or external script.
For workflow automation, integrate a script inline within your admin tasks.
Common LDAP Timestamp Attributes and Real-World Uses in Directory Services
Frequently Used Attributes: lastLogon, lastPwdSet, and More
lastLogon: Records the most recent authentication event for a user account. Each domain node keeps its own copy—query all for accurate status.
lastLogonTimestamp: Replicated attribute, useful for identifying inactive user accounts in data hygiene operations.
pwdLastSet and lastPwdSet: Track password changes; critical for enforcing expiry and compliance checks.
accountExpires: Establishes a reference when the user account will be disabled.
Admins use these timing values to validate login sessions, manage password expiry, and enforce account expiration policy.
System specialists rely on these metadata points for monitoring, reviewing, and troubleshooting authentication issues.
Forensics and security professionals analyze timestamps for incident response and log investigation.
NTFS and event times are crucial during data recovery or forensic review, referencing $MFT records and associated fields.
Troubleshooting with Timestamps
If a timestamp looks off, confirm the input field is the full value in decimal, not truncated or formatted in scientific notation.
Match the zone: LDAP/filetime is always in UTC/GMT, but display may require conversion to other zone types.
Never expires/unset: 0 and 9223372036854775807 can both signal user accounts, password changes, or expiration dates that are intentionally unconfigured or perpetual.
Converting LDAP Timestamps on Different Operating Systems
Conversion on Microsoft Windows
w32tm.exe /ntte is the preferred way to convert ldap timestamps to readable times on Windows Server or client editions.
For admin routines, scheduling and automating these steps is common in shell scripts; you can also convert ldap timestamps on other operating systems for cross-platform flexibility.
Third-Party Tools and Resources
Several online converters allow you to process ldap/filetime and 18-digit directory timestamps instantly for verification or timeline review.
Look for platform-neutral options providing date-time converter with timezone support, essential for accuracy in multi-region deployments.
User community feedback often highlights edge cases, such as handling large numbers in scientific notation or dealing with unconfigured attribute values.
FAQs: LDAP Timestamp Conversion and Attributes
What is an LDAP/FILETIME timestamp and why do I need a converter?
An 18-digit ldap/filetime timestamp is a 64-bit integer counting nanosecond periods since Jan 1, 1601 UTC. A timestamp converter translates it into standard meaningful time formats for admin review, audits, or troubleshooting.
How do I convert the column in pandas with timestamps?
Use: df['date of login'] = pd.to_datetime(df['filetime'], unit='ns') — ensure your input isn't truncated and check for incorrectly parsed values (debug with test rows).
What is the maximum date a FILETIME/LDAP timestamp can represent?
The largest possible 18-digit value (9223372036854775807) is used for "never expires" and equates to a time in year 30828. Most directory use cases stay far below this threshold.
How do I indicate "not set" or "never expires" in attributes?
Both 0 (zero) and the largest possible value mean “not set” or “never expires” for common fields like accountExpires.
How can I create an 18-digit ldap/filetime timestamp?
Calculate the total 100-nanosecond periods since Jan 1, 1601 UTC for your target date, using a script in PowerShell or Python (see earlier sections for code).
Further Resources and Community Insight for Timestamp Tools
Online Conversion Utilities
Trusted online converters for 18-digit ldap/filetime timestamps and Unix equivalents:
EpochConverter LDAP / Active Directory Timestamp Converter
Souus Toolbox Filetime Converter
For date-time converter with timezone support, look for ISO 8601-ready utilities with easy copy-and-paste features.
Reference Documentation
Microsoft File Times Documentation
FILETIME structure (Win32 API)
Official docs explain the background on Windows NT time format and related programming APIs.
User Feedback and Community Discussion
Review the tool workspace and community solutions content disclaimer on tool sites for user feedback and best practice sharing.
Participate in forums such as Stack Overflow for additional help and code in Python or PowerShell.
User comments often call out edge cases in parsing scientific notation or discrepancies between displayed times and UTC/GMT output.
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. See also our Minutes to Hours Converter.
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. You might also find our calculate Flight Arrival Time useful.
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.