// Created on savesnippets.com ยท https://savesnippets.com/a9xUTcVmtQj0wv 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