node package manager

bytes

Bytes utility

NPM Version NPM Downloads Build Status

Utility to parse a string bytes (ex: 1TB) to bytes (1099511627776) and vice-versa.

Usage

var bytes = require('bytes');

bytes.format(number value, [options]): string|null

Format the given value in bytes into a string. If the value is negative, it is kept as such. If it is a float, it is rounded.

Arguments

Name Type Description
value number Value in bytes
options Object Conversion options

Options

Property Type Description
decimalPlaces number|null Maximum number of decimal places to include in output. Default value to 2.
fixedDecimals boolean|null Whether to always display the maximum number of decimal places. Default value to false
thousandsSeparator string|null Example of values: ' ', ',' and .... Default value to ' '.
unitSeparator string|null Separator to use between number and unit. Default value to ''.

Returns

Name Type Description
results string|null Return null upon error. String value otherwise.

Example

bytes(1024);
// output: '1kB' 
 
bytes(1000);
// output: '1000B' 
 
bytes(1000, {thousandsSeparator: ' '});
// output: '1 000B' 
 
bytes(1024 * 1.7, {decimalPlaces: 0});
// output: '2kB' 
 
bytes(1024, {unitSeparator: ' '});
// output: '1 kB' 
 

bytes.parse(string value): number|null

Parse the string value into an integer in bytes. If no unit is given, it is assumed the value is in bytes.

Supported units and abbreviations are as follows and are case-insensitive:

  • "b" for bytes
  • "kb" for kilobytes
  • "mb" for megabytes
  • "gb" for gigabytes
  • "tb" for terabytes

The units are in powers of two, not ten. This means 1kb = 1024b according to this parser.

Arguments

Name Type Description
value string String to parse.

Returns

Name Type Description
results number|null Return null upon error. Value in bytes otherwise.

Example

bytes('1kB');
// output: 1024 
 
bytes('1024');
// output: 1024 

Installation

npm install bytes --save
component install visionmedia/bytes.js

License

npm