Ttooleras
⏱️

Epoch Converter

Developer Utilities

Convert between Unix epoch timestamps (seconds and milliseconds) and human-readable dates in any timezone with multiple format options.. Free, private — all processing in your browser.

Current Unix Timestamp
Unix (seconds)0
Unix (milliseconds)0
ISO 8601
UTC
Local
Date only
Time only
RFC 2822
Advertisement

The Epoch Converter transforms between Unix epoch timestamps (the number of seconds or milliseconds since 1 January 1970 UTC) and human-readable dates in any timezone. Unix timestamps are the universal internal representation of time in databases, APIs, log files, cache entries, JWT tokens, and almost every programming language. When you see 1704067200 in a log or 1704067200000 in a JavaScript debug output, you need to know that means 2024-01-01 00:00:00 UTC — and that is exactly what this tool tells you, instantly and correctly.

Both seconds and milliseconds timestamps are supported automatically — the converter detects which based on magnitude. Output includes the date in UTC and your local timezone, ISO 8601 format (2024-01-01T00:00:00Z), RFC 2822 format, common human-readable formats, and the relative time (\"2 years ago\" or \"in 37 days\"). Reverse conversion works too: type or pick any date, see the equivalent epoch timestamps in seconds and milliseconds, ready to paste into code or database queries. This is the daily tool of backend developers, data engineers, and anyone who spends time reading system logs.

Epoch Converter — key features

Seconds and milliseconds auto-detect

Paste a timestamp and the converter detects whether it is seconds, milliseconds, microseconds, or nanoseconds.

Any timezone output

See the converted date in UTC, your local timezone, or any IANA timezone identifier.

Multiple format options

ISO 8601, RFC 2822, common human-readable, and custom format strings all from the same timestamp.

Date to timestamp conversion

Enter any date and get both the seconds-based and milliseconds-based Unix timestamps for that moment.

Relative time display

Shows how long ago or in the future the timestamp is, useful for log analysis and caching decisions.

Copy ready-to-paste values

One-click copy for any output format — directly usable in code, SQL queries, or documentation.

URL-shareable timestamps

Every conversion encodes the timestamp in the URL hash so you can share a specific moment with a teammate.

Works fully offline

All conversion math runs client-side after the initial page load, useful for debugging log files on airgapped systems.

How to use the Epoch Converter

  1. 1

    Paste a timestamp

    Drop a Unix timestamp (seconds or milliseconds) into the timestamp field. The converter recognizes the unit automatically.

  2. 2

    Or enter a date

    Alternatively, pick a date from the calendar and type a time, and the tool shows the equivalent epoch timestamps.

  3. 3

    Pick output timezone

    See the result in UTC by default; switch to local or any specific timezone via the dropdown.

  4. 4

    Copy the format you need

    Grab the ISO 8601, seconds timestamp, milliseconds timestamp, or custom format with a single click.

  5. 5

    Share or bookmark

    The URL encodes the timestamp so you can save it or send to a colleague who sees the same conversion.

Common use cases for the Epoch Converter

Debugging and logs

  • Log file timestamps: Convert epoch values in production logs to readable dates during incident investigation.
  • Database query results: Decode TIMESTAMP columns returned as Unix time into dates you can reason about visually.
  • Distributed tracing: Align span start and end timestamps across services by converting to a common readable format.

API development

  • JWT token validation: Convert iat (issued at) and exp (expires at) claims from JWTs to check when tokens were issued or will expire.
  • API response debugging: Turn epoch timestamps in API responses into readable dates when testing endpoints in Postman or the command line.
  • Cache TTL verification: Convert cache expiry timestamps to confirm whether an entry is stale or fresh for the incident you are debugging.

Data engineering

  • ETL pipeline dates: Verify that upstream Unix timestamps in ingestion streams are being parsed into the correct dates downstream.
  • Time-series data inspection: Sample timestamps from time-series logs and convert to human dates to sanity-check data freshness and coverage.
  • Cross-system time audit: Convert the same timestamp as interpreted by several systems to catch timezone or epoch-unit mismatches.

Epoch Converter — examples

Seconds timestamp

A typical 10-digit Unix timestamp in seconds.

Input
1704067200
Output
UTC: 2024-01-01 00:00:00
ISO 8601: 2024-01-01T00:00:00Z
local: varies by timezone
relative: about 1 year 4 months ago

Milliseconds timestamp

A 13-digit JavaScript-style timestamp in milliseconds.

Input
1704067200000
Output
UTC: 2024-01-01 00:00:00.000
same moment as seconds version × 1000

Current time

Now — useful for quick reference.

Input
now
Output
2026-05-05 12:00:00 UTC (example)
seconds: 1778059200
milliseconds: 1778059200000

Date to timestamp

Converting a specific date to epoch.

Input
2026-12-31 23:59:59 UTC
Output
seconds: 1798761599
milliseconds: 1798761599000
ISO 8601: 2026-12-31T23:59:59Z

Historical timestamp

A pre-1970 date as a negative Unix time.

Input
-1000000000
Output
UTC: 1938-04-24 22:13:20
negative values represent pre-epoch dates

Technical details

Unix time counts seconds elapsed since the Unix epoch: 00:00:00 UTC on 1 January 1970. It is a simple integer, which makes date arithmetic trivial (subtraction gives seconds between events) and storage efficient (a single 64-bit integer per timestamp).

Unix time does not count leap seconds. Rare inserted seconds (26 since 1972) to keep UTC aligned with astronomical time are not included in Unix time by convention. This means Unix time is essentially equivalent to UTC minus leap seconds — for most practical purposes the difference is zero, but for astronomical or high-precision applications, leap seconds matter.

Seconds vs milliseconds: the original Unix timestamp is in seconds. JavaScript\u2019s Date.now() returns milliseconds (seconds × 1000). Database timestamps vary — some systems use seconds, others milliseconds, others microseconds or nanoseconds. The converter detects the unit from magnitude (values over 10 digits are likely milliseconds; values over 13 digits are likely microseconds or nanoseconds).

The 2038 problem: Unix timestamps stored as signed 32-bit integers overflow on 19 January 2038. Past that date, the integer rolls over to negative and date calculations break. Modern systems use 64-bit integers that will not overflow for 292 billion years. The converter works correctly past 2038, but any system using 32-bit epoch storage has a real bug to fix.

Negative timestamps represent dates before 1970. -1 is 31 December 1969 23:59:59 UTC. Valid but rare in real systems because most applications do not care about dates before Unix time began.

ISO 8601 is the international standard for date and time strings. The RFC 3339 variant (used in JSON APIs) looks like 2024-01-15T09:30:00Z where Z means UTC or +hh:mm for an offset. The converter outputs both forms.

Timezone conversion happens at display time — internally the tool keeps the timestamp as a pure UTC moment, then formats for the selected timezone using browser Intl APIs. This means DST is handled automatically for timezones that observe it, and the same timestamp displayed in different timezones gives the same moment viewed from different positions.

Common problems and solutions

Seconds vs milliseconds confusion

If your timestamp looks too large (13+ digits), it is probably milliseconds, not seconds. Dividing by 1000 converts ms to seconds. The converter auto-detects, but when writing code check your language’s default (JavaScript is ms, Python datetime is seconds, Go is configurable).

Timezone assumptions

Unix timestamps are always UTC by definition. Displaying the converted date in local timezone is a formatting choice, not part of the timestamp. Always verify which timezone your formatted output is in.

32-bit overflow in 2038

Any system storing timestamps as 32-bit signed integers will break on 19 January 2038. Modern platforms use 64-bit, but legacy systems, some databases, and embedded systems may still have the issue.

Leap seconds ignored

Unix time skips leap seconds. For astronomical or ultra-high-precision timing, use TAI (International Atomic Time) or GPS time instead. For web and business applications, the Unix time approximation is fine.

Float vs integer for sub-second precision

Storing sub-second times as floats loses precision. Use milliseconds or microseconds as integers, not fractional seconds, for timestamps that need to be compared for equality.

Pre-1970 dates

Negative timestamps are valid but unusual. Some libraries silently clamp at 0, so dates before 1970 become 1970-01-01 00:00:00 UTC. Always verify behavior if your system deals with historical dates.

ISO string without timezone

An ISO string like 2024-01-15T09:30:00 without trailing Z or offset is ambiguous — some parsers treat it as UTC, others as local. Always include the timezone designator for unambiguous timestamps.

Epoch Converter — comparisons and alternatives

Compared to the Unix date command (date -d @1704067200), this tool provides multi-timezone output and multiple formats at once without requiring a shell. For scripting, use the CLI; for interactive debugging, the browser tool is faster.

Compared to Python\u2019s datetime.fromtimestamp() or JavaScript\u2019s new Date(), this tool does not require running code — paste a timestamp into a browser and see the result. It is especially useful when the timestamp you are investigating comes from a language you do not have installed locally.

Compared to built-in database date functions (PostgreSQL to_timestamp, MySQL FROM_UNIXTIME), this tool works without database access. When reading log files or API responses that contain timestamps, the browser tool is faster than SSHing into a database to run a query.

Frequently asked questions about the Epoch Converter

What is a Unix timestamp?

A Unix timestamp is the number of seconds that have passed since 00:00:00 UTC on 1 January 1970 (the Unix epoch). Storing time as a single integer simplifies comparison, subtraction, and storage. Most databases, APIs, and programming languages use Unix timestamps internally for date-time values.

What does the number 1704067200 mean as a timestamp?

1704067200 in Unix seconds is 2024-01-01 00:00:00 UTC. In milliseconds (1704067200000), it is the same moment. The number represents how many seconds passed from the Unix epoch until midnight UTC on the first day of 2024.

How do I convert between seconds and milliseconds timestamps?

Seconds × 1000 = milliseconds. Milliseconds / 1000 = seconds. 10-digit numbers are usually seconds (good for any year in human history); 13-digit numbers are milliseconds. The converter auto-detects the unit.

Why is there a 2038 problem?

Unix time in 32-bit signed integers maxes out at 2,147,483,647 seconds, which is 19 January 2038 at 03:14:07 UTC. Past that, the number overflows to negative and dates go haywire. Systems that still use 32-bit epoch storage need to migrate to 64-bit before then. Most modern systems already use 64-bit.

Does the timestamp account for daylight saving time?

No. Unix timestamps are pure UTC — they do not shift for DST. When you display a timestamp in a DST-observing timezone, the display offset changes during DST but the underlying timestamp is unchanged. This is the correct behavior and avoids a class of bugs that plague naive date-handling.

How precise is a Unix timestamp?

Native Unix time is second-precision. Millisecond precision requires multiplying by 1000. Microseconds, nanoseconds, and even picoseconds are supported by extended timestamp formats in specialized systems. For normal applications, seconds or milliseconds are sufficient.

Can I convert timestamps from different programming languages?

Yes. All major languages use the same Unix epoch convention, just with different default units (Python seconds, JavaScript milliseconds, Go nanoseconds via time.Time, etc.). Paste the raw numeric timestamp into the converter regardless of source language.

What is the ISO 8601 format and why do APIs use it?

ISO 8601 is a human-readable and machine-parseable international standard for dates and times: 2024-01-15T09:30:00Z. It sorts lexicographically in the correct chronological order (unlike US or European slash-separated formats), unambiguously includes timezone, and parses consistently across languages. Most modern JSON APIs use it.

Additional resources

  • Wikipedia — Unix timeComprehensive background on Unix timestamp history, format, and practical use.
  • RFC 3339 (Internet date-time)Internet standard for date and time representations, the profile of ISO 8601 used in JSON APIs.
  • ISO 8601 standardInternational Organization for Standardization date and time format definition.
  • MDN Date documentationJavaScript Date object reference, including epoch-based construction and formatting.
  • Python datetimePython standard library datetime module, commonly used for epoch-to-date conversion server-side.
Advertisement

Explore more tools

200+ free tools that run in your browser.

Browse all tools →