Enviar um arquivo
  1. base64hub
  2. Ferramentas de texto
  3. Calculadora de tamanho

Calculadora de tamanho Base64

Informe um tamanho em bytes, KB ou MB, ou arraste um arquivo, para obter o comprimento exato em Base64 com e sem preenchimento, quebras de linha e prefixo de data URI. O modo inverso converte um comprimento Base64 de volta em bytes.

Grátis sem cadastro, sem limites Local nada é enviado Exato conta preenchimento, quebras de linha, prefixos Atualizado 27 de out. de 2026
Só o tamanho é lido; o conteúdo do arquivo não é aberto.

Processado no seu navegador. Esta página não consegue enviar seus dados para lugar nenhum – como sabemos

Como calcular o tamanho em Base64

  1. Mantenha Bytes → tamanho em Base64 selecionado, digite o Tamanho original e escolha a Unidade. Em Unidades, escolha 1 KB = 1000 B ou 1 KiB = 1024 B conforme a forma como o seu tamanho foi medido.
  2. Ou arraste um arquivo para a caixa. Só o tamanho é lido; o conteúdo do arquivo nunca é aberto.
  3. Leia a tabela: comprimento com e sem preenchimento, o aumento em porcentagem, uma quebra personalizada (ajuste Tamanho da linha e Quebra de linha), linhas de e-mail MIME, um corpo PEM, uma URI data: com o tipo MIME do arquivo e uma string JSON com aspas.
  4. Para a direção contrária, mude para Tamanho em Base64 → bytes, informe o comprimento, diga se ele inclui quebras de linha e escolha o caso de Preenchimento: conhecido, desconhecido (0–2 ×) ou nenhum. Colar o próprio Base64 dá uma resposta exata.

A fórmula ao vivo abaixo da tabela repete o cálculo com os seus próprios números, o que é útil para um comentário no código ou um ticket.

A fórmula e por que são 33%

O Base64 transforma cada 3 bytes em 4 caracteres, cada um carregando 6 bits. O último grupo é completado com = até 4 caracteres, então:

padded   = 4 × ⌈n ÷ 3⌉
unpadded = ⌈4n ÷ 3⌉
decoded  = (characters × 3 ÷ 4) − number of "=" signs

Para entradas grandes, isso é um aumento fixo de 33,3%. Nas muito pequenas, o preenchimento domina: um byte vira quatro caracteres, um aumento de 300%. A tabela abaixo foi gerada com o mesmo código que a calculadora executa:

OriginalBase64 com preenchimentoSem preenchimentoMIME (76 + CRLF)PEM (64 + LF)
1 byte4244
100 bytes136134138138
1.000 bytes (1 KB)1.3361.3341.3701.356
1.024 bytes (1 KiB)1.3681.3661.4021.389
1.048.576 bytes (1 MiB)1.398.1041.398.1021.434.8961.419.949
5.000.000 bytes (5 MB)6.666.6686.666.6676.842.1066.770.834

As quebras de linha são contadas entre as linhas, sem nenhuma depois da última. Alguns codificadores, como o base64.encodebytes do Python, terminam todas as linhas com \n, inclusive a última, o que acrescenta mais uma quebra. Para um data URI, some o prefixo: data:image/png;base64, tem 22 caracteres.

Planejando em torno de limites de tamanho

Limites típicos que vale conferir antes que algo falhe:

  • Limites do corpo da requisição. Se um endpoint aceita 10.000.000 bytes e o arquivo vai em um campo JSON, o arquivo pode ter no máximo cerca de 7.500.000 bytes, menos o resto do JSON. Mude para o modo inverso, informe o limite e subtraia os nomes dos seus campos.
  • Colunas de banco de dados e variáveis de ambiente. Um VARCHAR(255) comporta o Base64 de no máximo 189 bytes; 190 bytes já precisam de 256 caracteres.
  • E-mail. Anexos MIME são quebrados em 76 caracteres com CRLF, então crescem cerca de 37% no total. Um limite de tamanho de mensagem, portanto, só admite arquivos com cerca de 73% desse tamanho. Base64 no e-mail traz os detalhes.
  • Data URIs em HTML ou CSS. Cada imagem embutida custa um terço a mais que o arquivo e não pode ser armazenada em cache separadamente. Desempenho de data URIs explica quando ainda vale a pena.

Comprimento em Base64 no código

Qualquer linguagem calcula isso sem codificar nada:

import math

def b64_len(n, padded=True):
    return 4 * math.ceil(n / 3) if padded else math.ceil(4 * n / 3)

print(b64_len(1048576), b64_len(1048576, padded=False))

Isso imprime 1398104 1398102. Em JavaScript, o comprimento com preenchimento é 4 * Math.ceil(n / 3). Para verificar uma string que você já tem, len(s) * 3 // 4 - s.count("=") dá o tamanho decodificado, depois de remover as quebras de linha. Se o modo inverso indicar um comprimento impossível, como resto 1 na divisão por 4, a string está danificada: passe-a pelo validador de Base64 para descobrir onde.

Perguntas frequentes

Qual é a fórmula do comprimento em Base64?

Com preenchimento são 4 × ⌈n ÷ 3⌉ caracteres para n bytes. Sem preenchimento, ⌈4n ÷ 3⌉. Quebras de linha, um prefixo data: ou aspas de JSON vêm por cima.

Qual o tamanho de um arquivo depois de decodificado do Base64?

Pegue o número de caracteres Base64 (sem quebras de linha), multiplique por 3, divida por 4 e subtraia um byte para cada = no final. Uma string de 1.400.000 caracteres decodifica para algo entre 1.049.998 e 1.050.000 bytes, dependendo do preenchimento.

Qual o maior arquivo que posso enviar por uma API com limite de 10 MB por requisição?

Cerca de 7,5 MB se o limite for 10.000.000 bytes, porque 10.000.000 × 3 ÷ 4 = 7.500.000, menos os campos JSON e cabeçalhos ao redor da string. Use o modo inverso com o limite como comprimento para obter o número exato.

O gzip desfaz o aumento do Base64?

Na transmissão, em grande parte. O gzip comprime o Base64 de volta para perto do tamanho dos bytes que ele codifica: 1.000.000 de bytes aleatórios geram 1.333.336 caracteres Base64, que ficam com 1.009.976 bytes depois do gzip. Limites que contam o próprio texto, como um campo JSON, uma coluna de banco de dados ou uma requisição sem compressão, continuam vendo o terço inteiro.