Como usar
- Solte um arquivo na área de upload ou clique nela para escolher um arquivo do seu dispositivo (até 100 MB).
- Em Saída, escolha Base64 para obter o Base64 puro, ideal para APIs e arquivos de configuração, ou Data URI para usar em HTML e CSS.
- Ative Quebrar linhas a cada 76 somente se o destino esperar linhas no estilo MIME, como no corpo de um e-mail.
- Confira o nome do arquivo, o tipo MIME e os tamanhos; depois copie o resultado ou baixe-o como arquivo .txt.
Por que codificar um arquivo em Base64?
Muitos formatos que transportam dados entre sistemas aceitam apenas texto. JSON, XML, YAML, HTML e cabeçalhos de e-mail não comportam bytes arbitrários, porque um arquivo pode conter bytes zero, sequências de caracteres inválidas ou quebras de linha que um analisador de texto alteraria. O Base64 converte cada 3 bytes do arquivo em 4 caracteres de um conjunto de 64 letras, dígitos, + e /, de modo que qualquer arquivo pode trafegar como uma string comum e ser decodificado de volta exatamente nos mesmos bytes.
O preço é o tamanho: o texto codificado fica cerca de 33% maior que o arquivo, e as quebras de linha acrescentam um pouco mais. Um arquivo de 3 MB vira aproximadamente 4 MB de Base64.
Usos comuns
- APIs JSON e XML. Endpoints que não aceitam upload por formulário multipart costumam esperar o arquivo como uma string Base64 em um campo, com o nome e o tipo em outros.
- Anexos de e-mail. O MIME codifica anexos em Base64 com linhas de no máximo 76 caracteres (RFC 2045). A quebra de linha gera exatamente esse layout.
- Configurações e segredos. Os valores em
datade um Secret do Kubernetes são Base64, então um certificado TLS, um keystore ou um arquivo de licença precisa ser codificado antes de entrar no manifesto. Sistemas de CI muitas vezes guardam segredos binários em variáveis de ambiente da mesma forma. - Bancos de dados e código-fonte. Um binário pequeno, como uma fonte, um som ou um arquivo de teste, pode ser armazenado em uma coluna de texto ou em uma constante de string em vez de ficar em um arquivo separado.
Para imagens, Imagem para Base64 oferece redimensionamento e trechos prontos de HTML e CSS. Para transformar Base64 de volta em arquivo, use Base64 para arquivo.
Base64 puro ou data URI?
O Base64 puro contém apenas os bytes codificados. É o que APIs, o Kubernetes, bancos de dados e a maioria das bibliotecas de programação esperam, geralmente ao lado de um campo separado para o nome do arquivo ou o tipo de conteúdo.
Um data URI acrescenta um prefixo com o tipo MIME, por exemplo data:application/pdf;base64,, para que o navegador possa usar a string inteira como URL em src, href ou na função CSS url(). Não envie esse prefixo para uma API que pede Base64 puro; muitos decodificadores o rejeitam. Para definir o tipo MIME manualmente ou usar codificação percentual, experimente o Gerador de data URI.
Deixe Quebrar linhas a cada 76 desativado para JSON, YAML e código-fonte. Uma string JSON não pode conter quebras de linha literais, e valores quebrados em YAML se corrompem com facilidade.
Codifique um arquivo na linha de comando
# Linux (GNU coreutils): -w 0 desativa a quebra padrão a cada 76 caracteres
base64 -w 0 report.docx > report.txt
# macOS
base64 -i report.docx -o report.txt
# Windows PowerShell
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\files\report.docx"))
# O Kubernetes codifica o arquivo para você
kubectl create secret generic app-cert --from-file=tls.crt
Perguntas frequentes
Existe limite de tamanho de arquivo?
É possível codificar arquivos de até 100 MB. A saída fica cerca de um terço maior, então um arquivo de 100 MB gera aproximadamente 133 MB de texto. Exibir tanto texto pode deixar a página lenta; por isso, para arquivos grandes, use Baixar em vez de copiar da caixa de saída.
Meus arquivos são enviados para um servidor?
Não. O arquivo é lido e codificado por JavaScript no seu navegador e nada é enviado pela rede, então certificados, chaves e documentos privados permanecem no seu dispositivo.
O Base64 comprime ou criptografa o arquivo?
Nem uma coisa nem outra. O Base64 deixa os dados cerca de 33% maiores, e qualquer pessoa pode decodificá-los. Se o arquivo precisa ser confidencial, criptografe-o antes de codificar; se o tamanho importa, comprima-o primeiro, por exemplo em um arquivo ZIP ou gzip.
Por que a saída tem quebras de linha?
A opção Quebrar linhas a cada 76 está ativada. Ela segue o formato MIME usado em e-mails, mas a maioria das APIs, dos documentos JSON e dos manifestos do Kubernetes espera uma única linha contínua, então desative-a nesses casos.