Unix Timestamp Converter

Convert between Unix timestamps and human-readable dates. Calculate time differences and elapsed time. Supports batch operations and all time units.

Current Time
----------
-------------
----/--/-- --:--:--
----/--/-- --:--:--
Timestamp To Date
Convert Unix timestamps to human-readable dates. Auto-detects seconds, milliseconds, microseconds, or nanoseconds.

Supports up to 1000 items. Auto-detects format or select manually below.

About Unix Timestamps

What is a Unix Timestamp?

A Unix timestamp (also known as Epoch time) is the number of time units that have elapsed since January 1, 1970 00:00:00 UTC. It's a universal time representation used in computing systems worldwide.

Common Units

  • Seconds: Standard Unix timestamp (10 digits)
  • Milliseconds: JavaScript/Java standard (13 digits)
  • Microseconds: Python/PHP precision (16 digits)
  • Nanoseconds: Maximum precision (19 digits)

Related Tools

JSON Viewer

View, format, and analyse JSON data with syntax highlighting

JWT Decoder

Decode, verify, and generate JSON Web Tokens

Mock Data Studio

Generate realistic test data for your applications

Unix Timestamp Converter: Complete Guide

Unix timestamps are the backbone of time representation in computing. Our Unix timestamp converter provides instant conversion between epoch time and human-readable dates, supporting seconds, milliseconds, microseconds, and nanoseconds. Whether you're debugging API logs, working with databases, or building time-based features, this tool handles all your timestamp conversion needs.

What is a Unix Timestamp?

A Unix timestamp (also called POSIX time or Epoch time) represents the number of time units elapsed since the Unix epoch: 00:00:00 UTC on 1 January 1970. This standardised time representation is used across all operating systems, programming languages, and databases for consistent time tracking.

Timestamp Formats:

  • Seconds (10 digits): 1704067200 - Standard Unix timestamp
  • Milliseconds (13 digits): 1704067200000 - JavaScript, Java default
  • Microseconds (16 digits): 1704067200000000 - Python, PHP high precision
  • Nanoseconds (19 digits): 1704067200000000000 - Maximum precision

Common Use Cases

API Development

Debug API responses, validate timestamps in JSON payloads, and troubleshoot timezone issues in REST and GraphQL APIs.

Database Work

Convert timestamps from PostgreSQL, MySQL, MongoDB queries. Handle DATETIME, TIMESTAMP, and epoch columns.

Log Analysis

Parse server logs, analyse application performance metrics, and correlate events across distributed systems.

Testing & QA

Generate test data with specific timestamps, verify time-based logic, and test expiration mechanisms.

Programming Language Examples

JavaScript / TypeScript

// Get current timestamp in milliseconds
const timestampMs = Date.now(); // 1704067200000

// Convert timestamp to date
const date = new Date(1704067200000);
console.log(date.toISOString()); // 2024-01-01T00:00:00.000Z

// Convert date to timestamp
const timestamp = new Date('2024-01-01').getTime(); // 1704067200000

// Get timestamp in seconds
const timestampSec = Math.floor(Date.now() / 1000); // 1704067200

Python

import time
from datetime import datetime

# Get current timestamp in seconds
timestamp_sec = int(time.time())  # 1704067200

# Convert timestamp to datetime
dt = datetime.fromtimestamp(1704067200)
print(dt)  # 2024-01-01 00:00:00

# Convert datetime to timestamp
timestamp = int(datetime(2024, 1, 1).timestamp())  # 1704067200

# High precision with microseconds
timestamp_us = int(time.time() * 1000000)  # 1704067200000000

Go

package main

import (
    "fmt"
    "time"
)

func main() {
    // Get current timestamp
    now := time.Now()
    timestampSec := now.Unix()              // 1704067200
    timestampMs := now.UnixMilli()          // 1704067200000
    timestampNano := now.UnixNano()         // 1704067200000000000

    // Convert timestamp to time
    t := time.Unix(1704067200, 0)
    fmt.Println(t.Format(time.RFC3339))    // 2024-01-01T00:00:00Z
}

Working with Timezones

Unix timestamps are always in UTC. When converting to human-readable dates, timezone handling is crucial. Our converter supports local time, UTC, and major world timezones including:

  • UTC - Coordinated Universal Time (baseline)
  • America/New_York - Eastern Time (ET)
  • America/Los_Angeles - Pacific Time (PT)
  • Europe/London - British Time (GMT/BST)
  • Asia/Tokyo - Japan Standard Time (JST)
  • Australia/Sydney - Australian Eastern Time (AEDT/AEST)

Batch Processing

Our tool supports batch conversion of up to 1000 timestamps at once. Simply enter one timestamp per line, and get instant results. This is perfect for:

  • Converting timestamps from log files
  • Processing database exports
  • Analysing API response batches
  • Testing multiple timestamp scenarios

Time Calculations

Beyond simple conversion, our tool provides powerful time calculation features:

Time Difference: Calculate the exact duration between two timestamps. Perfect for measuring request latency, session duration, or event intervals.
Time Elapsed: See how much time has passed since a timestamp, or how far in the future it is. Useful for debugging expired tokens, cache TTLs, and scheduled tasks.

Common Timestamp Pitfalls

Watch Out For:

  • Wrong Unit: Mixing seconds and milliseconds (1704067200 vs 1704067200000)
  • Timezone Confusion: Assuming local time when working with UTC timestamps
  • Y2038 Problem: 32-bit signed integers overflow on 19 January 2038
  • Leap Seconds: Unix time doesn't account for leap seconds
  • DST Transitions: Daylight saving time affects local time conversions

Database Examples

PostgreSQL

-- Convert timestamp to epoch seconds
SELECT EXTRACT(EPOCH FROM TIMESTAMP '2024-01-01 00:00:00');  -- 1704067200

-- Convert epoch to timestamp
SELECT TO_TIMESTAMP(1704067200);  -- 2024-01-01 00:00:00

-- Current timestamp in milliseconds
SELECT EXTRACT(EPOCH FROM NOW()) * 1000;

MySQL

-- Convert timestamp to epoch seconds
SELECT UNIX_TIMESTAMP('2024-01-01 00:00:00');  -- 1704067200

-- Convert epoch to timestamp
SELECT FROM_UNIXTIME(1704067200);  -- 2024-01-01 00:00:00

-- Current timestamp in seconds
SELECT UNIX_TIMESTAMP();

Frequently Asked Questions

Why does Unix time start in 1970?

January 1, 1970 was chosen as the epoch (starting point) for Unix time when the Unix operating system was being developed. This date provides a convenient reference point that's early enough to cover modern computing whilst avoiding negative timestamps for recent dates.

How do I handle timestamps before 1970?

Timestamps before the Unix epoch are represented as negative numbers. For example, -86400 represents 31 December 1969. Most systems support negative timestamps, though some older systems may have issues.

What's the difference between Unix time and ISO 8601?

Unix time is a numeric representation (seconds since epoch), whilst ISO 8601 is a string format (e.g., 2024-01-01T00:00:00Z). Unix time is more efficient for calculations and storage, whilst ISO 8601 is more human-readable and explicitly includes timezone information.

How do I auto-detect the timestamp format?

Our tool auto-detects based on digit count: 10 digits = seconds, 13 = milliseconds, 16 = microseconds, 19 = nanoseconds. You can also manually select the format if auto-detection isn't accurate for your use case.

Can I convert timestamps in bulk?

Yes! Enter up to 1000 timestamps (one per line) and convert them all at once. Results can be copied to clipboard or exported as CSV for further analysis.

Start Converting Timestamps

Use our Unix timestamp converter above to instantly convert between epoch time and dates. Supports all time units, timezone handling, batch processing, and time calculations. Perfect for developers, DBAs, and anyone working with time-based data.