npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

human-ms

v0.0.2

Published

A time converter for translating ms to human text, and vice versa.

Downloads

124

Readme

human-ms

A time converter for translating ms to human text, and vice versa.

human-ms supports the use of a/an, commas, and "and" with optional configuration for allowing other human text outside of the units.

Installation

# Install with npm
npm i human-ms

# Install with yarn
yarn add human-ms

Typings come with human-ms by default

Parsing human text to milliseconds

Here is an example of the general usage of the parseHuman function:

import { parseHuman } from "human-ms";

parseHuman("1 hour"); // 3600000
parseHuman("an hour and 30 mins"); // 5400000
parseHuman("1 hour and 30 minutes"); // 5400000
parseHuman("1h30m"); // 5400000
parseHuman("1h, 30 minutes"); // 5400000

// Read the lines below for an explanation for why this is 0
parseHuman("We are leaving in 10 minutes"); // 0

The ignoreOtherText option is true by default. When this option is true and additional human text is passed outside of the units, the function with return 0.

parseHuman("We are leaving in 30 minutes", { ignoreOtherText: false }); // 1800000
parseHuman("We are leaving in an hour", { ignoreOtherText: false }); // 3600000

Parsing milliseconds to human text

Here is an example of the general usage of the parseMS function:

import { parseMS } from "human-ms";

parseMS(3600000); // 1 hour
parseMS(5400000); // 1 hour and 30 minutes

The replaceLastCommaWithAnd option is true by default. When this option is true, the last comma (if any) will be replaced with "and".

parseMS(5400000, { replaceLastCommaWithAnd: false }); // 1 hour, 30 minutes

The short option is false by default. When this option is true, the function will return the shorthand version of the time string.

parseMS(5400000, { short: true }); // 1h30m

The joinWith option is "" when short is true, and ", " when short is false. This defines the spacing between each unit after the conversion.

parseMS(5400000, { joinWith: " " }); // 1 hour 30 minutes
parseMS(5400000, { joinWith: ":", short: true }); // 1h:30m