pretty-bytes
    TypeScript icon, indicating that this package has built-in type declarations

    5.6.0 • Public • Published

    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.

    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 bits instead of bytes. This can be useful when, for example, referring to bit rate.

    binary

    Type: boolean
    Default: false

    Format the number using the Binary Prefix instead of the SI Prefix. 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.

    • If true: Localize the output using the system/browser locale.
    • If string: Expects a BCP 47 language tag (For example: en, de, …)
    • If string[]: Expects a list of BCP 47 language tags (For example: en, de, …)

    Note: Localization should generally work in browsers. Node.js needs to be built with full-icu or system-icu. Alternatively, the full-icu module can be used to provide support at runtime. Node.js 13 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.

    const prettyBytes = require('pretty-bytes');
    
    // Show the number with at least 3 fractional digits
    prettyBytes(1900, {minimumFractionDigits: 3});
    //=> '1.900 kB'
    
    prettyBytes(1900);
    //=> '1.9 kB'
    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.

    const prettyBytes = require('pretty-bytes');
    
    // Show the number with at most 1 fractional digit
    prettyBytes(1920, {maximumFractionDigits: 1});
    //=> '1.9 kB'
    
    prettyBytes(1920);
    //=> '1.92 kB'

    Related

    Install

    npm i pretty-bytes

    DownloadsWeekly Downloads

    8,072,844

    Version

    5.6.0

    License

    MIT

    Unpacked Size

    11.5 kB

    Total Files

    5

    Last publish

    Collaborators

    • sindresorhus