Build Status Slack Channel

Use this package to easily convert various time formats to milliseconds.


ms('2 days')  // 172800000
ms('1d')      // 86400000
ms('10h')     // 36000000
ms('2.5 hrs') // 9000000
ms('2h')      // 7200000
ms('1m')      // 60000
ms('5s')      // 5000
ms('1y')      // 31557600000
ms('100')     // 100

Convert from milliseconds

ms(60000)             // "1m"
ms(2 * 60000)         // "2m"
ms(ms('10 hours'))    // "10h"

Time format written-out

ms(60000, { long: true })             // "1 minute"
ms(2 * 60000, { long: true })         // "2 minutes"
ms(ms('10 hours'), { long: true })    // "10 hours"


  • Works both in node and in the browser.
  • If a number is supplied to ms, a string with a unit is returned.
  • If a string that contains the number is supplied, it returns it as a number (e.g.: it returns 100 for '100').
  • If you pass a string with a number and a valid unit, the number of equivalent ms is returned.

Caught a bug?

  1. Fork this repository to your own GitHub account and then clone it to your local device
  2. Link the package to the global module directory: npm link
  3. Within the module you want to test your local development instance of ms, just link it to the dependencies: npm link ms. Instead of the default one from npm, node will now use your clone of ms!

As always, you can run the tests using: npm test