Enviar um arquivo
  1. base64hub
  2. Ferramentas de arquivo
  3. Arquivo para Base64

Arquivo para Base64

Arraste qualquer arquivo, ou vários, e copie o Base64 como string pura, data URI ou objeto JSON. Arquivos grandes são lidos em partes dentro do navegador, e nada é enviado.

Grátis sem cadastro, sem limites Local nada é enviado Lote vários arquivos, um array JSON Atualizado 27 de out. de 2026
Arraste arquivos aqui, cole ou selecione
Entrada –Saída –Tamanho –

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

Como converter um arquivo para Base64

  1. Arraste um ou mais arquivos para a caixa, use o seletor de arquivos ou cole arquivos copiados com Ctrl+V.
  2. Escolha Saída como: Base64 puro (o padrão aqui), Data URI, HTML <a download>, JSON e os formatos para imagens e fontes.
  3. Opcional: URL-safe troca + e / por - e _; Quebrar em 76 quebra as linhas para e-mail MIME.
  4. Clique em Copiar saída, ou em Salvar como .txt para obter filename.ext.b64.txt.

Com vários arquivos, uma lista mostra cada nome com o tamanho original e o codificado. Mostrar exibe um resultado, e Copiar tudo como JSON copia todos os arquivos como um array de objetos {name, type, size, data}. Fica rápido colar isso num arquivo de fixture ou num script de seed.

O que as opções de saída significam para arquivos que não são imagem

Saída comoResultado para report.zipUse para
Base64 puroUEsDBBQAAAAI...campos de API, variáveis de ambiente, valores de configuração
Data URIdata:application/zip;base64,UEsDBBQA...URLs em HTML ou JavaScript
HTML <a download><a href="data:application/zip;base64,..." download="report.zip">report.zip</a>um link de download autossuficiente
JSON{"name": "report.zip", "type": "application/zip", "size": 323, "data": "UEsDBBQA..."}fixtures de teste, seus próprios endpoints de upload

As chaves do JSON são fixas (name, type, size, data). Se uma API espera outros nomes, renomeie depois de colar. size é o tamanho original do arquivo em bytes, o que permite ao destino conferir se o tamanho decodificado bate.

O MIME type no data URI e o type do JSON vêm do navegador. Se o navegador não conhece o arquivo, a ferramenta deduz pela extensão e, se isso também falhar, usa application/octet-stream. Isso só afeta o rótulo; o Base64 sai igual de qualquer forma.

Arquivos binários em segredos de CI e configurações

Um motivo comum para codificar um arquivo inteiro é um cofre de segredos que só guarda texto: variáveis de CI, arquivos .env, Secrets do Kubernetes. Keystores de assinatura, certificados e arquivos de service account entram como uma linha Base64 e são restaurados no pipeline:

echo "$KEYSTORE_B64" | base64 -d > release.keystore

Deixe Quebrar em 76 desligado nesse caso. Um valor com quebras de linha costuma ser estragado pela interface de segredos ou pelo shell. O Kubernetes guarda todo valor em data: dessa forma, e o decodificador de Secret do Kubernetes os lê de volta.

Saiba o que você codificou pelos primeiros caracteres

Os primeiros bytes da maioria dos formatos de arquivo são uma assinatura fixa, então o começo do Base64 revela o tipo sem decodificar. Alguns comuns:

Tipo de arquivoO Base64 começa com
PDFJVBERi0
ZIP, DOCX, XLSX, PPTX, JAR, APKUEsDB
gzip (.gz, .tgz)H4sI
7-ZipN3q8ryc
EXE ou DLL do WindowsTVqQ (a maioria dos arquivos), sempre TV
Binário ELF do Linuxf0VMRg
Banco de dados SQLiteU1FMaXRlIGZvcm1hdCAz
MP3 com tag ID3SUQz
PNGiVBORw0KGgo
Objeto JSONeyJ (para {")

Há uma lista maior em prefixos Base64 comuns. Quando você decodifica com o Base64 para Arquivo, o tipo é detectado do mesmo jeito.

Tamanho, memória e arquivos grandes

A saída Base64 tem 4/3 do tamanho da entrada, arredondado para cima até um múltiplo de 4 caracteres. Um arquivo de 1 MB vira 1.398.104 caracteres, e com Quebrar em 76 entram mais 18.396 caracteres de quebra de linha. Os contadores abaixo da saída mostram os dois tamanhos e o acréscimo em porcentagem.

Tudo roda na aba do navegador, então o limite prático é a memória do seu aparelho:

  • A caixa de texto mostra os primeiros 4 MB da saída; Copiar saída e Salvar como .txt sempre usam o resultado completo.
  • Copiar saída fica desativado para saídas acima de uns 48 MB.
  • Arquivos maiores que uns 48 MB são codificados em partes, e o resultado só é oferecido via Salvar como .txt.

Se o arquivo é tão grande, vale perguntar se o Base64 é o meio de transporte certo. Um upload multipart ou uma transferência binária direta evita o acréscimo de 33% e o pico de memória nas duas pontas. A calculadora de tamanho mostra o tamanho codificado antes de você começar.

Codificar um arquivo na linha de comando ou no código

Linux, com GNU coreutils (-w 0 desativa a quebra padrão em 76 caracteres):

base64 -w 0 report.zip > report.zip.b64

macOS (lá o base64 não quebra linhas por padrão):

base64 -i report.zip -o report.zip.b64

Windows PowerShell:

[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\data\report.zip")) | Set-Content report.zip.b64

Python:

import base64
from pathlib import Path

encoded = base64.b64encode(Path("report.zip").read_bytes()).decode("ascii")

Para processar arquivos grandes em streaming sem carregá-los na memória, veja Base64 em Python, Node.js, Java e PHP.

Problemas comuns

  • Quebras de linha na saída. O base64 do GNU quebra em 76 caracteres por padrão, o openssl base64 em 64, e o certutil -encode ainda adiciona linhas de cabeçalho. Muitas APIs JSON e variáveis de ambiente precisam de uma linha só. Use -w 0, openssl base64 -A ou esta ferramenta com a quebra desligada.
  • application/octet-stream no data URI. O navegador não conhecia o tipo e a extensão não estava na lista da ferramenta. Os bytes continuam corretos; troque o MIME type no prefixo se o destino se importar com isso.
  • Copiar saída está acinzentado. O resultado passou do limite de cópia de uns 48 MB. Salvar como .txt continua funcionando, e a maioria das ferramentas que precisam da string consegue lê-la de um arquivo.
  • O JSON traz "data": null para um arquivo. Num lote, arquivos acima de uns 48 MB são codificados em partes só para download, então Copiar tudo como JSON deixa os dados deles de fora. Codifique esse arquivo sozinho e salve como .txt.
  • O arquivo decodificado é menor que o original. A string foi truncada. Compare o tamanho decodificado com o valor size da saída JSON.
  • Saída embaralhada quando a entrada era texto. O Base64 mantém os bytes como estão, incluindo a codificação de caracteres original. Um arquivo de texto em UTF-16 decodifica para UTF-16, não para UTF-8. Para texto digitado, use o Texto para Base64, que deixa você escolher o charset.

Perguntas frequentes

Que tipos de arquivo posso converter para Base64?

Qualquer um. O Base64 codifica bytes e não se importa com o que eles significam, então executáveis, arquivos compactados, bancos de dados e documentos funcionam do mesmo jeito que texto. Páginas específicas como PDF para Base64 só acrescentam dicas para aquele formato.

Existe limite de tamanho de arquivo?

Não há limite fixo, já que o trabalho acontece no seu navegador. Saídas de até uns 48 MB podem ser copiadas; acima disso, use Salvar como .txt. Arquivos acima de uns 48 MB são codificados em partes e só ficam disponíveis para download.

Como codificar um arquivo em Base64 no Windows sem instalar nada?

O PowerShell faz isso numa linha: [Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\path\file.bin")). O certutil -encode também funciona, mas adiciona linhas -----BEGIN CERTIFICATE----- e quebra a saída, que você depois precisa limpar.

Qual MIME type o data URI usa?

O tipo que o navegador informa para o arquivo. Se ele não informar nenhum, a ferramenta deduz pela extensão e, em último caso, usa application/octet-stream. Edite o prefixo à mão se o destino precisar de um tipo específico.

Como decodificar o Base64 de volta para arquivo?

Use o Base64 para Arquivo. Ele detecta o tipo de arquivo pelos bytes decodificados e sugere a extensão correspondente.