Skip to main content
UFOZoo

Timestamp Converter: Unix Epoch to Date & Time Online

Timestamp converter online: convert Unix epoch seconds and milliseconds to human-readable dates, with full timezone support.

Updated 2026-08-26

Related Tools

Features

  • Convert Unix timestamps (seconds, milliseconds, microseconds, nanoseconds) to human-readable dates
  • Convert dates back to Unix timestamps with any precision
  • Auto-detect whether input is seconds, milliseconds, microseconds, or nanoseconds
  • Display results in ISO 8601, UTC, local time, and RFC 2822 formats
  • Show relative time (e.g., '2 hours ago', 'in 3 days')
  • Show duration breakdown (e.g., '1y 205d 3h 33m 20s')
  • Code examples in 8 programming languages (JS, Python, Go, Java, Rust, PHP, Ruby, Shell)
  • Copy any result with a single click
  • Support for current timestamp generation
  • Real-time conversion as you type
  • Works offline after first load

How to Use

  1. 1Enter a Unix timestamp (e.g., 1700000000) in the Timestamp to Date tab.
  2. 2The tool auto-detects precision: seconds (10 digits), milliseconds (13), microseconds (16), nanoseconds (19).
  3. 3View the converted date in ISO 8601, UTC, RFC 2822, and your local timezone.
  4. 4Check the duration field to see the timestamp expressed as years, days, hours, minutes, and seconds.
  5. 5Click 'Code Examples' to see how to convert this timestamp in your preferred language.
  6. 6Click any result to copy it to your clipboard.
  7. 7Switch to the Date to Timestamp tab to convert a date to Unix time.
  8. 8Select your desired precision: seconds, milliseconds, microseconds, or nanoseconds.
  9. 9Use the 'Now' button to get the current timestamp instantly.
  10. 10Paste a timestamp from Kafka, Protobuf, or Go/Rust logs (microseconds) to decode it.

Frequently Asked Questions

What is a Unix timestamp?

A Unix timestamp (also called epoch time) is the number of seconds (or milliseconds) that have elapsed since January 1, 1970, 00:00:00 UTC. It's a universal way to represent points in time, widely used in programming, databases, and APIs.

How do I know if a timestamp is in seconds, milliseconds, microseconds, or nanoseconds?

The tool auto-detects precision: up to 10 digits = seconds, 13 digits = milliseconds, 16 digits = microseconds, 19 digits = nanoseconds. For reference, 1700000000 is seconds, 1700000000000 is milliseconds, 1700000000000000 is microseconds. Unix timestamps are usually in seconds, but many systems (including JavaScript's Date.now()) use milliseconds, so the converter shows the date for the unit it detected and labels it in the unit indicator.

When should I use microseconds or nanoseconds?

Microseconds (μs) are common in Go, Rust, Kafka, Protobuf, and high-performance logging. Nanoseconds (ns) are used in Go's time package and some database systems like CockroachDB. Seconds are standard in Unix/Linux, MySQL, and Redis.

What is RFC 2822 format?

RFC 2822 is the standard format for email and HTTP Date headers: 'Mon, 14 Nov 2023 22:13:20 +0000'. It's used in HTTP Cache-Control, If-Modified-Since, and email Date headers.

What does 'duration' mean in the results?

Duration shows the timestamp value expressed as a human-readable time span: years, days, hours, minutes, and seconds. For example, a timestamp of 31557600 seconds shows as '1y 0d 0h 0m 0s' (approximately 1 year).

Can I convert dates before 1970?

Technically yes, Unix timestamps can be negative to represent dates before the epoch (January 1, 1970). However, this tool currently only supports positive timestamps.

What is the Year 2038 problem?

The Year 2038 problem affects systems that store Unix timestamps as 32-bit signed integers. The maximum value (2,147,483,647 seconds) corresponds to January 19, 2038. Modern systems use 64-bit integers, which won't overflow for billions of years.

How do I get the current Unix timestamp?

Click the 'Now' button to fill in the current timestamp. In JavaScript: Date.now() (ms) or Math.floor(Date.now() / 1000) (s). In terminal: 'date +%s' (seconds) or 'date +%s%N | cut -b1-13' (milliseconds).

Can I use this tool to convert timestamps from databases?

Yes. MySQL UNIX_TIMESTAMP() returns seconds, PostgreSQL EXTRACT(EPOCH FROM) returns seconds, MongoDB stores milliseconds, Go time.Now().UnixMicro() returns microseconds. Enter the value and the tool auto-detects the precision.

How do I convert a timestamp to a specific time zone like IST?

The tool shows UTC and your local time. For another zone, take the UTC result and add that zone's offset: 1700000000 → 2023-11-14 22:13:20 UTC, plus IST's +5:30 → 2023-11-15 03:43:20 IST. If the target zone is not your local one, run the UTC value through a time zone converter afterwards.

Can I convert Discord-style timestamps?

Yes. Discord uses standard Unix timestamps inside markup like <t:1700000000> (seconds) or <t:1700000000000:R> (milliseconds, with a format letter). Paste the number from inside the markup and the tool auto-detects the unit; the <t:> markup itself is not parsed, so paste just the digits.

Why is my timestamp off by several hours?

A Unix timestamp is an absolute instant in time (UTC); the hours you see depend on the time zone used for display. An 8-hour difference is normal if the tool shows local time and your zone is UTC+8 (China, Singapore), or if one side converts to UTC and the other to local time. The other common cause is unit: a value in milliseconds (13 digits) displayed as seconds (10 digits) shifts the date by decades, not hours; check the unit indicator first.

Why does my timestamp converter date show as ##### or shift by a day in Excel?

Excel stores dates as serial numbers counted from 1900-01-01, and a Unix timestamp in seconds is far beyond that range, so Excel displays #####, a wrong year, or garbage. Convert in two steps instead: format the cell as text first, or use the formula =(A1/86400)+DATE(1970,1,1) with the cell formatted as a date, and mind that Excel on Windows skips the fake 1900-02-29 (a one-day offset for dates before March 1900). This timestamp converter gives you the readable UTC value to compare against.

Why does my timestamp converter Discord output display a different time to my server members?

Discord renders <t:...> timestamps in each viewer's own local time zone by design, so the same value shows 12:00 for you and 20:00 for a member in UTC+8; nothing is wrong with the timestamp or the converter. Use this tool to verify the underlying UTC instant; if you need everyone to see the same clock time, state the UTC time in the message itself instead of relying on Discord's local rendering.