What is byte-size?
The byte-size npm package is a utility for converting bytes into human-readable format. It helps in formatting byte values into strings with appropriate units (e.g., KB, MB, GB) and provides options for customization.
What are byte-size's main functionalities?
Basic Conversion
This feature allows you to convert a byte value into a human-readable format. In this example, 1024 bytes are converted to 1 KB.
const byteSize = require('byte-size');
const result = byteSize(1024);
console.log(result); // { value: 1, unit: 'KB', long: '1 kilobyte' }
Custom Units
This feature allows you to specify custom units for the conversion. In this example, 1500 bytes are converted to 1.46 KiB using IEC units.
const byteSize = require('byte-size');
const result = byteSize(1500, { units: 'iec' });
console.log(result); // { value: 1.46, unit: 'KiB', long: '1.46 kibibytes' }
Decimal Places
This feature allows you to set the number of decimal places for the conversion. In this example, 123456789 bytes are converted to 117.74 MB with 2 decimal places.
const byteSize = require('byte-size');
const result = byteSize(123456789, { precision: 2 });
console.log(result); // { value: 117.74, unit: 'MB', long: '117.74 megabytes' }
Other packages similar to byte-size
filesize
The filesize package is another utility for converting bytes into human-readable strings. It offers more customization options compared to byte-size, such as different rounding methods and support for various notations (e.g., binary, decimal).
pretty-bytes
The pretty-bytes package is a lightweight utility for converting bytes to a human-readable string. It is simpler and more straightforward than byte-size, focusing on ease of use and minimal configuration.
bytes
The bytes package provides utilities for parsing and formatting byte values. It is more versatile than byte-size, offering both conversion to human-readable strings and parsing from strings back to byte values.
byte-size
An isomorphic, load-anywhere function to convert a bytes or octets value (e.g. 34565346
) to a human-readable string (34.6 MB
). Choose between metric or IEC units, summarised below.
Value | Metric |
---|
1000 | kB kilobyte |
1000^2 | MB megabyte |
1000^3 | GB gigabyte |
1000^4 | TB terabyte |
1000^5 | PB petabyte |
1000^6 | EB exabyte |
1000^7 | ZB zettabyte |
1000^8 | YB yottabyte |
Value | IEC |
---|
1024 | KiB kibibyte |
1024^2 | MiB mebibyte |
1024^3 | GiB gibibyte |
1024^4 | TiB tebibyte |
1024^5 | PiB pebibyte |
1024^6 | EiB exbibyte |
1024^7 | ZiB zebibyte |
1024^8 | YiB yobibyte |
Value | Metric (octet) |
---|
1000 | ko kilooctet |
1000^2 | Mo megaoctet |
1000^3 | Go gigaoctet |
1000^4 | To teraoctet |
1000^5 | Po petaoctet |
1000^6 | Eo exaoctet |
1000^7 | Zo zettaoctet |
1000^8 | Yo yottaoctet |
Value | IEC (octet) |
---|
1024 | Kio kilooctet |
1024^2 | Mio mebioctet |
1024^3 | Gio gibioctet |
1024^4 | Tio tebioctet |
1024^5 | Pio pebioctet |
1024^6 | Eio exbioctet |
1024^7 | Zio zebioctet |
1024^8 | Yio yobioctet |
Example
const byteSize = require('byte-size')
byteSize(bytes, [options]) ⇒ Object
⏏
Kind: Exported function
Param | Type | Default | Description |
---|
bytes | number | | the bytes value to convert. |
[options] | object | | optional config. |
[options.precision] | number | 1 | number of decimal places. |
[options.units] | string | "metric" | select 'metric' , 'iec' , 'metric_octet' or 'iec_octet' units. |
Example
> const byteSize = require('byte-size')
> byteSize(1580)
{ value: '1.6', unit: 'kB' }
> byteSize(1580, { units: 'iec' })
{ value: '1.5', unit: 'KiB' }
> byteSize(1580, { units: 'iec', precision: 3 })
{ value: '1.543', unit: 'KiB' }
> byteSize(1580, { units: 'iec', precision: 0 })
{ value: '2', unit: 'KiB' }
> byteSize(1580, { units: 'metric_octet' })
{ value: '1.6', unit: 'ko' }
> byteSize(1580, { units: 'iec_octet' })
{ value: '1.5', unit: 'Kio' }
> byteSize(1580, { units: 'iec_octet' }).toString()
'1.5 Kio'
> const { value, unit } = byteSize(1580, { units: 'iec_octet' })
> `${value} ${unit}`
'1.5 Kio'
Load anywhere
This library is compatible with Node.js, the Web and any style of module loader. It can be loaded anywhere, natively without transpilation.
Node.js:
const byteSize = require('byte-size')
Within Node.js with ECMAScript Module support enabled:
import byteSize from 'byte-size'
Within a modern browser ECMAScript Module:
import byteSize from './node_modules/byte-size/index.mjs'
Old browser (adds window.byteSize
):
<script nomodule src="./node_modules/byte-size/dist/index.js"></script>
© 2014-19 Lloyd Brookes <75pound@gmail.com>. Documented by jsdoc-to-markdown.