Criado com IA avançada no seu dispositivo e aceleração de hardware para um desempenho profissional com privacidade total.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.
Quais dois caracteres ocupam os dois últimos lugares dos 64.
0 significa uma só linha. O MIME precisa de 76; o PEM, de 64.
Estas duas se aplicam apenas a texto digitado, nunca a um arquivo.
Como codificar para Base64
- 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
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
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:
| Variante | Alfabeto | Quebra de linha | Onde a encontra |
|---|---|---|---|
Padrão | + e /, com preenchimento | nenhuma | Campos JSON, arquivos de configuração, a maioria das APIs e bibliotecas |
MIME | + e /, com preenchimento | 76 caract., CRLF | Corpos e anexos de email (RFC 2045) |
PEM | + e /, com preenchimento | 64 caract., LF | Chaves, certificados, material SSH (RFC 7468) |
base64url | - e _, sem preenchimento | nenhuma | JWT, 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ção | Bytes por caractere | Use quando |
|---|---|---|
UTF-8 | 1 a 4 | Quase sempre. Web, JSON, APIs modernas, tudo desde cerca de 2005. |
UTF-16 LE | 2 ou 4 | Fala com APIs do Windows ou com .NET, cujo Encoding.Unicode significa isto. |
UTF-16 BE | 2 ou 4 | Java e alguns protocolos de rede que exigem ordem big-endian. |
ISO-8859-1 | 1 | Dados antigos da Europa ocidental, cabeçalhos de email antigos, colunas de bancos de dados. |
Windows-1252 | 1 | Como 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.
de 1.089 avaliações
Avalie esta ferramenta
Toque numa estrela — leva um segundo