Zero Signup ToolsFree browser tools

Date & Time Tools

Time Ago Formatter

Convert any date to a human relative time like 5 minutes ago, in 2 hours, yesterday, or last month. Locale, style, and numeric mode included.

Accepts ISO 8601, RFC 2822, plain Unix timestamps (seconds or ms), and the keyword now.

Quick presets, relative to the reference

The reference defines "now". Pinning a moment makes the result stable across reloads and easy to share.

Style

Numeric

Relative result

5 minutes ago

Best unit: minute|Value: -5|Direction: past

Every unit, formatted

Browse how the relative time reads at every unit of the ladder. Useful when you want a coarser ("1 year ago") or finer ("372 days ago") view than the auto-picked unit.

year

this year

Value 0, approximately 365.25 days.

quarter

this quarter

Value 0, approximately 91.3 days.

month

this month

Value 0, approximately 30.44 days.

week

this week

Value 0, exactly 7 days.

day

today

Value 0, exactly 24 hours.

hour

this hour

Value 0, exactly 60 minutes.

minute

5 minutes ago

Value -5, exactly 60 seconds.

second

300 seconds ago

Value -300, exactly 1 second.

Numeric breakdown

Signed values are negative for past targets and positive for future ones. The seconds row is exact; larger units use calendar averages.

UnitFloor (used for "ago")Exact (fractional)
year0-0.000
quarter0-0.000
month0-0.000
week0-0.000
day0-0.003
hour0-0.084
minute-5-5.013
second-300-301

Diff in milliseconds: -300767

Absolute timestamps

Target

  • ISO 8601: 2026-06-08T12:13:21.000Z
  • RFC 2822 (UTC): Mon, 08 Jun 2026 12:13:21 GMT
  • Local long: Monday, June 8, 2026 at 12:13:21 PM UTC
  • Local short: Jun 8, 2026, 12:13 PM
  • Unix (seconds): 1780920801

Reference (live)

  • ISO 8601: 2026-06-08T12:18:21.767Z
  • Local short: Jun 8, 2026, 12:18:21 PM

Live reference updates every second. Pin a custom moment above to freeze it.

Summary copy includes every field above for sharing.

About the Intl.RelativeTimeFormat API

The result above is generated by your browser's built-in Intl.RelativeTimeFormat, the same API powering relative-time strings in modern web apps. It selects the right plural form for the chosen locale, swaps "ago" and "in" based on sign, and respects per-locale conventions (for example, Japanese omits the leading number on "yesterday"). Auto numeric mode allows words like "yesterday" and "tomorrow" when the unit is exactly one day away; always numeric mode forces a number for every value.

For granular control, switch the unit ladder to see the same diff rendered as years, months, weeks, days, hours, minutes, or seconds. The numeric breakdown table shows both the floored value used for relative formatting and the exact fractional unit, so you can verify why a diff of 49 hours reports as "2 days ago" rather than "yesterday".

How to use

  1. Type a target date into the Target date field. ISO 8601, RFC 2822, the keyword now, and Unix timestamps (seconds or milliseconds) all work. Use the quick presets to jump to common offsets like 5 minutes ago or in 1 year.
  2. Choose a locale. Pick from the list or check Use a custom BCP-47 tag to type one yourself (for example fr-CA or zh-Hant-HK).
  3. Pick a style and numeric mode. Long for 3 months ago, short for 3 mo. ago, narrow for 3mo. Auto numeric allows words like yesterday and tomorrow; always numeric forces a number.
  4. Leave the reference set to Live now for a result that ticks every second, or pin a custom moment to freeze the result for screenshots and tests.
  5. Read the relative result at the top, browse the unit ladder to see the same diff at every Intl unit, and use the copy buttons to grab the result string or the full summary.

About this tool

Time Ago Formatter renders any timestamp as the kind of relative time string you see in feeds, comment threads, and dashboards: 5 minutes ago, in 2 hours, yesterday, last month, in 3 years. The result is produced by your browser's built-in Intl.RelativeTimeFormat, so it follows the plural rules, abbreviation conventions, and word order of the chosen locale: English emits 3 months ago, Spanish emits hace 3 meses, Japanese emits 3 か月前 and omits the leading number for yesterday and tomorrow, Arabic switches direction, and so on. Pick from a curated BCP-47 locale list (English, Spanish, French, German, Italian, Portuguese, Dutch, Polish, Russian, Turkish, Arabic, Hebrew, Hindi, Japanese, Korean, Simplified Chinese, Traditional Chinese, and more) or type a custom tag like fr-CA, ar-EG, or zh-Hant-HK. Three styles are supported: long (3 months ago), short (3 mo. ago), and narrow (3mo) so the same value can fit a generous body paragraph or a dense table cell. Numeric mode toggles between auto (which prefers words like yesterday, today, tomorrow when they apply) and always (which keeps everything numeric for tighter machine-parseable output). The reference moment, what the result is compared against, defaults to a live now that ticks every second; pin it to a specific timestamp to freeze the output for screenshots, tests, or reproducible documentation. Target dates accept ISO 8601 (2024-09-15T12:00:00Z), RFC 2822, the literal keyword now, and raw Unix timestamps in seconds or milliseconds; the parser detects whether a plain integer is seconds or milliseconds by digit count. The page also doubles as a date inspector: every result shows the absolute target in ISO, RFC 2822, locale-aware long, and locale-aware short forms alongside the Unix seconds value. A unit ladder renders the same diff at every Intl.RelativeTimeFormat unit (year, quarter, month, week, day, hour, minute, second) so you can switch to a coarser or finer view than the auto-picked one, and a numeric breakdown table shows both the floored value used for relative formatting and the exact fractional value so you can see exactly why a 49 hour gap reports as 2 days ago rather than yesterday. All math is local and your input never leaves the browser.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDate & Time Tools