Converter bytes em KB, MB ou GB em JavaScript
Neste artigo você verá como converter bytes em KB, MB ou GB em JavaScript, vamos criar uma função que dará conta do trabalho

Fala programador(a), beleza? Bora aprender sobre conversão de tipos em JavaScript!
Provavelmente você está recebendo um valor em bytes e quer converter nestas outras unidades
Isso serve para representação mais simples, ajudando pessoas mais leigas ou técnicas a entender mais fácil o tamanho de um arquivo
Um snippet foi criado pela comunidade do StackOverFlow, que descomplica isso a níveis extremos
Veja o código na íntegra:
function formatBytes(bytes, decimals = 2) {
if (bytes === 0) return '0 Bytes';
const k = 1024;
const dm = decimals < 0 ? 0 : decimals;
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
const i = Math.floor(Math.log(bytes) / Math.log(k));
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
}
const size = 3843247924
const convertedSize = formatBytes(size)
console.log(convertedSize) // 3.58 GB
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Veja que temos a função formatBytes, ela recebe um número e o formata de acordo com o tamanho dele
Temos a variável size que apresenta os tamanhos disponíveis em array
E no return temos o cálculo de qual unidade o tamanho passado pertence
Convertemos o número para o tamanho final e acessamos o array para exibir a unidade de medida
Conclusão
No artigo de hoje você viu como converter bytes em KB e também outra unidades
Utilizamos uma função que identifica o número passado e entrega a melhor unidade de medida possível
E então temos a representação do número e a sua unidade convertida (‘KB’, ‘MB’, ‘GB’, ‘TB’, ‘PB’, ‘EB’, ‘ZB’, ‘YB’)
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias! Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias. O link acima contém um cupom de desconto para os cursos
Fala aí, imagina que caiu na sua mão um valor cru tipo 17637285 e você só quer saber quantos MB é isso em JavaScript
É só jogar o número dentro da função formatBytes e ela resolve pra você
[bloco de código] const size = 17637285
console.log(formatBytes(size)) // 16.82 MB
Repara que você não precisa fazer conta na mão
A função pega o número em bytes, descobre sozinha em qual unidade ele se encaixa melhor e já devolve com a medida certinha do lado
Muda o valor de size pelo seu e roda de novo, o resultado sai na hora
Talvez você queira entender o PORQUÊ, não só copiar a função
A lógica é toda em cima de 1024, que é a base binária usada pra medir tamanho de arquivo
Cada degrau de unidade é o anterior multiplicado por 1024
1 KB = 1024 bytes 1 MB = 1024 KB 1 GB = 1024 MB
Então pra ir de bytes pra KB você divide por 1024
Pra ir de bytes direto pra MB você divide por 1024 duas vezes (ou por 1024 * 1024)
Pra GB, três vezes
É exatamente isso que aquele Math.pow(k, i) tá fazendo lá dentro da função, ele só automatiza a divisão pelo número certo de degraus
Se você conhece regra de três, é bem parecido, só que a base aqui é 1024 e não 1000
Como converter bytes para MB em JavaScript?
Você divide o valor em bytes por 1024 duas vezes, uma pra chegar em KB e outra pra chegar em MB
Na prática dá pra deixar a função formatBytes fazer isso sozinha, é só passar o número em bytes que ela devolve já na unidade certa
Quantos bytes tem 1 MB?
Na base binária, 1 MB é 1024 KB, e cada KB é 1024 bytes
Ou seja, 1 MB = 1024 * 1024 bytes
Por que usar 1024 e não 1000 na conversão?
Porque tamanho de arquivo costuma ser medido em base binária (potências de 2), e 1024 é 2 elevado a 10
Algumas ferramentas usam 1000 pra deixar a conta ‘redonda’ pro usuário comum, mas o padrão que a função usa aqui é 1024
Como converter bytes para KB, MB ou GB de uma vez só?
É pra isso que a função serve, ela mesma identifica em qual unidade o número se encaixa melhor e já entrega formatado, você não escolhe a unidade na mão
Leia também
Formações
Formação SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares
As diferenças de var, let e const
Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]
ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]
