# EvanHahn/HumanizeDuration.js

361000 becomes "6 minutes, 1 second"

Repository: https://github.com/EvanHahn/HumanizeDuration.js
Canonical: https://ross.abutalabs.com/products/humanizedurationjs
Homepage: https://evanhahn.github.io/HumanizeDuration.js/
Language: JavaScript
License: Unlicense
License Family: permissive
Topics: humanizeduration, duration, time
Last push: 2026-08-20T01:09:59+00:00

## Health v2 (maintenance only)
Score: 76/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 35, longevity 100
- inputs: {"age_days": 4800, "days_push": 14, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1732, forks 177 (observed 2026-08-28T04:05:28.829993+00:00)

## What it is
A small JavaScript library that converts millisecond durations into human-readable strings like '1 day, 3 hours, 2 minutes'. It supports dozens of languages, configurable units, and works in Node and the browser.

## Use cases
- format milliseconds as human-readable duration
- display elapsed time like '3 seconds' or '2 hours, 5 minutes'
- show localized duration strings in multiple languages
- convert a duration to a specific set of units like hours and minutes
- render countdown or timer durations in a UI

## When to choose
- you need human-readable duration text in JavaScript with broad language support
- you want a tiny dependency-free library usable in Node or the browser
- you need fine control over which units appear and decimal precision

## When to avoid
- you can use the built-in Intl.DurationFormat API instead
- you need to parse duration strings back into milliseconds
- you need date arithmetic or calendar-aware time handling rather than plain durations

## Facets
- artifact type: library
- maturity: maintenance
- function: internationalization, date-time
- domain: developer-tools, web-development
- platform: browser, cross-platform
- tags: duration-formatting, human-readable, javascript, npm-package, localization, nodejs

## Member repositories
- EvanHahn/HumanizeDuration.js (main) score 76

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:28.829993+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:31:29.629686+00:00, confidence not recorded.
  - readme: https://github.com/EvanHahn/HumanizeDuration.js (fetched 2026-08-28T04:05:28.829993+00:00, sha 56810878ab57)
  - homepage: https://evanhahn.github.io/HumanizeDuration.js/ (fetched 2026-08-29T11:08:33.042416+00:00, sha 1f1ac1208a16)
- Data as of 2026-08-30T08:39:29.467469+00:00.
