Skip to content
A JS library for adding a “human touch” to data.
Pull request Compare This branch is 16 commits behind taijinlee:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Javascript data formatter for human readability.

Idea, name, and initial code blatently stolen from milanvrekic/JS-humanize

Can be loaded via AMD or in node directly.


npm install humanize


var humanize = require('humanize');'Y-m-d'); // 'yyyy-mm-dd'
humanize.filesize(1234567890); // '1.15 Gb'

Functions available:


Give control of the "humanize" variable back to its previous owner. Returns a reference to the humanize object.


Retrieves the current time in seconds [, timestamp / JS Date Object = new Date()])

This is a port of php.js date and behaves exactly like PHP's date

humanize.numberFormat(number [, decimals = 2, decPoint = '.', thousandsSep = ','])

Format a number to have decimal significant decimal places, using decPoint as the decimal separator, and thousandsSep as thousands separater

humanize.naturalDay(timestamp [, format = 'Y-m-d'])

Returns 'today', 'tomorrow' or 'yesterday', as appropriate, otherwise format the date using the passed format with


Returns a relative time to the current time, seconds as the most granular up to years to the least granular.


Converts a number into its ordinal representation.

humanize.filesize(filesize [, kilo = 1024, decimals = 2, decPoint = '.', thousandsSep = ','])

Converts a byte count to a human readable value using kilo as the basis, and numberFormat formatting


Converts a string's newlines into properly formatted html ie. one new line -> br, two new lines -> p, entire thing wrapped in p


Converts a string's newlines into br's

humanize.truncatechars(string, length)

Truncates a string to length-1 and appends '…'. If string is shorter than length, then no-op

humanize.truncatewords(string, numWords)

Truncates a string to only include the first numWords words and appends '…'. If string has fewer words than newWords, then no-op

Something went wrong with that request. Please try again.