Zero Signup ToolsFree browser tools

Date & Time Tools

Chrome / WebKit Timestamp Converter

Convert Chrome and Chromium timestamps (microseconds since 1601) and Safari WebKit NSDate values (seconds since 2001) to and from dates in your browser.

Chrome and WebKit timestamp converter

Decodes Chrome, Chromium, and Edge SQLite timestamps such as visit_time, last_access_utc, expires_utc, and the JSON date_added field in the bookmarks file.

Input

Underscores, commas, and spaces are ignored as digit separators. 0x-prefixed hex is also accepted.

64-bit integer microseconds since January 1, 1601 at 00:00:00 UTC. Exactly Windows FILETIME divided by 10. BigInt math is used so the full microsecond precision is preserved.

Decoded

UTC date

Wed, 17 Jan 2024 21:20:00 GMT

2 years ago

ISO 8601
2024-01-17T21:20:00.000Z
Local time
January 17, 2024 at 09:20:00 PM UTC
Unix seconds
1705526400
Unix milliseconds
1705526400000
Microseconds since 1601
13,350,000,000,000,000
Hex
0x2f6dc117c06000

Where Chrome timestamps appear

Chrome, Chromium, Brave, and Edge store internal times as 64-bit microseconds since 1601-01-01 UTC. Common SQLite columns include history.sqlite visit_time and last_visit_time, Cookies expires_utc and last_access_utc, Login Data date_created and date_last_used, and Top Sites last_forced_updated_time. The Bookmarks JSON file uses the same epoch in date_added and date_modified.

Where NSDate values appear

Apple platforms count time as floating point seconds since 2001-01-01 UTC. This is the value behind NSDate and CFAbsoluteTime. You will see it inside binary plists, in WebKit caches, in many Safari extension storage records, and in app export formats from macOS and iOS. Negative values are valid and represent dates before the year 2001.

Relationship to Windows FILETIME

The Chrome / Chromium timestamp is exactly Windows FILETIME divided by 10. FILETIME counts in 100-nanosecond intervals since the same 1601-01-01 UTC epoch, so any Chrome value can be converted to a FILETIME by multiplying by 10. The reverse holds for converting a FILETIME to Chrome microseconds.

Precision and BigInt

Chrome microseconds since 1601 routinely exceed 2^53, so the value cannot be held safely in a JavaScript Number. This converter uses BigInt for every Chrome calculation so the full microsecond precision is preserved through both directions of the conversion. NSDate is shown to millisecond precision because that is what the JavaScript Date object supports.

How to use

  1. Pick the format: Chrome / Chromium for microseconds since 1601 (used in Chrome SQLite databases and the Bookmarks JSON file) or WebKit NSDate for seconds since 2001 (used by Safari WebKit, NSDate, and CFAbsoluteTime).
  2. Pick the direction: Timestamp to date to decode a numeric value, or Date to timestamp to encode a calendar date you choose.
  3. In decode mode, paste the timestamp. Chrome values accept decimal, 0x-prefixed hex, and _ , space digit separators. NSDate values accept decimal seconds or scientific notation; negative values are valid.
  4. In encode mode, pick a date and time with the local picker. The output shows the matching Chrome microseconds (and the equivalent FILETIME) or the matching NSDate seconds, plus the input restated in UTC and ISO 8601.
  5. Use the Use now button to fill the current moment, tap a preset to load a worked example, or copy any individual value or the full summary with the Copy buttons.

About this tool

Chrome / WebKit Timestamp Converter decodes the two timestamp formats that web searches lump together as 'webkit timestamp' and converts both directions. The first is the Chrome / Chromium / Edge format: a 64-bit integer counting microseconds since January 1, 1601 at 00:00:00 UTC. It is the value stored in history.sqlite (visit_time, last_visit_time), Cookies (expires_utc, last_access_utc), Login Data (date_created, date_last_used), Top Sites, and the date_added and date_modified fields inside the Bookmarks JSON file. Because these values routinely exceed 2^53, every Chrome calculation uses BigInt so the full microsecond precision is preserved through both decoding and encoding. The second is the Apple NSDate / CFAbsoluteTime format: floating point seconds since January 1, 2001 at 00:00:00 UTC, used by Safari WebKit, Cocoa NSDate fields, binary plists, and many macOS and iOS app exports. Negative NSDate values are valid and represent dates before 2001. Inputs accept decimal numbers, hexadecimal (for Chrome values, 0x-prefixed), and digit separators such as underscores, commas, or spaces. The decode panel returns the UTC date, the ISO 8601 string with full available precision, a localized time in your browser zone, a Unix seconds and milliseconds value, a human-readable relative time, and the original timestamp restated in decimal, hex, and microsecond grouping. The encode panel takes a date from a local time picker and produces the matching Chrome microseconds (and the equivalent Windows FILETIME, exactly ten times the Chrome value) or the matching NSDate seconds. Presets cover a sample Chrome visit_time, the Chrome zero (the 1601 epoch), a typical NSDate, the NSDate zero (the 2001 reference date), and a pre-2001 negative NSDate. Nothing is uploaded; the timestamps in your input never leave your browser.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDate & Time Tools