@chbphone55/pretty-bytes
Format sizes from bytes to human readable strings
Convert bytes to human readable strings 1032192 → ['1,008', 'KiB', 'kibibytes']
Note that this package uses base-2 (e.g. kibibyte) so every 1024 bytes is 1 KiB and every 1024 KiB is 1 MiB. Read about the difference between kilobyte and kibibyte.
Usage
Install
To install the package, use a package manager to access the NPM registry.
pnpm install @chbphone55/pretty-bytes
# or
yarn add @chbphone55/pretty-bytes
Import
The function is exported as format
.
import { format } from '@chbphone55/pretty-bytes';
// or
const { format } = require('@chbphone55/pretty-bytes');
Example
To use format
, pass it the size of your file in bytes. Optionally, you can pass in a locale as the second argument. The locale defaults to en
.
format(0);
// => ['0', 'B', 'bytes']
format(-1);
// => ['-1', 'B', 'bytes']
format(1024);
// => ['1', 'KiB', 'kibibytes']
format(2621440);
// => ['2.5', 'MiB', 'mebibytes']
format(1041332);
// => ['1,016.926', 'KiB', 'kibibytes'];
format(1041332, 'es');
// => ['1.016,926', 'KiB', 'kibibytes']
// You can also use `navigator.language`
format(1041332, navigator.language);
API
format(
// The number to format
size: number,
// The locale to use with `.toLocaleString()`
locale?: string = 'en'
): [string, Units.short, Units.long]
namespace Units {
type short = 'B' | 'KiB' | 'MiB' | 'GiB' | 'TiB' | 'PiB' | 'EiB' | 'ZiB' | 'YiB';
type long = 'bytes' | 'kibibytes' | 'mebibytes' | 'gibibytes' | 'tebibytes' | 'pebibytes' | 'exbibytes' | 'zebibytes' | 'yobibytes';
}
License
MIT © 2019 Christopher H. Brown