PRPickrack

Timestamp Converter

Unix timestamp ↔ ISO 8601 ↔ human-readable date. Timezone-aware, live, browser-side.

Current Unix time:1778841864

Timestamp → Date

ISO 8601 (UTC)

2026-05-15T10:44:24.000Z

UTC

2026-05-15 10:44:24

UTC long

Fri, 15 May 2026 10:44:24 GMT

Relative

0s ago

Date → Timestamp

Unix seconds

1778841864

Unix milliseconds

1778841864000

ISO 8601 (UTC)

2026-05-15T10:44:24.000Z

Convert between Unix timestamp (seconds or milliseconds), ISO 8601, and human-readable dates across timezones.

Timestamp Converter is for the very common developer chore: a log file shows 1715774400, you need to know what real-world date that is, in your timezone. Or you're constructing an API request that needs an ISO 8601 timestamp for a specific moment. Or comparing two timestamps to see how far apart they are.

Pickrack's Timestamp Converter does both directions in one view: Unix timestamp → date (in any timezone), and date → Unix timestamp (interpreting the input as wall-clock in a chosen timezone). Both panels update live. Live current Unix time is shown at the top with a 'use now' button. All formats are one-click copyable.

Free, no signup, browser-side. Uses the standard Intl.DateTimeFormat API for accurate timezone handling — including daylight saving transitions and historical DST rules.

Key features

  • Bidirectional conversionTimestamp → date on the left, date → timestamp on the right. Both panels live, no submit button.
  • Seconds or millisecondsToggle the unit. Most Unix timestamps are seconds; JavaScript Date.now() is milliseconds. The tool handles both.
  • 14 common timezonesUTC, major US zones (NY, LA, Chicago), major European zones (London, Paris, Berlin), major Asian zones (Tokyo, Shanghai, Singapore, Ho Chi Minh, Seoul, Dubai), and Sydney. More can be added on request.
  • Multiple output formatsISO 8601 (UTC), timezone-formatted (YYYY-MM-DD HH:mm:ss), UTC long string, and relative ('5 minutes ago', '3 days from now').
  • Current time buttonClick 'Use now' to populate both panels with the current Unix time and current local datetime, ready for tweaking.

How to use

  1. Step 1 (Timestamp → Date): Paste the timestampEnter the timestamp number. Toggle seconds/ms based on the source — Unix timestamps are usually 10 digits (seconds), JavaScript timestamps are 13 digits (ms).
  2. Step 2: Pick a timezoneSelect the timezone you want to interpret the timestamp in. The right panel timezone selector applies to both panels.
  3. Step 3 (Date → Timestamp): Enter the dateUse the datetime-local picker on the right. The wall-clock time you enter is interpreted in the selected timezone.
  4. Step 4: Copy any formatEach output row has a copy button. Click to put that exact format on your clipboard.

When to use

  • Log file investigation — paste a timestamp from a log line, see when the event happened in your timezone
  • API request construction — pick a date, copy as ISO 8601 for a JSON request body
  • Cron schedule planning — figure out what UTC time corresponds to '9am Vietnam time' for a daily cron
  • Database date conversion — paste an integer column value, see what date it represents
  • Timezone math — see what '3pm PT' is in '+7 Hanoi' to schedule a meeting
  • Bug triage — given two timestamps from logs, see relative duration ('event B was 3.2 hours after event A')

Frequently asked questions

Why is my date input interpreted in a specific timezone?

A datetime like '2026-05-15 09:00' is ambiguous on its own — 9am where? The tool interprets it as 9am in the timezone you selected, then converts to the Unix instant. To enter UTC directly, pick 'UTC' as the timezone.

What's the difference between Unix seconds and milliseconds?

Unix seconds: integer count of seconds since 1970-01-01 UTC. 10 digits for current era (1.5 billion-ish). JavaScript timestamps are milliseconds: 13 digits. Many languages default to one or the other — Python, Go, Rust use seconds; JavaScript, Java, .NET use milliseconds. Always check which your source uses.

Does it handle daylight saving correctly?

Yes — uses Intl.DateTimeFormat which respects the IANA timezone database including DST rules and historical changes. Convert a timestamp from before/after the spring-forward, you'll see the right wall-clock time.

Why doesn't it support negative timestamps (dates before 1970)?

The tool accepts negative numbers and converts them correctly (e.g., -86400 = 1969-12-31). JavaScript's Date handles dates back to year ~271,821 BCE — plenty of range for any realistic use case.

Can I convert between two timezones directly?

Indirectly: enter a date in Timezone A on the right (it computes the Unix timestamp). Copy that timestamp into the left panel, select Timezone B as the display timezone — you'll see the same instant in Timezone B.

What about Y2038 (the Unix epoch overflow)?

32-bit signed Unix timestamps overflow on 2038-01-19. The tool uses JavaScript Numbers (53-bit safe integer range), so it handles dates well beyond 2038 correctly. The Y2038 bug only affects systems still using 32-bit time_t.

Does it work offline?

Yes — pure JavaScript using built-in browser APIs (Date, Intl). After the page loads once, no network calls.

Related tools