Unix Timestamp Converter
Convert Unix time to human-readable dates and back with this free epoch converter. Supports seconds or milliseconds to date, plus dates back to timestamps, with UTC, local, and any IANA timezone output.
How To Use
- Paste a Unix timestamp (seconds or milliseconds) or a date string.
- Pick a timezone from the dropdown (defaults to your browser's timezone).
- Click Timestamp to Date to see UTC, local, and the selected timezone.
- Click Date to Timestamp to get seconds and milliseconds.
- Use Use current time to load the current epoch.
Usage Example
Timestamp:
1750000000
Converts to 2025-06-15T15:06:40Z in UTC and
2025-06-15 23:06:40 in Asia/Shanghai.
Reverse: entering that date gives 1750000000 seconds.
Use Cases
This epoch converter is a daily tool for developers, support staff, and data analysts. Read a Unix timestamp from a log, database, or API response and turn it into a human-readable UTC, local, or IANA timezone date. Find the current epoch with one click to filter records or schedule queries. Convert a wall-clock time back to seconds or milliseconds for building requests and test fixtures. When debugging across timezones, use the dropdown to see how one instant appears in UTC, your local time, and a colleague's region simultaneously — all resolved locally by your browser.
Best Practices
- Know whether your source uses seconds (10-digit) or milliseconds (13-digit) — this tool auto-detects both, but mixing them shifts dates by ~1000×.
- Prefer UTC for logs and storage so records are unambiguous; apply a timezone only when presenting to humans.
-
Use an IANA timezone (e.g.
Asia/Shanghai) rather than a fixed offset, so daylight-saving changes resolve correctly. - Keep timestamps in one unit consistently across your system to avoid off-by-a-thousand bugs.
Seconds or Milliseconds? How to Tell Which Unit a Timestamp Uses
The number of digits settles it in almost every case — the two units differ by a factor of exactly 1000:
| Digit count | Unit | Example | Corresponding date |
|---|---|---|---|
| 9 digits or fewer | seconds (rare, historical) | 999999999 | 2001-09-09 |
| 10 digits | seconds | 1750000000 | 2025-06-15 |
| 11 digits | seconds (only after year 2286) | 99999999999 | 2286-11-20 |
| 12 digits | milliseconds (early era, 2001) | 999999999999 | 2001-09-09 |
| 13 digits | milliseconds | 1750000000000 | 2025-06-15 |
| 16 digits | microseconds | 1750000000000000 | 2025-06-15 |
| 19 digits | nanoseconds (Go/Java monotonic-style logs) | 1750000000000000000 | 2025-06-15 |
The quick sanity check: divide by 1e12 — if the result is
between roughly 1 and 2, the value is milliseconds; a result near
0.001 means seconds. If a 13-digit number renders as a date in the far
future (year ~52,000), it was milliseconds read as seconds — multiply
your seconds logic by 1000 or let the auto-detection above annotate
the unit for you.
Convert Unix Timestamp to Date in Excel and Google Sheets
Spreadsheets store dates as days since 1900 (Excel) or 1899 (Sheets), so an epoch value needs two corrections — divide seconds into days, then shift to the spreadsheet's epoch:
| Task | Formula |
|---|---|
| Epoch seconds → date (Excel / Sheets) | = (A1 / 86400) + DATE(1970,1,1) |
| Epoch milliseconds → date | = (A1 / 86400000) + DATE(1970,1,1) |
| Excel, Windows 1900 system, region-independent | = (A1 / 86400) + 25569 |
| Format the result as readable text | = TEXT((A1/86400) + 25569, "yyyy-mm-dd hh:mm:ss") |
| Date → epoch seconds | = (A1 - DATE(1970,1,1)) * 86400 |
Two classic traps: the value displays as a raw number because the cell
is not formatted as a date (apply a date/time format after the
formula), and Excel's Windows default treats 1900 as a leap year it
was not, which is why the constant 25569 already accounts
for the offset. For a one-off conversion without formulas, paste the
value into the converter above — it annotates the detected unit
automatically.
Frequently Asked Questions
Seconds or milliseconds?
Numeric input is auto-detected by digit count: ≤11 digits = seconds, ≥12 = milliseconds. The output annotates which unit was used, and you can also type a plain date string.
Is my timestamp sent anywhere?
No. All conversion uses JavaScript's native Date object locally in your browser.
What timezone does it use?
The tool shows UTC, your browser's local timezone, and any timezone you select from the list. All conversions happen locally in your browser.
How do I convert to another region's time?
Pick the region from the Timezone dropdown, then click Timestamp to Date. The converted time for that region appears below the UTC and local output.
Which timezones are supported?
The dropdown uses standard IANA timezone names such as Asia/Shanghai, Europe/London, and America/New_York. Any value listed is recognized by your browser and resolved with the official timezone database.
Is the conversion done locally?
Yes. Timezone conversion uses the browser's native Intl.DateTimeFormat API entirely on your device. Nothing is sent to a server.