{"id":40687,"library":"bytes-formatter","title":"bytes-formatter","description":"A lightweight JavaScript/TypeScript library for converting byte values into human-readable strings with units (bytes, KB, MB, GB, TB, PB). Version 21.6.15 is stable and actively maintained (no recent releases). It follows IEEE 1541 (binary prefix) standard: 1 KB = 1024 bytes. Ships TypeScript definitions. Differentiators: zero dependencies, simple API, focus on binary units (as opposed to metric in 'pretty-bytes').","status":"active","version":"21.6.15","language":"javascript","source_language":"en","source_url":"https://github.com/vpodk/bytes-formatter","tags":["javascript","bytes-formatter","byte-formatter","format-bytes","formatBytes","filesize","pretty-bytes","typescript"],"install":[{"cmd":"npm install bytes-formatter","lang":"bash","label":"npm"},{"cmd":"yarn add bytes-formatter","lang":"bash","label":"yarn"},{"cmd":"pnpm add bytes-formatter","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"The package is ESM-only; CommonJS require will fail. TypeScript types are included.","wrong":"const { formatBytes } = require('bytes-formatter')","symbol":"formatBytes","correct":"import { formatBytes } from 'bytes-formatter'"},{"note":"The library exports only a named export, not a default export.","wrong":"import formatBytes from 'bytes-formatter'","symbol":"default import","correct":"import { formatBytes } from 'bytes-formatter'"},{"note":"TypeScript users should use `import type` to avoid runtime inclusion. Only the function is exported at runtime.","wrong":"import { FormatBytesOptions } from 'bytes-formatter'","symbol":"type","correct":"import type { FormatBytesOptions } from 'bytes-formatter'"}],"quickstart":{"code":"import { formatBytes } from 'bytes-formatter';\n\nconsole.log(formatBytes(1000));        // \"1000 bytes\"\nconsole.log(formatBytes(1024));        // \"1.00 KB\"\nconsole.log(formatBytes(1000000));     // \"976.56 KB\"\nconsole.log(formatBytes(2000000));     // \"1.91 MB\"\nconsole.log(formatBytes(2000000000));  // \"1.86 GB\"","lang":"typescript","description":"Shows basic formatting of byte values to human-readable strings using the formatBytes function."},"warnings":[{"fix":"Check your expected unit system. For metric, consider 'filesize' or 'humanize-plus'.","message":"Uses binary units (1 KB = 1024 bytes). If you need metric units (1 KB = 1000 bytes), use a different library.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Ensure input is a number: formatBytes(Number(value))","message":"Input must be a number. Non-numeric values (string, null, undefined) may produce unexpected results or NaN.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"If you need custom precision, post-process the string or choose an alternative library.","message":"Output precision is fixed to two decimal places for KB and above (e.g., '1.00 KB'). No configuration for decimal places.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Pin exact version in package.json if stability is critical.","message":"Version 21.6.15 is the current version. There is no changelog; assume any minor version bump could be breaking. The package uses semantic versioning but hasn't released a major version bump.","severity":"breaking","affected_versions":">=0.0.0"}],"env_vars":null,"search_vec":"'1':42 '1024':44 '1541':38 '21.6.15':26 'activ':30 'api':53 'binari':39,56 'byte':2,10,19,45,65,68,71,75,80 'byte-formatt':70 'bytes-formatt':1,67 'convert':9 'definit':48 'depend':51 'differenti':49 'files':77 'focus':54 'follow':36 'format':74 'format-byt':73 'formatbyt':76 'formatt':3,69,72 'gb':22 'human':14 'human-read':13 'ieee':37 'javascript':66 'javascript/typescript':6 'kb':20,43 'librari':7 'lightweight':5 'maintain':31 'mb':21 'metric':61 'oppos':59 'pb':24 'prefix':40 'pretti':64,79 'pretty-byt':63,78 'readabl':15 'recent':33 'releas':34 'ship':46 'simpl':52 'stabl':28 'standard':41 'string':16 'tb':23 'typescript':47,81 'unit':18,57 'valu':11 'version':25 'zero':50","created_at":"2026-06-04T18:48:46.554564+00:00","updated_at":"2026-06-04T18:48:46.554564+00:00","problems":[{"fix":"Run `npm install bytes-formatter` and ensure import path is exactly 'bytes-formatter'.","cause":"The package is not installed or is named incorrectly in the import.","error":"Cannot find module 'bytes-formatter'"},{"fix":"Use `import { formatBytes } from 'bytes-formatter'` instead of `import formatBytes from 'bytes-formatter'`.","cause":"Trying to use default import instead of named import.","error":"Uncaught TypeError: formatBytes is not a function"},{"fix":"Switch to ES module import syntax or use a bundler that can handle ESM. Alternatively, use `await import('bytes-formatter')` if using dynamic import.","cause":"Using CommonJS `require` with an ESM-only package.","error":"require() of ES Module not supported"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://vpodk.com/bytes-formatter/","github":"https://github.com/vpodk/bytes-formatter","docs":null,"changelog":null,"pypi":null,"npm":"bytes-formatter","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-04","next_check":"2026-09-02","install_tag":null}}