Como converter bytes, KB, MB, GB, TB (e PB)
Entenda binário vs decimal, converta entre unidades de bytes e evite armadilhas comuns.
Por que existem dois "MB" diferentes?
Compre um disco rígido de 1 TB, conecte e seu sistema operacional reporta 931 GB. O disco está "faltando" 69 GB. Isso não é bug, golpe ou erro de formatação. É a confusão binário vs decimal embutida em como nomeamos armazenamento.
A questão central: você multiplica por 1.000 (decimal, o padrão SI) ou por 1.024 (binário, o que os computadores realmente fazem internamente)?
- 1 KB = 1.000 bytes (decimal, o que os fabricantes de disco usam, o que o SI dita)
- 1 KiB = 1.024 bytes (binário, o que o Windows costumava chamar de "KB", em que a RAM é medida)
Para remover a ambiguidade, a IEC introduziu novos prefixos binários em 1998: KiB (kibibyte, 2^10), MiB (mebibyte, 2^20), GiB (gibibyte, 2^30), TiB (tebibyte, 2^40), PiB (pebibyte, 2^50). Na prática, os rótulos antigos persistem em todos os lugares exceto em documentação técnica, e a maioria dos sistemas operacionais é inconsistente: macOS usa decimal para armazenamento, Windows usa uma mistura, distribuições Linux variam.
Este guia explica a matemática, as convenções e três formas confiáveis de converter.
As fórmulas exatas
Decimal (SI, usado por fabricantes de discos, velocidades de rede)
``` 1 KB = 1.000 B = 10^3 B 1 MB = 1.000 KB = 1.000.000 B = 10^6 B 1 GB = 1.000 MB = 1.000.000.000 B = 10^9 B 1 TB = 1.000 GB = 1.000.000.000.000 B = 10^12 B 1 PB = 1.000 TB = 10^15 B ```
Binário (IEC, usado por RAM, formatos de arquivo, alguns SOs)
``` 1 KiB = 1.024 B = 2^10 B 1 MiB = 1.024 KiB = 1.048.576 B = 2^20 B 1 GiB = 1.024 MiB = 1.073.741.824 B = 2^30 B 1 TiB = 1.024 GiB = 1.099.511.627.776 B = 2^40 B 1 PiB = 1.024 TiB = 2^50 B ```
A razão entre decimal e binário cresce rapidamente: um disco "1 TB" de marketing é 1.000.000.000.000 bytes, mas seu SO pode mostrar 931 GiB de espaço utilizável após formatação e overhead. A lacuna se amplia com o tamanho — um disco "1 PB" é aproximadamente 0,89 PiB.
Tabela de referência rápida
| Bytes | Decimal (SI) | Binário (IEC) | |---------:|----------------------|--------------------------| | 1.000 | 1 KB | 0,977 KiB | | 1.024 | 1,024 KB | 1 KiB | | 1.000.000| 1 MB | 0,954 MiB | | 1.048.576| 1,049 MB | 1 MiB | | 10^9 | 1 GB | 0,931 GiB | | 2^30 | 1,074 GB | 1 GiB | | 10^12 | 1 TB | 0,909 TiB | | 2^40 | 1,100 TB | 1 TiB | | 10^15 | 1 PB | 0,888 PiB |
Método 1: Use o conversor de armazenamento de dados do UtilBoxx (Recomendado)
A maneira mais rápida e segura de converter entre B, KB, MB, GB, TB e PB é o Conversor de Armazenamento do UtilBoxx. Suporta tanto o modo decimal quanto o binário, permite escolher a precisão e roda inteiramente no seu navegador: sem upload, sem cadastro, sem registro dos seus arquivos.
Como usar:
- Acesse utilboxx.com/pt/tools/unit/data
- Digite um valor em qualquer campo (B, KB, MB, GB, TB ou PB)
- Escolha o modo decimal (SI) ou binário (IEC)
- Todos os outros campos se atualizam instantaneamente
- Copie o resultado
Por que recomendamos este método:
- 100% grátis, sem cadastro, sem e-mail, sem anúncios
- Privacidade em primeiro lugar: nada sai do seu navegador
- Modos decimal e binário com um único alternador
- Conversão bidirecional entre as seis unidades
- Alta precisão — sem surpresas de arredondamento de ponto flutuante
- Funciona em qualquer dispositivo com navegador
Se você cita tamanhos de arquivo, capacidades de disco ou quantidades de RAM com frequência, esta ferramenta vai evitar que você cometa o mesmo erro de 1024 vs 1000 repetidamente.
Método 2: macOS Finder (e outros gerenciadores de arquivos do SO)
Se você só precisa saber a contagem exata de bytes de um arquivo específico, o gerenciador de arquivos do seu sistema operacional dá a resposta decimal com precisão total.
No macOS Finder:
- Clique com o botão direito em qualquer arquivo e escolha Obter informações (ou pressione Cmd+I)
- O tamanho é mostrado em unidades decimais: KB, MB, GB
- Clique no campo de tamanho para alternar entre bytes, KB, MB e GB
- A contagem exata de bytes está entre parênteses
No Windows Explorador de Arquivos:
- Clique com o botão direito em um arquivo e escolha Propriedades
- O tamanho é mostrado em KB, MB ou GB (Windows usa uma mistura de binário e decimal dependendo da versão)
- Para bytes exatos, divida KB por 1.024 apenas se o Windows reporta KB binário; Windows 10/11 moderno na verdade reporta em binário para alguns diálogos e decimal para outros
No Linux:
- `ls -l file` mostra os bytes exatos
- `ls -lh file` mostra o tamanho legível por humanos (a maioria das distros usa binário por padrão; algumas usam decimal — cheque seu `alias ls`)
Este método é ótimo quando você quer saber o tamanho de um arquivo ou pasta específico, mas não ajuda com conversão em lote ou matemática entre unidades.
Método 3: Python (ou qualquer linguagem)
Para conversão programática, poucas linhas de Python cobrem todas as seis unidades. O método `bit_length()` dá o número de bits necessários para representar um inteiro — útil ao dimensionar buffers.
```python # Conversão decimal (SI) def to_bytes(value, unit): units = {"B": 1, "KB": 1e3, "MB": 1e6, "GB": 1e9, "TB": 1e12, "PB": 1e15} return value * units[unit]
# Conversão binária (IEC) def to_bytes_binary(value, unit): units = {"B": 1, "KiB": 210, "MiB": 220, "GiB": 230, "TiB": 240, "PiB": 2*50} return value units[unit]
# bit_length de um inteiro n = 123456789 print(n.bit_length()) # 27 bits ```
Para one-liners no REPL do Python:
```python # Converter 1 GiB para bytes 1024 1024 1024 # 1073741824
# Converter 1 TB para GiB 1_000_000_000_000 / (2**30) # 931.3225746154785
# Converter 5 PB para TiB 5 1e15 / (2*40) # 4547.473508864641 ```
Em JavaScript, a mesma ideia:
```js const GiB = 1024 ** 3; const TB_in_bytes = 1e12; console.log((TB_in_bytes / GiB).toFixed(3)); // 931.323 ```
Método 4: CLI no macOS/Linux
A maioria dos shells tem matemática embutida, e o macOS vem com uma calculadora que lida com números grandes:
```bash # No bash, usando awk awk 'BEGIN { printf "1 TB in GiB = %.3f\n", 1e12 / (2^30) }' # 1 TB in GiB = 931.323
awk 'BEGIN { printf "1 GiB in bytes = %d\n", 2^30 }' # 1 GiB in bytes = 1073741824
# Apenas macOS: use units units "1 TB" "GiB" # 931.32257
# Apenas Linux: numfmt é parte do coreutils numfmt --to=iec --suffix=B 1000000000000 # 931G numfmt --to=si --suffix=B 1073741824 # 1.1G ```
A ferramenta `numfmt` é particularmente útil em scripts shell: aceita números com unidades opcionais e os reformata, suporta ambos os modos decimal (--si) e binário (--iec), e lida com números negativos corretamente.
Perguntas frequentes
Por que meu disco "1 TB" mostra 931 GB?
Fabricantes de disco usam decimal: 1 TB = 1.000.000.000.000 bytes. Sistemas operacionais frequentemente mostram isso em binário, que chamam de GB mas na verdade significa GiB. 1.000.000.000.000 bytes ÷ 1.073.741.824 bytes por GiB = 931,32 GiB. O espaço "ausente" é a diferença entre decimal e binário, mais overhead de formatação, tabelas de partição e metadados do sistema de arquivos.
MB é maior que MiB?
Sim. MB é decimal (1.000.000 bytes) e MiB é binário (1.048.576 bytes). MiB é aproximadamente 4,86% maior que MB. O mesmo se aplica a KB vs KiB, GB vs GiB, TB vs TiB.
A RAM usa binário ou decimal?
A RAM é vendida e endereçada em binário. Um pente de memória "16 GB" é 16 GiB (17.179.869.184 bytes) e o SO reporta assim. O "GB" de marketing é tecnicamente incorreto pelos padrões SI, mas a convenção é tão enraizada que ninguém tentou renomear a memória como "GiB".
E as velocidades de rede?
Equipamentos de rede historicamente usaram decimal para bits por segundo (1 Mbps = 1.000.000 bits por segundo). Muitos ISPs também anunciam em decimal mas cotam velocidades misturando bytes por segundo com bits, levando à clássica confusão de "pago 100 Mbps mas só recebo 12 MB/s". Divida por 8 (bits para bytes) e considere o overhead, e 100 Mbps se torna aproximadamente 11-12 MB/s. A matemática bate; as unidades confundem.
O que é maior, KB ou KiB?
Um KiB é maior. 1 KiB = 1.024 B, enquanto 1 KB = 1.000 B. O KiB (kibibyte) é 2,4% maior que o KB (kilobyte). O mesmo padrão se mantém: MiB > MB, GiB > GB, TiB > TB, PiB > PB.
Por que a indústria não padronizou em um?
Nos padrões, sim. A IEC usa oficialmente prefixos binários (KiB, MiB, GiB) desde 1998 e o padrão SI diz explicitamente que "kilo" significa 1.000. Mas os prefixos binários não deslocaram os rótulos antigos no uso diário. A Apple usa decimal consistente para GB e TB. A Microsoft usa binário para RAM mas decimal para armazenamento. As ferramentas Linux estão divididas. O resultado é ambiguidade permanente, e a única solução é saber com qual convenção você está lidando em qualquer contexto.
Conclusão
Bytes, kilobytes, megabytes, gigabytes, terabytes e petabytes não são intercambiáveis, e a lacuna decimal-vs-binário cresce a cada degrau na escada. As fórmulas são simples — divida por 1.000 para decimal, por 1.024 para binário — mas lembrar qual usar é a parte difícil.
Para uma resposta rápida, o Conversor de Armazenamento do UtilBoxx faz a matemática em qualquer modo com um clique. Para o tamanho de um arquivo específico, o gerenciador de arquivos do seu SO dá a contagem exata de bytes. Para trabalho em lote ou com scripts, a aritmética do Python ou a CLI `numfmt` são imbatíveis. E em caso de dúvida, procure o "i" final: KiB, MiB, GiB, TiB, PiB sempre significam binário.