RFC-3339 Date Converter

Convert between RFC-3339 timestamp strings and other formats

Ad placeholder (leaderboard)

RFC-3339 is the timestamp format you meet most often in modern APIs: it is the strict, unambiguous profile of ISO-8601 that JSON, logging systems and many Internet protocols standardise on. A compliant value such as 2023-11-14T22:13:20Z always carries a full date, a full time, and an explicit timezone. This converter validates RFC-3339 strings and translates them to Unix time and back, locally in your browser.

How it works

The tool first checks the string against an RFC-3339 grammar that requires every mandatory part:

date-fullyear "-" date-month "-" date-mday "T"/" " hh ":" mm ":" ss [".".frac] (Z | ±hh:mm)

If the structure is valid, it hands the value to Date.parse to compute the absolute instant in milliseconds, then derives:

const ms = Date.parse(input);
const seconds = Math.floor(ms / 1000);
const iso = new Date(ms).toISOString(); // canonical UTC

To build a compliant RFC-3339 string from any date, the tool parses your input and re-emits it as a UTC ...Z timestamp via toISOString(), which is itself valid RFC-3339.

Example

Decoding 2023-11-14T22:13:20Z gives:

  • Epoch seconds: 1700000000
  • Epoch milliseconds: 1700000000000
  • Canonical UTC: 2023-11-14T22:13:20.000Z

The offset form 2023-11-14T17:13:20-05:00 describes the same instant — local time five hours behind UTC — and converts to the identical epoch value.

Tips and notes

  • RFC-3339 always requires a timezone; a string without one is rejected here as non-compliant.
  • Z and +00:00 are equivalent and both mean UTC.
  • For interoperability, emit UTC (Z) timestamps; reserve numeric offsets for when local wall-clock context genuinely matters.
Ad placeholder (rectangle)