githubEdit

pretty-bytes

Convert bytes to a human readable string: 13371.34 kB

Useful for displaying file sizes for humans.

Note that it uses base-10 (e.g. kilobyte). Read about the difference between kilobyte and kibibyte.arrow-up-right

Install

$ npm install pretty-bytes

Usage

const prettyBytes = require('pretty-bytes');

prettyBytes(1337);
//=> '1.34 kB'

prettyBytes(100);
//=> '100 B'

// Display with units of bits
prettyBytes(1337, {bits: true});
//=> '1.34 kbit'

// Display file size differences
prettyBytes(42, {signed: true});
//=> '+42 B'

// Localized output using German locale
prettyBytes(1337, {locale: 'de'});
//=> '1,34 kB'

API

prettyBytes(number, options?)

number

Type: number

The number to format.

options

Type: object

signed

Type: boolean Default: false

Include plus sign for positive numbers. If the difference is exactly zero a space character will be prepended instead for better alignment.

bits

Type: boolean Default: false

Format the number as bitsarrow-up-right instead of bytesarrow-up-right. This can be useful when, for example, referring to bit ratearrow-up-right.

binary

Type: boolean Default: false

Format the number using the Binary Prefixarrow-up-right instead of the SI Prefixarrow-up-right. This can be useful for presenting memory amounts. However, this should not be used for presenting file sizes.

locale

Type: boolean | string Default: false (No localization)

Important: Only the number and decimal separator are localized. The unit title is not and will not be localized.

Note: Localization should generally work in browsers. Node.js needs to be builtarrow-up-right with full-icu or system-icu. Alternatively, the full-icuarrow-up-right module can be used to provide support at runtime. Node.js 13arrow-up-right and later ships with ICU by default.

minimumFractionDigits

Type: number Default: undefined

The minimum number of fraction digits to display.

If neither minimumFractionDigits or maximumFractionDigits are set, the default behavior is to round to 3 significant digits.

maximumFractionDigits

Type: number Default: undefined

The maximum number of fraction digits to display.

If neither minimumFractionDigits or maximumFractionDigits are set, the default behavior is to round to 3 significant digits.

Last updated

Was this helpful?