ToolGrid — Product & Engineering
Leads product strategy, technical architecture, and implementation of the core platform that powers ToolGrid calculators.
AI Credits & Points are in development.
Learn moreLoading...
Preparing your workspace
Convert Unix timestamps (seconds since January 1, 1970) to human-readable dates and vice versa, supporting milliseconds precision, multiple timezone conversions (UTC, local, custom), relative time display ("2 hours ago"), and ISO 8601 formatting.
Note: AI can make mistakes, so please double-check it.
Enter an epoch timestamp or date to convert
Common questions about this tool
Paste your epoch converter code into the formatter, and it automatically applies proper indentation, spacing, and organization. The tool improves code readability while maintaining functionality.
Yes, the epoch converter beautifies code by adding consistent formatting, proper indentation, and organizing structure. This makes code easier to read, debug, and maintain without changing functionality.
No, formatting only changes whitespace and organization. It doesn't alter code logic, syntax, or behavior, so your epoch converter code works exactly the same after formatting.
Yes, the formatter offers customization options including indentation style, line length, and formatting preferences to match your project's coding standards and team preferences.
Paste minified code into the formatter, and it automatically adds proper indentation and line breaks to make the code readable again. This is useful for debugging or reviewing compressed code.
Enter your epoch value or a date string into the input field and the tool runs detectInput to classify it as an epoch or date, then passes the parsed Date into processDate. The result card shows both local time and UTC in a formatted string, along with the timezone, offset, and a relative description like how long ago or in the future that moment is.
When you type a numeric value the converter auto-detects the unit as seconds, milliseconds, microseconds, or nanoseconds, and you can override this using the unit toggle chips, which update the manualUnit state. The code then uses BigInt math to normalize that value into a millisecond timestamp, validates it is within a supported year range, and creates a Date so that all epoch variants produce consistent human readable outputs.
If detectInput cannot recognize the format or the BigInt parsing fails, the component clears the current result and sets an inputError explaining that the epoch value is invalid or the date is out of range. Extremely large or negative timestamps that fall outside the supported year 1–9999 window are explicitly rejected with a “Date out of valid range” message, so you know the problem is with the value rather than the converter.
Yes, you can type a phrase like “next Friday at 3pm” and click the AI Parse button, which sends your text to parseNaturalLanguageDate and, if successful, replaces the input with a normalized date string. That normalized value is then run back through the standard detection and processDate pipeline so you get epoch seconds, milliseconds, and microseconds alongside local and UTC time.
Every output slot—including local time, UTC time, and each epoch unit—has a copy button wired to handleCopy, which calls navigator.clipboard.writeText for that specific value and briefly marks the button as Copied. This lets you quickly move any of the formatted timestamps into other tools or code without manually selecting and copying from the UI.
Verified content & sources
This tool's content and its supporting explanations have been created and reviewed by subject-matter experts. Calculations and logic are based on established research sources.
Scope: interactive tool, explanatory content, and related articles.
ToolGrid — Product & Engineering
Leads product strategy, technical architecture, and implementation of the core platform that powers ToolGrid calculators.
ToolGrid — Research & Content
Conducts research, designs calculation methodologies, and produces explanatory content to ensure accurate, practical, and trustworthy tool outputs.
Based on 1 research source:
Learn what this tool does, when to use it, and how it fits into your workflow.
This free epoch converter online converts between epoch timestamps and human-readable dates and times. Use it to convert unix timestamp to date online or as an epoch to date converter: you enter either a number (epoch in seconds, milliseconds, microseconds, or nanoseconds) or a date string. The tool shows the same moment in local time and in UTC, and it shows the epoch value in seconds, milliseconds, and microseconds. So you can turn a raw timestamp into a date or a date into timestamps in several units.
Developers and support staff often see epoch numbers in logs, APIs, or databases. A number like 1736352000 or 1736352000000 is hard to read. You need to know the unit and the timezone. This unix timestamp converter accepts the number and detects the unit by how many digits it has. It shows local time (your browser timezone) and UTC. It also shows the same moment as seconds, milliseconds, and microseconds so you can copy the form you need. So you can quickly convert epoch to human readable time and get other units.
The tool is for anyone who works with epoch timestamps or date strings and needs to convert unix timestamp to date or use a free epoch converter. You do not need to be an expert. You enter a number or a date, and you read the results. You can override the detected unit for epoch input. An optional AI Parse button tries to turn natural language into a date string; that feature can fail and the main conversion does not depend on it.
An epoch timestamp is the number of seconds (or milliseconds, microseconds, or nanoseconds) since January 1, 1970 at midnight UTC. Many systems use seconds (10 digits) or milliseconds (13 digits). Some use microseconds or nanoseconds. The same moment in time can be written in any of these units. If you treat milliseconds as seconds you get a wrong date. This tool detects the unit by the length of the number you type. Up to 10 digits (or 11 with a minus) is seconds. Up to 13 is milliseconds. Up to 16 is microseconds. More is nanoseconds. So you do not have to choose the unit; the tool picks for you. You can change it with the unit buttons if the tool guessed wrong.
You can also enter a date string instead of a number. This epoch to date converter accepts formats that the browser can parse (for example ISO 8601 like 2025-01-09T12:00:00Z or a simple date). It then shows that moment in local time and UTC and gives the epoch in seconds, milliseconds, and microseconds. So you can go from date to epoch as well as epoch to date with a unix timestamp to date converter. A related operation involves converting Julian dates as part of a similar workflow.
Local time uses your browser timezone. UTC is the reference (no offset). The tool shows a relative phrase like 2 hours ago or in 3 days so you see how far the moment is from now. The valid range for dates is year 1 to year 9999. Timestamps outside that range show an error. So the tool keeps everything in a safe range.
People struggle when they convert by hand. They mix up seconds and milliseconds. They use the wrong unit. This tool detects the unit and lets you override it. You see local time, UTC, and epoch in three units. You can copy any value. If the input is not a number or a parseable date the tool says so and does not show a result.
You have a timestamp from a log (for example 1736352000). You paste it into the field. The tool detects seconds and shows local time, UTC, and the epoch in seconds, milliseconds, and microseconds. You read the local time to see when it was. You copy the milliseconds value for an API.
You have a 13-digit number from an API. You paste it. The tool detects milliseconds and shows the correct date. You check the relative time (for example 3 hours ago) to see how old the event is. You copy the UTC line for a report. For adjacent tasks, converting text case addresses a complementary step.
You want the current time as an epoch. You click Now. The input is set to the current timestamp in seconds. You see local time, UTC, and the three epoch units. You copy the seconds or milliseconds value for your script.
You have a date string (for example 2025-01-09T12:00:00Z). You paste it. The tool detects it as a date and shows local time, UTC, and the epoch in seconds, milliseconds, and microseconds. You copy the seconds value for a database or config.
The tool detected your number as milliseconds but it is actually seconds. You click the seconds button in the unit row. The result updates. You read the correct local time and copy the value you need.
You want to try a natural language phrase. You type something like next Friday at 3pm and click AI Parse. If the service returns a date the input is updated and you see the conversion. If it fails you enter an epoch or date string by hand. When working with related formats, converting currencies can be a useful part of the process.
The tool reads your input as a string. It trims spaces. If the string is only digits (and an optional leading minus) it is treated as an epoch number. The number of digits (ignoring the minus) decides the unit: 1–10 is seconds, 11–13 is milliseconds, 14–16 is microseconds, 17–20 is nanoseconds. If the digit count is over 20 the input is treated as unrecognized. The value is converted to milliseconds: seconds times 1000, milliseconds as-is, microseconds divided by 1000, nanoseconds divided by 1,000,000. That milliseconds value must be between minus about 62 trillion and about 253 trillion (year 1 to 9999). If it is outside that range the tool shows Date out of valid range and does not show a result.
If the input is not a number the tool tries to parse it as a date with the Date constructor. If the result is a valid date and the year is 1 to 9999 the input is treated as a date. The tool then uses that date to build the result. If parsing fails or the year is out of range the input is unrecognized.
From the moment in time (as a Date) the tool computes local time using your browser timezone (Intl), UTC time in a fixed format, and the epoch in seconds (floor of milliseconds divided by 1000), milliseconds, and microseconds (milliseconds times 1000, using BigInt where needed). The relative time (for example 2 hours ago) is the distance from that date to now with a suffix. So all outputs refer to the same moment.
The manual unit override (seconds, milliseconds, microseconds buttons) only affects epoch input. When you click a button the tool uses that unit to convert the number to milliseconds instead of the auto-detected unit. So you can correct a wrong guess. Nanoseconds has no button but is still used when the number has 17–20 digits. In some workflows, converting speed units is a relevant follow-up operation.
| Input (digits, no minus) | Unit |
|---|---|
| 1–10 | Seconds |
| 11–13 | Milliseconds |
| 14–16 | Microseconds |
| 17–20 | Nanoseconds |
| Over 20 | Unrecognized |
| Limit | Value |
|---|---|
| Max input length | 30 characters |
| Max epoch digits | 20 |
| Date range | Year 1 to 9999 |
| History size | 10 items |
The result shows epoch in seconds, milliseconds, and microseconds only. Nanoseconds is accepted as input but not shown in the result row. Copy copies the value you click (one of the date strings or one of the epoch numbers).
Use the unit buttons when the tool guesses wrong. Many timestamps are 10 digits (seconds) or 13 digits (milliseconds). If you paste a 10-digit number and the date looks wrong in the future it might be milliseconds; click the milliseconds button to see. If the date is in the past and looks right leave it as seconds.
Keep the input within 30 characters. Epoch numbers with more than 20 digits are treated as unrecognized. The date must be in the range year 1 to 9999. Negative timestamps (before 1970) are allowed within that range.
For date strings use a format the browser accepts. ISO 8601 (for example 2025-01-09T12:00:00Z) works. Other formats may work depending on the browser. If you see Invalid date format try ISO or a simple date. For related processing needs, converting length units handles a complementary task.
Local time depends on your browser timezone. If you are in a different place the local card will not match. Use UTC for a shared reference. The relative time (for example 2 hours ago) is from the moment you are viewing to now.
AI Parse is optional and can fail. You may see Failed to parse natural language date or Unable to parse with AI at this time. Use short, clear phrases. The main conversion always works with an epoch number or a date string in the field.
History stores the last 10 conversions. Click an item to load that input again. Clear removes all history. The tool does not store history on the server; it is only in your browser session.
Articles and guides to get more from this tool
Time is invisible, but computers need a way to count it. Every message you send, every file you save, and every website you visit has a time…
Read full article1. Introduction: Decoding the Computer's Calendar You open a log file from your server. Every entry has a timestamp like 1704067200 . You op…
Read full articleSummary: Convert Unix timestamps (seconds since January 1, 1970) to human-readable dates and vice versa, supporting milliseconds precision, multiple timezone conversions (UTC, local, custom), relative time display ("2 hours ago"), and ISO 8601 formatting.