function formatBytes(bytes, decimals = 2, binary = true) {
if (bytes === 0) return '0 B';
const base = binary ? 1024 : 1000;
const units = binary
? ['B', 'KiB', 'MiB', 'GiB', 'TiB']
: ['B', 'KB', 'MB', 'GB', 'TB'];
const i = Math.floor(Math.log(bytes) / Math.log(base));
return `${parseFloat((bytes / base ** i).toFixed(decimals))} ${units[i]}`;
}
// Usage
console.log(formatBytes(0)); // 0 B
console.log(formatBytes(1024)); // 1 KiB
console.log(formatBytes(1_500_000)); // 1.43 MiB
console.log(formatBytes(1_500_000, 2, false)); // 1.5 MB
Create a free account and build your private vault. Share publicly whenever you want.