Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A JS library for adding a “human touch” to data.
Branch: master
#18 Compare This branch is 46 commits ahead, 3 commits behind milanvrekic:master.


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 numWords, then no-op

Something went wrong with that request. Please try again.