Millisecond To Date
You have a long integer sitting in a log line, an API response, or a Date.now() return value, and you need to read it as a calendar date. Paste the 13-digit value into the converter; the page reads it back as a date in your local timezone, right in your browser. The field opens pre-filled with the current millisecond so the expected shape is already on screen.
Last reviewed: 2026-05-20
| Property | Value |
|---|---|
| Format | Online tool, no install |
| Speed | Browser-side; output in seconds |
| Privacy | Files stay on-device |
| Implementing tool | https://freetoolonline.com/utility-tools/convert-time-in-millisecond-to-date.html |
Log lines rarely store a clean integer. A field might be written as 1713538800000ms, the comment column might tag it 1713538800000 millis, or a JSON payload might wrap the number in quotes. All three forms paste cleanly because the converter coerces the input to a Number before constructing the Date. Trailing letters and surrounding whitespace are ignored, so you can grab the value straight out of the surrounding log noise without scrubbing it first. If the result lands in 1970, the input was almost certainly Unix seconds, not milliseconds; multiply by 1000 or use a seconds-to-date tool instead.
Reading the result back in your local timezone
The converter renders the date using the browser's locale and timezone, which matches what a teammate on the same machine would see when they call new Date(value).toString() in the developer console. That is usually what a developer reading an incident timeline wants: the wall-clock time the event landed in their working timezone, not the abstract UTC value the log stores. If the page is open across a daylight-savings transition, the same input millisecond paints a different wall-clock time before and after the cutover - the underlying integer does not change, but the offset the browser applies does.
To force a UTC reading instead of the local-timezone default, switch the system timezone (or use a private browsing window with a UTC-locked profile) and reload the converter. The conversion logic is deterministic - the same input always produces the same output for a given timezone setting - so the page is suitable for pasting into a ticket reply or a code-review comment when both reader and writer set their browser to the same timezone first.
Common 13-digit inputs the converter accepts
The most common shapes the converter has been asked to handle:
- Raw integer. A bare 13-digit number like
1713538800000, often pasted from a database column or a log line. - Unit-suffixed. A value like
1713538800000msor1713538800000 millis, common in monitoring dashboards. - JSON-quoted. A value wrapped in quotes like
"1713538800000", copied straight from a JSON payload. - Comma-separated. A value with thousands separators like
1,713,538,800,000, common in spreadsheet exports. - Whitespace-padded. A value with leading or trailing spaces from a multi-column paste.
Each form is normalised by stripping non-digit characters before the Number() coercion runs, so the reader can paste any of them without scrubbing the value first.
If the implementing tool at https://freetoolonline.com/utility-tools/convert-time-in-millisecond-to-date.html shows an empty output, the most common cause is a value that lost a digit on the way through the clipboard (12 digits read as the year 5878 or earlier). Re-copy the full value, paste it in, and the date should populate as expected.