IA no seu dispositivo — profissional e privado.

Ferramenta codificadora Base64 online

Codifique texto e arquivos para Base64 no seu dispositivo

  • Nada é enviado
  • Padrão, URL, MIME e PEM
  • Data URIs com tipo detectado

Solte um arquivo para codificar

Qualquer tipo de arquivo. Até 25 MB.

Predefinição
Alfabeto e preenchimento
Alfabeto

Quais dois caracteres ocupam os dois últimos lugares dos 64.

Quebra de linha
0
Terminador de linha

0 significa uma só linha. O MIME precisa de 76; o PEM, de 64.

Forma da saída
Entrada de texto
Fim de linha na origem

Estas duas se aplicam apenas a texto digitado, nunca a um arquivo.

Pro

Como codificar para Base64

  1. 1

    Adicione o que quer codificar

    Digite ou cole na caixa de texto, ou solte um arquivo na área de upload. Qualquer tipo de arquivo funciona, porque o codificador lê bytes e nunca precisa entender o formato.

  2. 2

    Escolha a variante de Base64

    Escolha uma predefinição — Padrão, MIME, PEM ou Seguro para URL — ou defina você mesmo o alfabeto, o preenchimento e a largura de linha. Ative Data URI se a string for para HTML ou CSS.

  3. 3

    Codifique e copie

    Clique em Codificar. O resultado aparece com o tamanho e a sobrecarga medidos; copie-o para a área de transferência ou baixe-o como arquivo de texto. Nada nunca é enviado para um servidor.

O que é o Base64 e quanto custa

O Base64 reescreve bytes arbitrários usando 64 caracteres ASCII imprimíveis — A-Z, a-z, 0-9 e mais dois que dependem da variante. Existe porque muitíssimos sistemas foram concebidos para transportar texto e não bytes: campos de string em JSON, documentos XML, corpos de email, cabeçalhos HTTP, configuração YAML, linhas de registro, mensagens de chat. Dar a qualquer um deles um fluxo de bytes brutos o corrompe, normalmente em silêncio. O Base64 oferece algo que esses sistemas transportam sem alterar, e que se converte de volta exatamente nos bytes de partida.

O custo é o tamanho. Três bytes se tornam quatro caracteres, por isso a carga cresce um terço antes de contar preenchimento e quebras de linha — uma imagem de 1 MB são cerca de 1,37 MB de Base64. É uma boa troca para um ícone de 2 KB que você quer incorporar, e má para uma fotografia de 4 MB que você ia servir a partir de um URL de qualquer forma. A ferramenta mede a expansão real da sua entrada e a mostra ao lado do resultado em vez de citar os 33% dos manuais, porque a quebra de linha e o prefixo de um data URI empurram-na para cima.

O que faz cada opção

Quatro configurações mudam a string que você obtém. São independentes de propósito: a maioria dos codificadores prende duas delas e adivinha sozinha, o que funciona bem até o momento em que o sistema que está alimentando quer a combinação que o palpite excluiu.

O alfabeto: padrão ou seguro para URL

Sessenta e dois dos 64 caracteres são iguais em todo lugar. Os dois últimos são + e / no Base64 padrão (RFC 4648 seção 4) e - e _ no Base64 seguro para URL, também chamado base64url (seção 5). A diferença importa onde quer que a string encontre um analisador: + significa um espaço numa string de consulta, / separa segmentos de caminho, e ambos são incômodos num nome de arquivo. Se o valor vai para um URL, um JWT ou um nome de arquivo, use o seguro para URL; caso contrário, o padrão é o que tudo espera.

O preenchimento

O Base64 trabalha em grupos de três bytes. Quando a entrada não divide certo, são acrescentados um ou dois caracteres = para que o comprimento de saída seja sempre múltiplo de quatro, o que diz a um decodificador onde os dados param exatamente. O Base64 padrão o exige. O base64url o permite, e os JWT o proíbem expressamente — por isso o preenchimento é aqui um interruptor próprio e não algo que siga o alfabeto. Desligá-lo nunca muda os bytes decodificados; simplesmente um decodificador estrito pode recusar a string.

A quebra de linha

Uma única linha contínua é o correto para um campo JSON e o errado para um email. A RFC 2045 limita uma linha de corpo MIME a 76 caracteres e exige CRLF, por isso um anexo Base64 sem quebras não é um corpo MIME válido. O PEM — o formato que envolve chaves privadas, certificados e material SSH entre linhas BEGIN e END — usa 64. Aqui a largura vai de 4 (um quantum de Base64, a linha mais estreita que não quebra um grupo) até 998, a linha mais longa que a RFC 5322 permite numa mensagem, e o terminador é um controle à parte porque as duas normas não concordam nele.

Codificar cada linha separadamente

Por padrão toda a entrada é uma só string. Ligue isto e cada linha é codificada de forma independente, gerando uma coluna de valores Base64 a partir de uma coluna de entradas — a forma que você quer quando colou uma lista de chaves de API, identificadores ou mensagens curtas e precisa de cada uma codificada por si. Cada linha conserva os seus próprios bytes de terminação, por isso os resultados continuam recompondo exatamente o documento de partida.

As variantes de Base64 não são intercambiáveis

Todas as variantes abaixo codificam os mesmos bytes e decodificam para os mesmos bytes. O que difere é que caracteres aparecem e onde caem as quebras de linha — e um sistema que espera uma delas normalmente rejeitará outra em vez de se virar em silêncio. Esta ferramenta traz como predefinições as quatro de que as pessoas realmente precisam:

VarianteAlfabetoQuebra de linhaOnde a encontra
Padrão+ e /, com preenchimentonenhumaCampos JSON, arquivos de configuração, a maioria das APIs e bibliotecas
MIME+ e /, com preenchimento76 caract., CRLFCorpos e anexos de email (RFC 2045)
PEM+ e /, com preenchimento64 caract., LFChaves, certificados, material SSH (RFC 7468)
base64url- e _, sem preenchimentonenhumaJWT, strings de consulta, segmentos de caminho, nomes de arquivo

Existem mais duas variantes e deliberadamente não são oferecidas aqui. O ASCII Armor do OpenPGP acrescenta uma soma de verificação CRC-24 e um bloco de cabeçalho, e o UTF-7 do IMAP usa um alfabeto modificado com regras de escape diferentes — ambos são formatos distintos com etiqueta de Base64, e oferecê-los como uma caixa de seleção produziria uma saída que não é nem uma coisa nem outra.

Data URIs: quando incorporar

Um data URI é uma string Base64 com um tipo de mídia à frente, e permite que um arquivo viva dentro do documento que o usa em vez de no fim de um URL. Ative a opção de data URI e o prefixo é construído automaticamente, com o tipo de mídia lido dos primeiros bytes do próprio arquivo em vez da sua extensão — por isso um PNG que alguém renomeou para .jpg continua sendo rotulado image/png, e um arquivo que chega do Windows sem tipo de mídia nenhum continua sendo identificado corretamente. Vale a pena quando:

  • O recurso é pequeno e sempre necessário — um ícone, uma marca, um logotipo, um fundo de um pixel. Incorporá-lo elimina um pedido que teria bloqueado a renderização.
  • Está fazendo um protótipo — um único arquivo HTML que leva as suas próprias imagens é muito mais fácil de enviar por email, colar numa issue ou soltar num ambiente de testes.
  • Não há onde hospedá-lo — um README em Markdown, uma assinatura de email, ou um arquivo de configuração que aceita uma string e não um caminho.
  • A fonte é um subconjunto — uma fonte de ícones pequena incorporada em CSS evita o piscar de texto invisível que um pedido separado pode causar.

Quando um data URI é a resposta errada

Um recurso incorporado não pode ser armazenado em cache separadamente, por isso cada página que o incorpora volta a pagá-lo, e não pode ser servido num formato moderno aos navegadores que o suportem. Também inflaciona em um terço o arquivo onde vive, e esse arquivo costuma ser o HTML ou o CSS no caminho crítico. Como regra prática, incorpore abaixo de alguns kilobytes e use um link acima disso — e nunca incorpore algo que apareça em mais do que um punhado de páginas.

Codificações de texto e os caracteres que quebram

O Base64 codifica bytes, e o texto não tem bytes até alguém escolher uma codificação — por isso «codifica este texto» é um pedido incompleto. A palavra cafe com acento agudo dá Y2Fmw6k= em UTF-8 e Y2Fm6Q== em Latin-1. Ambas estão certas; só uma será compreendida por aquilo a que você a envia. A maioria dos codificadores online oferece UTF-8 e mais nada, o que acerta quase sempre e falha em silêncio o resto das vezes. Aqui são oferecidas cinco:

CodificaçãoBytes por caractereUse quando
UTF-81 a 4Quase sempre. Web, JSON, APIs modernas, tudo desde cerca de 2005.
UTF-16 LE2 ou 4Fala com APIs do Windows ou com .NET, cujo Encoding.Unicode significa isto.
UTF-16 BE2 ou 4Java e alguns protocolos de rede que exigem ordem big-endian.
ISO-8859-11Dados antigos da Europa ocidental, cabeçalhos de email antigos, colunas de bancos de dados.
Windows-12521Como o Latin-1 mas com aspas curvas, o travessão e o símbolo do euro.

Fins de linha

Uma caixa de texto numa página web não pode conter um retorno de carro: a especificação HTML exige que o seu valor seja normalizado para avanços de linha, por isso colar nela um arquivo do Windows e codificá-lo resulta na string que esse arquivo teria em Linux, não na que realmente tem. Isso é uma resposta genuinamente errada sem nada na tela que o sugira, por isso o controle de fim de linha é aqui uma questão de correção e não de conveniência — ponha-o em CRLF e o codificador restaura os retornos de carro antes de codificar.

Codificar arquivos e lotes

Serve qualquer arquivo. O codificador nunca precisa entender um formato — lê bytes e faz aritmética com eles — por isso imagens, fontes, PDF, arquivos, vídeo, arquivos sem extensão e arquivos cujo tipo o sistema operacional não conseguiu identificar são todos codificados corretamente. O arquivo é lido no seu dispositivo e os bytes nunca saem dele. Como o resultado ocupa em memória cerca de 2,7 vezes o tamanho do arquivo depois de armazenado como texto, resultados muito grandes são mostrados como pré-visualização, enquanto Copiar e Baixar sempre fornecem a string completa.

O que a versão gratuita inclui

Arquivos até 25 MB, um por vez, e todas as opções de codificação: ambos os alfabetos, preenchimento em qualquer sentido, as quatro predefinições, qualquer largura de linha, data URIs, modo por linhas e as cinco codificações de texto. Nada relativo à correção da saída está atrás da barreira de pagamento, porque um nível gratuito que devolve a você uma string que o seu decodificador rejeita não é um nível gratuito.

O que o Pro acrescenta

Escala, e só escala. Até 20 arquivos numa passagem com um único ZIP reunindo os resultados, e sem limite de tamanho imposto — o Pro vai até onde o seu dispositivo realmente chega, não até uma constante maior escolhida por nós. Nenhum concorrente analisado aceita mais do que um arquivo por vez, por isso o lote é a parte que não existe em outro lugar.

Quando usar

Use esta página quando já tem texto ou um arquivo e precisa da sua representação em Base64. Use o decodificador quando você parte de uma string Base64 e quer o conteúdo original de volta.

  • Incorporar um recurso — um data URI para um ícone, uma marca ou uma fonte pequena, colado diretamente em HTML ou CSS.
  • Preencher um campo de API — um corpo de requisição ou arquivo de configuração que aceita um blob Base64 em vez de um upload de arquivo.
  • Preparar um corpo MIME — linhas de 76 caracteres com CRLF, para que um anexo seja uma parte de mensagem válida.
  • Construir um token seguro para URL — base64url sem preenchimento, para um segmento de JWT, um parâmetro de consulta ou um nome de arquivo.
  • Mover binário por texto — colar algo num chat, num ticket, num registro ou num terminal que só transporta texto.
  • Produzir fixtures de teste — uma string Base64 conhecida para um teste unitário, na variante exata que o código em teste espera.

Quando não usar Base64

Muita gente recorre ao Base64 por reflexo, e há quatro tarefas para as quais parece adequado e não é.

  • Esconder um segredo — o Base64 não é criptografia. Qualquer pessoa o decodifica num passo, e uma senha em Base64 num arquivo de configuração é uma senha em texto puro com sintaxe extra. Use criptografia real.
  • Verificar a integridade — o Base64 não diz nada sobre se os dados mudaram. Use um hash — o nosso gerador de hash produz SHA-256 e afins no mesmo dispositivo.
  • Reduzir seja o que for — aumenta sempre os dados em um terço. Se o objetivo é uma carga menor, comprima primeiro e codifique os bytes comprimidos.
  • Servir mídia grande — um vídeo ou fotografia incorporados não podem ser armazenados em cache, nem requisitados por intervalos, nem transmitidos, e bloqueiam o documento onde vivem. Sirva-os a partir de um URL.

Exemplos de uso

As tarefas para as quais esta página é mais usada, na ordem em que aparecem:

  • Construir um data URI para uma imagem ou fonte pequena ao prototipar HTML ou CSS.
  • Preparar uma carga para uma API ou arquivo de configuração que armazena um blob Base64.
  • Quebrar o corpo de um certificado ou chave em 64 caracteres para corresponder ao PEM ao redor.
  • Produzir um corpo MIME de 76 caracteres para um anexo de email construído à mão.
  • Codificar um valor para um segmento de JWT ou um parâmetro de URL sem preenchimento.
  • Mover binário por um sistema que só permite texto simples em trânsito.
  • Transformar um arquivo local numa string colável quando não há upload binário disponível.
  • Gerar fixtures para ferramentas ou testes que esperam uma variante concreta de Base64.

Limitações e compatibilidade

O Base64 padrão é compreendido por todas as linguagens e plataformas de uso amplo. É nas variantes que a compatibilidade fica afiada: um decodificador escrito para Base64 padrão rejeitará - e _, um decodificador estrito rejeitará um = ausente, e um analisador MIME rejeitará um corpo sem quebras. Escolha a predefinição que nomeia o sistema que está alimentando em vez da que parece mais arrumada e, na dúvida, o padrão com preenchimento é o que o maior número de decodificadores aceita.

A codificação é sem perdas nos dois sentidos: decodificar com uma ferramenta compatível restaura exatamente os bytes de partida. O único ponto onde se podem perder dados é antes de o Base64 sequer entrar — se escolher uma codificação de caracteres que não consegue representar um caractere do seu texto, esta ferramenta nomeia o caractere e a sua posição e recusa, em vez de substituí-lo por um ponto de interrogação e entregar a você uma string confiantemente errada, que é o que uma substituição silenciosa faria.

A codificação roda no seu dispositivo usando o método mais rápido que o seu navegador oferecer, e recorre a um mais lento que produz a string idêntica quando esse método não existe. Medido num navegador de desktop, um arquivo de 16 MB é codificado em menos de 5 milissegundos pela via rápida e em menos de 40 pela alternativa; a codificação de arquivos acontece fora da thread principal da página, por isso a interface continua respondendo enquanto isso acontece.

Perguntas frequentes

O que é a codificação Base64 e como funciona esta ferramenta?

O Base64 converte bytes num alfabeto ASCII de 64 caracteres (A-Z, a-z, 0-9, +, /) para que o binário circule por sistemas de apenas texto como JSON, XML ou email. Digite ou cole texto, ou solte um arquivo, escolha a variante de que precisa, e a saída Base64 é produzida no seu dispositivo para copiar com um clique.

Meus dados são privados e seguros?

Sim. Toda a codificação roda inteiramente no seu dispositivo, por isso o seu texto e arquivos nunca são enviados, armazenados ou registrados, e a ferramenta funciona offline após carregar. Note que o Base64 é codificação reversível, não criptografia, então qualquer pessoa com a string pode decodificá-la; use criptografia real para segredos.

Posso codificar imagens e outros arquivos para Base64?

Sim. Solte ou escolha qualquer arquivo — uma imagem, uma fonte, um PDF, um arquivo, um vídeo ou algo sem extensão — e é lido localmente e devolvido como string Base64. Ative Data URI e o tipo de mídia é detectado a partir dos próprios bytes do arquivo, para que o resultado possa ser colado diretamente em HTML ou CSS.

Suporta texto UTF-8 e caracteres especiais?

Sim. O texto é tratado como UTF-8 por padrão, então letras acentuadas, emoji e escritas não latinas são codificadas corretamente sem corrupção. Você também pode escolher UTF-16 LE, UTF-16 BE, ISO-8859-1 ou Windows-1252 quando se comunica com um sistema que espera uma delas, e qualquer caractere que a codificação escolhida não consiga representar é nomeado e recusado em vez de substituído em silêncio.

Existe limite de tamanho de arquivo e tem algum custo?

O codificador é gratuito e sem marcas d'água. A versão gratuita aceita arquivos até 25 MB, um por vez; o Pro remove o limite imposto e trabalha até o que o seu dispositivo aguentar, codifica até 20 arquivos de uma vez e os reúne num único ZIP. Todas as opções de codificação — seguro para URL, preenchimento, quebra de linha, data URIs, modo por linhas e as cinco codificações de texto — estão disponíveis no nível gratuito.

Quais são os usos comuns da codificação Base64?

O Base64 serve para incorporar imagens ou fontes pequenas como data URIs, preparar cargas para APIs e arquivos de configuração, anexar binário a email através de MIME, envolver chaves e certificados em PEM, mover binário com segurança por chat ou registros, e gerar strings de teste para ferramentas. Funciona em navegadores de desktop e móveis.

Qual é a diferença entre Base64 e Base64 seguro para URL?

Codificam os mesmos bytes com dois caracteres diferentes. O Base64 padrão (RFC 4648 seção 4) usa + e /, que têm significado próprio dentro de um URL e de um nome de arquivo. O Base64 seguro para URL, também chamado base64url (RFC 4648 seção 5), usa - e _ em vez disso, por isso a string sobrevive a ser colada numa string de consulta, num segmento de caminho ou num JWT. Mais nada muda, e os bytes decodificados são idênticos.

Por que o meu Base64 precisa de quebras de linha a cada 76 caracteres?

Porque o email o exige. A RFC 2045 limita uma linha de corpo MIME a 76 caracteres e exige terminadores CRLF, por isso uma string sem quebras não é um corpo MIME válido e muitos servidores a rejeitam ou a estragam. O PEM, usado para chaves e certificados, quebra em 64. Use a predefinição MIME ou PEM e tanto a largura como o terminador de linha ficam corretamente definidos.

Devo manter ou remover o preenchimento =?

Mantenha-o a menos que o sistema com que você se comunica diga o contrário. O preenchimento torna o comprimento da string múltiplo de quatro, para que um decodificador saiba exatamente onde os dados terminam. É exigido pelo Base64 padrão e permitido em base64url, mas os JWT e várias APIs voltadas para URL especificam saída sem preenchimento e rejeitam os caracteres =. Esta ferramenta deixa você definir o preenchimento independentemente do alfabeto, porque fazer um seguir o outro é um palpite.

Quanto maior fica o meu arquivo com Base64?

Cerca de 33%, e a ferramenta mede o valor real em vez de citar o dos manuais. O Base64 escreve quatro caracteres por cada três bytes, o que é uma expansão de 4/3; o preenchimento acrescenta até dois caracteres e a quebra de linha acrescenta um ou dois por linha por cima. Uma imagem de 1 MB passa a cerca de 1,37 MB de texto, e é por isso que um data URI encaixa bem em ícones e mal em fotografias.

Posso codificar uma pasta inteira de arquivos de uma vez?

Sim, com o Pro. Solte até 20 arquivos, codifique-os numa passagem e baixe os resultados como um único ZIP com uma entrada por arquivo. Nomes duplicados recebem um sufixo numerado para que nada seja substituído em silêncio, e os nomes das entradas são despojados de qualquer caminho para que nada possa ser escrito fora da pasta onde você extrair.

Por que a caixa de resultado diz que só mostra parte da string?

Porque desenhar trinta milhões de caracteres numa caixa de texto congelaria a página durante segundos sem mostrar nada que você pudesse ler. Resultados grandes são mostrados como pré-visualização dos primeiros 32.768 caracteres, com o comprimento medido da string completa ao lado. Copiar e Baixar sempre fornecem o resultado inteiro.

4.7de 5

de 1.089 avaliações

Avalie esta ferramenta

Toque numa estrela — leva um segundo