Epoch / Unix Timestamp Converter

Convert Unix timestamps to human dates & back. Live clock included. 100% client-side.

Got a number like 1792759416 from an API, a database, or a log file and need to know what date it is? Or need the timestamp for a specific date to feed into your code? This free epoch converter works in both directions, right in your browser: paste a 10-digit (seconds) or 13-digit (milliseconds) timestamp and instantly get the UTC time, your local time, ISO 8601, the day of the week, and a relative "3 days ago" reading. Nothing leaves your device and nothing is logged.

Current Unix Timestamp

⏱️ Timestamp → Date

📅 Date → Timestamp

Year
Month
Day
Hour
Minute
Second

How to Use This Epoch Converter

  1. Timestamp to date: paste any 10-digit (seconds) or 13-digit (milliseconds) timestamp into the "Timestamp → Date" box and click Convert to Date. The tool auto-detects the unit and shows UTC, your local time, ISO 8601, day of week, and a relative reading. Click any result to copy it.
  2. Date to timestamp: enter a year, month, day, and time in the "Date → Timestamp" box and click Convert to Timestamp. You get the epoch value in both seconds and milliseconds, plus the UTC and ISO equivalents.
  3. Check the live clock: the clock at the top of the page always shows the current Unix timestamp, updating every second — useful when you need a "right now" timestamp for a token, a test record, or a cache-buster.

Who Uses Unix Timestamps (and Why)

Unix timestamps show up far beyond server code. Backend developers read them in API responses, JWT expiry claims (exp/iat), and database rows when a dashboard shows a raw number instead of a date. Data engineers use them to sort and filter billions of rows without date-parsing overhead. DevOps and support engineers decode timestamps in log files to line up incidents across timezones — a 10-digit number in a log becomes an exact second once converted. Frontend developers hit them constantly because JavaScript's Date.now() returns milliseconds, the most common source of seconds-vs-milliseconds bugs. Even analysts and marketers meet them in exported CSVs from analytics platforms and ad networks, where event times arrive as epoch integers.

Notable Timestamps, for Reference

EventTimestamp (s)UTC date
Unix epoch begins01970-01-01 00:00:00
Y2K9466848002000-01-01 00:00:00
One billion seconds10000000002001-09-09 01:46:40
32-bit max (Year 2038 problem)21474836472038-01-19 03:14:07

What Is a Unix Timestamp?

A Unix timestamp (also called epoch time or POSIX time) is the number of seconds elapsed since January 1, 1970, 00:00:00 UTC — a date referred to as the Unix epoch. This convention was established in the early days of Unix operating systems as a simple, unambiguous way to represent any point in time using a single integer, with no dependence on locale, calendar format, or timezone.

Every major programming language has built-in support for Unix timestamps. In JavaScript, Date.now() returns the current timestamp in milliseconds. In Python, time.time() returns it in seconds. In databases, Unix timestamps are often preferred for storing dates because integer comparisons are faster than string comparisons, and there is no ambiguity about date format (no DD/MM/YYYY vs MM/DD/YYYY confusion).

Seconds vs Milliseconds — A Common Source of Bugs

The single most common bug involving Unix timestamps is confusing seconds and milliseconds. The Unix standard uses seconds, but JavaScript's Date.now() and many modern APIs return milliseconds. A current timestamp in seconds is a 10-digit number (approximately 1,700,000,000). In milliseconds, it is 13 digits (approximately 1,700,000,000,000). If you see a date rendering as 1970 or as a date in the year 2500+, you almost certainly mixed up seconds and milliseconds somewhere in your code.

When in doubt, check the magnitude: 10 digits = seconds, 13 digits = milliseconds. Convert accordingly before passing timestamps between systems that may use different conventions.

Frequently Asked Questions

How do I convert a Unix timestamp to a readable date?

Paste the timestamp into the "Timestamp → Date" box above and click Convert to Date. You'll instantly see the UTC time, your local time, ISO 8601 format, and the day of the week. The converter auto-detects seconds and milliseconds, so you don't need to know which one you have.

Why does my timestamp show January 1, 1970?

January 1, 1970 is timestamp 0 — it means the value you fed in was 0 or empty. Common causes: a failed database query returning NULL that got cast to 0, an uninitialized variable, or a timestamp that was divided down to nothing. If you see a far-future date (year 2500+) instead, you've mixed up seconds and milliseconds — check the digit count: 10 digits means seconds, 13 means milliseconds.

What is the maximum Unix timestamp?

On 64-bit systems there is effectively no practical maximum. The famous limit is 2,147,483,647 (January 19, 2038 at 03:14:07 UTC), the largest value a 32-bit signed integer can hold — that's the Year 2038 problem. Any timestamp larger than that was stored on a 64-bit system, which extends the range to roughly 292 billion years in the future.

How do I convert a Unix timestamp in Excel or Google Sheets?

Use the formula =((A1/86400)+DATE(1970,1,1)) and format the cell as a date, where A1 holds the timestamp in seconds. For milliseconds, divide by 86,400,000 instead. Note that Excel's DATE function caps out at the year 9999, so 64-bit far-future timestamps can error there.

Does Unix time account for timezones?

Unix timestamps are always in UTC — they represent an absolute point in time with no timezone information embedded. Converting a timestamp to a human-readable date always requires specifying a timezone. The same timestamp will display as different local times in different timezones, but the underlying number is identical. This is a feature, not a bug: storing timestamps as UTC integers avoids all daylight saving time and timezone offset complications in your database.

What is the Year 2038 problem?

32-bit signed integers can represent values up to 2,147,483,647. When used to store Unix timestamps (seconds since 1970), this maximum corresponds to January 19, 2038 at 03:14:07 UTC. After that point, 32-bit systems will overflow and roll back to 1901. Most modern systems use 64-bit integers for timestamps, which extends the range to approximately 292 billion years in the future. If you're working with legacy embedded systems or old 32-bit databases, this is a real migration concern.

How do I get the current Unix timestamp in different languages?

JavaScript: Math.floor(Date.now() / 1000) (seconds) or Date.now() (milliseconds). Python: import time; int(time.time()). PHP: time(). Ruby: Time.now.to_i. Go: time.Now().Unix(). SQL (PostgreSQL): EXTRACT(EPOCH FROM NOW()). SQL (MySQL): UNIX_TIMESTAMP().

What is a Unix timestamp?

A Unix timestamp (Epoch time) is the number of seconds since January 1, 1970 00:00:00 UTC. It's used in virtually all programming languages to represent time as a number.

Does this tool support milliseconds?

Yes. If the timestamp is 13+ digits, it's auto-detected as milliseconds and converted accordingly.

Related Tools You Might Like

UUID Generator Generate time-based UUIDs to pair with epoch timestamps. JSON ↔ CSV Converter Convert timestamped datasets between JSON and CSV. JWT Decoder Decode JWT tokens and read their exp/iat timestamp claims. Cron Expression Builder Build cron schedules for jobs you time with epoch values.