# Unix Timestamp to Date Converter

> One page from jmrp.io, published as markdown. Index: https://jmrp.io/llms.txt

Canonical: https://jmrp.io/tools/timestamp-converter/
Language: en
Alternate: https://jmrp.io/es/tools/timestamp-converter/index.md
Updated: 2026-09-03
License: https://jmrp.io/license/
Category: developer
Tags: timestamp, unix, date, time, timezone, iso8601

A Unix timestamp counts seconds since 1970-01-01 UTC. Convert one to a date and back, seconds or milliseconds, in 11 time zones — all in your browser.
Build-Date: 2026-09-06

Features:
- Bidirectional timestamp and date conversion
- Auto-detect seconds vs milliseconds
- ISO 8601, [RFC 2822](https://datatracker.ietf.org/doc/html/rfc2822), and short formats
- Compare one moment across 11 timezones
- Runs locally in your browser

Questions answered:

**What is a Unix timestamp?**

A Unix timestamp is the number of seconds elapsed since the Unix Epoch (1970-01-01 00:00:00 UTC), not counting leap seconds. It is timezone-independent, which makes it ideal for storing and exchanging moments in APIs, logs, and databases.

**How do I know if my timestamp is in seconds or milliseconds?**

Count the digits: 10 digits or fewer is almost always seconds, while 13 digits (what JavaScript's Date.now() returns) is milliseconds. This tool auto-detects the unit by magnitude, but you can override it with the Seconds / Milliseconds toggle.

**Does a Unix timestamp depend on the timezone?**

No. The same Unix timestamp represents the same instant everywhere on Earth; only its human-readable rendering changes per timezone. This tool shows that single moment across 11 cities at once so you can compare local times side by side.

**What is the Year 2038 problem (Y2K38)?**

On systems that store time in a signed 32-bit integer, the timestamp 2147483647 (2038-01-19 03:14:07 UTC) is the maximum value; one second later it overflows to a negative number. The fix is to use 64-bit timestamps, which this tool handles without issue.

**Is my data sent to a server?**

No. All conversions run entirely in your browser using JavaScript's built-in Date and Intl APIs, and no timestamp data leaves your device. Shareable links only encode the timestamp in URL parameters.


---

**Interactive tool** — this page hosts the working application itself, not a description of one.

## About This Tool

Convert between Unix timestamps and human-readable date formats. The tool supports bidirectional sync, automatic detection of seconds vs milliseconds, and comparison across **11 timezones** simultaneously.

### Features

- **Bidirectional sync** — timestamp and date picker stay synchronized; editing either updates all outputs instantly
- **Auto-detect seconds / milliseconds** — automatically determines the unit based on digit count, with manual override
- **Multiple output formats** — Local time, UTC (ISO 8601), RFC 2822, short date (YYYY-MM-DD), week number, and day of year
- **Timezone comparison** — view the same moment across 11 cities (New York, Los Angeles, Chicago, London, Berlin, Tokyo, Shanghai, Kolkata, Sydney) with your local timezone highlighted
- **Live clock** — current Unix timestamp updates every second with a "Now" button to instantly capture it
- **Relative time** — human-readable "time ago / from now" display that refreshes automatically
- **Shareable links** — timestamps are encoded in the URL ( `?ts=...&unit=...`) for easy sharing
- **Copy buttons** — one-click copy on every output value

### How do I use it?

1. Enter a Unix timestamp to see date, timezone table, and all formats update
  instantly
2. Or pick a date and time — the timestamp input and all outputs sync
  automatically
3. Click **Now** to capture the current timestamp
4. Use the **Auto / Seconds / Milliseconds** toggle to control unit interpretation (Auto uses digit count heuristic: ≤10 digits → seconds, >10 digits → milliseconds)
5. Click **Share Link** to copy a URL that opens the tool with the same timestamp pre-filled

### How does auto-detection work?

When the unit selector is set to **Auto** (default), the tool determines the unit based on the input magnitude:

- **≤ 9,999,999,999** (10 digits or fewer) → interpreted as **seconds**. This covers dates up to November 2286.
- **> 9,999,999,999** (11+ digits) → interpreted as **milliseconds**. JavaScript's `Date.now()` returns 13-digit millisecond timestamps.

You can always override the auto-detection by selecting **Seconds** or **Milliseconds** manually.

### Output Formats Reference

- **Local Time** — formatted using your browser's locale and timezone (`toLocaleString()`)
- **UTC (ISO 8601)** — `2025-01-15T10:30:00.000Z`— the standard for APIs, logs, and data interchange
- **RFC 2822** — `Wed, 15 Jan 2025 11:30:00 +0100`— used in email headers and HTTP dates
- **Short Date** — `2025-01-15` — ISO 8601 date-only format
- **Week Number** — ISO 8601 week number (W01–W53), useful for sprint planning and reporting
- **Day of Year** — ordinal day (1–366) with total days in the year, useful for Julian date references

### Notable Unix Timestamps

| Timestamp | Date (UTC) | Event |
| --- | --- | --- |
| `0` | 1970-01-01 00:00:00 | Unix Epoch — the origin of Unix time |
| `1000000000` | 2001-09-09 01:46:40 | One billion seconds since epoch |
| `1234567890` | 2009-02-13 23:31:30 | Sequential digits — celebrated by developers worldwide |
| `2000000000` | 2033-05-18 03:33:20 | Two billion seconds since epoch |
| `2147483647` | 2038-01-19 03:14:07 | **Y2K38** — 32-bit signed integer overflow. Systems storing timestamps as `int32` will wrap to negative values. |
| `4294967295` | 2106-02-07 06:28:15 | 32-bit unsigned integer maximum |

### Is my data private?

All conversions happen entirely in your browser using JavaScript's built-in `Date` and `Intl` APIs. No timestamp data is transmitted to any server. The shareable link only encodes the timestamp in URL parameters.

### Linux Command Reference

Common timestamp operations from the terminal:

#### How do I get the current timestamp?

```bash
date +%s
```

**Output — Unix Timestamp (seconds)**

```text
1739361234
```

#### How do I convert a timestamp to a date?

```bash
date -d @1739361234 "+%Y-%m-%d %H:%M:%S %Z"
```

**Output — Formatted Date**

```text
2025-02-12 12:53:54 CET
```

#### How do I convert a date to a timestamp?

```bash
date -d "2025-02-12 12:53:54" +%s
```

**Output — Unix Timestamp**

```text
1739361234
```

#### How do I convert between timezones?

```bash
TZ="America/New_York" date -d @1739361234 "+%Y-%m-%d %H:%M:%S %Z"
```

**Output — New York Time**

```text
2025-02-12 06:53:54 EST
```

#### How do I get a millisecond timestamp?

```bash
date +%s%3N
```

**Output — Unix Timestamp (milliseconds)**

```text
1739361234567
```

#### How do I output ISO 8601 and RFC 2822?

```bash
date -d @1739361234 --iso-8601=seconds
date -d @1739361234 -R
```

**Output — Standard Formats**

```text
2025-02-12T12:53:54+01:00
Wed, 12 Feb 2025 12:53:54 +0100
```

