How this converter works
A Unix timestamp is the number of seconds since 1 January 1970 UTC, not counting leap seconds. Most databases and APIs use seconds; JavaScript's Date and many front-end libraries use milliseconds, which is the same number with three extra digits. Mixing the two is the single most common timestamp bug.
The converter detects the unit from the number of digits: 10 digits is seconds, 13 is milliseconds, 16 is microseconds and 19 is nanoseconds (18-digit Windows FILETIME and .NET tick values are recognised too). When a number could mean several things, the other plausible readings are listed, and "Number unit" forces one — including Excel serials, Julian days, Cocoa time and Discord or Twitter snowflakes. Nanosecond input keeps full precision.
Going the other way it reads ISO 8601 (including week dates like 2026-W43-6), RFC 2822 and HTTP dates, SQL DATETIME, US and European numeric dates, written dates like "24 Oct 2026 6pm", web server log dates, and the output of JavaScript's Date#toString. Dates without an offset are read in the selected time zone; add Z, +02:00, an abbreviation like EST, or an IANA name like Europe/Paris to pin them, and DST gaps or repeated hours are flagged.
Relative input works too: now, today, tomorrow 9am, next monday, end of month, in 3 days, 2 hours ago, and date math such as 2026-10-24 + 1 month - 2 days. Calendar units (days, months, years) follow the selected zone's calendar, so adding a day across a DST change keeps the wall-clock time.
Every result lists copyable formats (Unix s/ms/µs/ns, ISO 8601, RFC 2822, HTTP, SQL, Excel, Julian day, FILETIME, .NET ticks, minimum ObjectId/UUID v7/ULID/snowflake for range queries), the time in several zones, and the start and end of its hour, day, week, month, quarter and year. Paste one value per line to convert a whole list, or switch to Difference to measure the time between two dates.
Frequently asked
Is the timestamp in seconds or milliseconds?
A 10-digit number is almost certainly seconds (good until the year 2286). A 13-digit number is milliseconds. If you're unsure, paste it here: the other plausible readings are listed below the result, and a wrong-unit conversion usually lands you decades away. Use "Number unit" to force a unit.
How are dates without a time zone read?
As wall-clock time in the selected "Time zone" (your device's zone by default) — including date-only values like 2026-10-24, which JavaScript's own parser would treat as UTC midnight. The result says when this happened. Add Z, an offset like +05:30, or a zone name like America/New_York to the input to be explicit.
Can it show other time zones?
Yes. Pick a zone under "Time zone" (or "Other IANA zone…" to type any zone or offset) to convert in it, and list any IANA zones under "Also show in" to see the same instant around the world. You can also type a zone after the date, such as 2026-03-08 02:30 America/New_York; if that wall time falls in a DST gap or happens twice, you get a warning.
What does "next monday" mean?
The first Monday after today. "last monday" is the most recent Monday before today, and "this monday" is the Monday of the current ISO week (Monday to Sunday). In durations, m means minutes and mo means months.
Can it decode IDs?
MongoDB ObjectIds, UUID v1, v6 and v7, and ULIDs are recognised automatically and their embedded creation time is shown with the decoded fields. Discord and Twitter/X snowflakes look like ordinary 18-19 digit numbers, so choose them under "Number unit".
Why does the difference say 1 month when the days differ?
The calendar breakdown counts whole months first, then days, then hours, in the selected zone — so January 31 to February 28 is one month. The totals (days, hours, seconds) are exact elapsed time, and business days count Monday to Friday without holidays.