Codificador e Decodificador Base64
Introdução
O Codificador e Decodificador Base64 é uma ferramenta gratuita online para converter texto em Base64 e decodificar Base64 de volta em texto. Ambas as operações ocorrem em tempo real enquanto você digita, sem recarregar a página ou pressionar um botão de envio. A ferramenta é executada inteiramente no seu navegador — nada é enviado a um servidor.
Duas seções independentes estão na mesma página: uma para codificar, outra para decodificar. Cada uma tem sua própria área de texto, zona de upload e botões de ação, para que você possa trabalhar em ambas as direções sem alternar de modo.
O que é Base64?
Base64 é uma forma de representar dados binários usando apenas caracteres ASCII imprimíveis. Não é um esquema de criptografia ou compressão — seu propósito é tornar os dados binários seguros para transportar através de sistemas projetados para texto.
Como a codificação funciona
O alfabeto Base64 usa 64 caracteres:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
O processo de codificação divide a entrada em grupos de 3 bytes (24 bits) e depois divide cada grupo em quatro valores de 6 bits. Cada valor de 6 bits (0–63) é mapeado para um caractere do alfabeto.
Entrada: F o o
Binário: 01000110 01101111 01101111
6 bits: 010001 100110 111101 101111
Decimal: 17 38 61 47
Base64: R b 9 v
"Foo" é codificado como Rm9v.
Por que 64?
64 foi escolhido porque é a maior potência de dois que usa apenas caracteres disponíveis em quase todos os conjuntos de caracteres (letras, dígitos e dois sinais de pontuação). Isso torna o Base64 confiável em sistemas de e-mail, cargas JSON, URLs e outros canais baseados em texto que podem distorcer ou rejeitar bytes não ASCII.
Cada caractere Base64 transporta 6 bits de informação, comparado aos 8 bits de um byte. Essa relação 6:8 explica por que a saída codificada é aproximadamente 33 % maior que a entrada original — um tópico abordado em detalhes mais adiante.
Quando a entrada não é um múltiplo de 3 bytes
Se o último grupo tiver menos de 3 bytes, o preenchimento é adicionado. O codificador acrescenta caracteres = para tornar o comprimento da saída um múltiplo de 4:
- 1 byte restante → 2 caracteres Base64 +
== - 2 bytes restantes → 3 caracteres Base64 +
= - 3 bytes completos → 4 caracteres Base64, sem preenchimento
Por exemplo, "Fo" (2 bytes) é codificado como Rm8=.
Uma nota sobre o que Base64 não é
Base64 é frequentemente confundido com criptografia porque a saída parece um monte de caracteres aleatórios. Uma decodificação rápida revela o texto original sem necessidade de chave. Se você precisar proteger dados, use um algoritmo de criptografia adequado (AES, ChaCha20, etc.) e então codifique os bytes criptografados com Base64 para transporte. Base64 sozinho não fornece confidencialidade.
Usos comuns do Base64
Base64 aparece em muitos lugares cotidianos na web, muitas vezes sem que os usuários percebam.
Data URIs
Navegadores modernos permitem incorporar imagens, fontes e outras mídias diretamente em HTML ou CSS usando data: URIs:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA...">
Os dados de imagem codificados em Base64 vivem dentro do próprio arquivo HTML — nenhuma requisição HTTP separada é necessária. Isso é comum para ícones pequenos, sprites e fontes web, onde o round-trip HTTP adicional custaria mais que os bytes em linha.
No entanto, Data URIs Base64 nem sempre são a melhor escolha para ativos maiores. A sobrecarga de tamanho de 33 % significa que um ícone de 100 KB se torna 133 KB de texto em linha, e o navegador não pode armazená-lo em cache separadamente da página HTML. A maioria dos sites usa Data URIs apenas para ativos com menos de alguns kilobytes.
JWT e Tokens de API
Os JSON Web Tokens usam Base64url (a variante segura para URL) para codificar os segmentos de cabeçalho, carga útil e assinatura de um token. Se você já inspecionou um JWT como este:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U
cada segmento separado por pontos é JSON codificado em Base64url. Você pode colar qualquer segmento na seção de decodificação desta ferramenta para inspecionar seu conteúdo.
Anexos de E-mail (MIME)
O e-mail foi originalmente projetado para ASCII de 7 bits. Para enviar anexos binários (imagens, PDFs, planilhas), o padrão MIME os codifica como Base64. Seu cliente de e-mail os decodifica automaticamente quando você abre a mensagem.
Um detalhe que às vezes causa confusão: MIME Base64 convencionalmente quebra linhas a cada 76 caracteres. Se você extrair dados Base64 de uma fonte de e-mail, eles podem conter quebras de linha incorporadas. O decodificador desta ferramenta lida com quebras de linha automaticamente — você pode colar Base64 MIME multilinha sem remover as quebras de linha primeiro.
Certificados e Chaves PEM
Certificados SSL/TLS e chaves privadas são distribuídos no formato PEM, que envolve dados DER codificados em Base64 entre linhas de cabeçalho e rodapé:
-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
...
-----END CERTIFICATE-----
PEM é essencialmente Base64 com um invólucro rotulado. Você pode decodificar o corpo Base64 de um arquivo PEM para inspecionar seu conteúdo DER bruto, embora o resultado seja binário, não texto legível.
Autenticação Básica HTTP
O cabeçalho de autenticação básica HTTP codifica usuário:senha como Base64:
Authorization: Basic YWRtaW46c2VjcmV0
A string YWRtaW46c2VjcmV0 é a codificação Base64 de admin:secret. Base64 aqui é um mecanismo de serialização, não de segurança — as credenciais são trivialmente decodificáveis por qualquer um que veja o cabeçalho.
O que é um arquivo .b64?
Um arquivo .b64 é um arquivo de texto simples cujo conteúdo inteiro é uma string Base64. A extensão .b64 é uma convenção de nomenclatura que sinaliza "este arquivo contém dados Base64" — em oposição a texto arbitrário, código fonte ou um formato binário.
Você pode encontrar arquivos .b64 quando:
- Exporta saídas codificadas de ferramentas como esta
- Armazena chaves criptográficas ou certificados em um formato de texto portátil
- Troca dados Base64 entre sistemas que usam fluxos de trabalho baseados em arquivos
Como os arquivos .b64 são texto simples, você pode abri-los em qualquer editor de texto, inspecionar o conteúdo ou copiar a string para um decodificador. Esta ferramenta aceita arquivos .b64 tanto na seção Codificar quanto Decodificar via arrastar e soltar ou seletor de arquivos.
Como Funciona
A ferramenta usa as funções Base64 nativas do navegador com uma camada adicional para segurança UTF-8.
Conversão Principal
JavaScript fornece duas funções nativas para Base64:
btoa(entrada)— converte uma string para Base64 (binário para ASCII)atob(entrada)— converte Base64 de volta para uma string (ASCII para binário)
Essas funções funcionam apenas com caracteres Latin-1 (ISO-8859-1). Se você passar uma string contendo caracteres chineses, japoneses, emoji ou qualquer caractere fora do intervalo Latin-1, btoa() lança uma DOMException.
Codificação Segura UTF-8
Para lidar corretamente com todo texto Unicode, a ferramenta envolve as funções nativas:
function encode(text, urlSafe, noPad) {
let utf8 = encodeURIComponent(text);
let base64 = btoa(utf8);
if (urlSafe) base64 = base64.replace(/\+/g, '-').replace(/\//g, '_');
if (noPad) base64 = base64.replace(/=+$/, '');
return base64;
}
function decode(base64) {
let restored = base64.replace(/-/g, '+').replace(/_/g, '/');
while (restored.length % 4 !== 0) restored += '=';
let utf8 = atob(restored);
return decodeURIComponent(utf8);
}
encodeURIComponent converte o texto para a forma codificada em percentual UTF-8, que contém apenas caracteres ASCII que btoa pode processar. O caminho de decodificação inverte isso na ordem oposta.
Para ver por que isso é importante, tente codificar o emoji "😊" diretamente com btoa — ele lança um erro. Com o invólucro UTF-8, ele se torna J UmbKSA4bQ, que decodifica corretamente de volta para 😊.
Tratamento de Entrada Segura para URL
A função de decodificação sempre realiza duas transformações antes de passar a string para atob:
- Substituir
-por+e_por/(desfazendo a codificação segura para URL) - Adicionar preenchimento
=se o comprimento da string não for múltiplo de 4
Isso significa que você nunca precisa ajustar uma configuração no lado da decodificação. Seja sua entrada Base64 padrão, Base64 seguro para URL, com ou sem preenchimento, o decodificador a trata automaticamente.
Fluxo de Eventos
Quando você digita ou cola em uma área de texto, um listener de eventos input é acionado. O agendador armazena em buffer teclas rápidas (debatido a aproximadamente 16 ms para alinhar com um quadro) e então executa a função de codificação ou decodificação. O resultado aparece na área de texto de saída na próxima atualização de tela.
Base64 Padrão vs Base64 Seguro para URL
As duas caixas de seleção na seção Codificar correspondem a duas variantes bem definidas de Base64.
Base64 Padrão (RFC 4648 §4)
Usa o alfabeto completo: A–Z, a–z, 0–9, +, /. Esta é a forma original e funciona em todos os lugares, exceto onde + e / têm um significado especial.
Base64 Seguro para URL (RFC 4648 §5)
Substitui os dois caracteres que causam problemas em URLs:
| Caractere | Padrão | Seguro para URL |
|---|---|---|
| Sinal de mais | + |
- |
| Barra | / |
_ |
Base64 padrão Pz4/Pj8+QA== se torna Pz4_Pj8- QA_ na forma segura para URL (nota: o preenchimento = também é omitido no exemplo, embora o seguro para URL possa usar preenchimento).
Quando usar cada um
| Cenário | Variante |
|---|---|
| Anexos de e-mail (MIME) | Padrão |
| Data URIs em HTML/CSS | Padrão |
| JSON Web Tokens (JWT) | Seguro para URL |
| Parâmetros de consulta URL ou segmentos de caminho | Seguro para URL |
| Nomes de arquivo | Seguro para URL |
Cargas de API onde + pode ser decodificado como espaço |
Seguro para URL |
| Certificados e chaves PEM | Padrão |
O lado de decodificação desta ferramenta detecta automaticamente qual variante foi usada, então você pode colar qualquer formato sem alterar configurações.
Um equívoco comum
Alguns desenvolvedores acreditam que Base64 seguro para URL é um algoritmo diferente. Não é — apenas dois caracteres do alfabeto mudam. Qualquer decodificador Base64 padrão pode ser adaptado mapeando - → + e _ → / antes do processamento, que é exatamente o que esta ferramenta faz no lado da decodificação.
Preenchimento em Base64
O caractere = no final de uma string Base64 é preenchimento — não faz parte dos dados codificados.
Por que o preenchimento existe
Base64 processa a entrada em grupos de 3 bytes. Se o último grupo tiver menos de 3 bytes, o codificador adiciona = como preenchimento para tornar o comprimento total um múltiplo de 4. Isso é exigido por alguns decodificadores e permite concatenar múltiplas strings Base64 sem ambiguidade.
O que "sem preenchimento" significa
Quando você ativa "Sem preenchimento", o codificador remove os caracteres = finais da saída. Por exemplo:
- Entrada:
Fo→Rm8=(com preenchimento) →Rm8(sem preenchimento) - Entrada:
Foo→Rm9v(sem preenchimento em ambos os casos — múltiplo exato de 3)
Muitos sistemas modernos aceitam Base64 sem preenchimento, e o decodificador desta ferramenta sempre lida com isso. Ative esta opção quando o sistema para o qual você está enviando a saída não exigir ou não quiser preenchimento.
Matriz de Interoperabilidade
A seção de decodificação desta ferramenta aceita todas as quatro combinações automaticamente:
| Formato de Entrada | Exemplo | Decodifica? |
|---|---|---|
| Padrão com preenchimento | Rm8= |
Sim |
| Padrão sem preenchimento | Rm8 |
Sim |
| Seguro URL com preenchimento | Rm8= |
Sim |
| Seguro URL sem preenchimento | Rm8 |
Sim |
Não há configuração para ajustar. O decodificador normaliza a entrada antes do processamento.
Quando o preenchimento é necessário
Alguns sistemas exigem estritamente preenchimento, particularmente:
- Data URIs:
data:image/png;base64,...— o analisador do navegador espera Base64 corretamente preenchido. - Bibliotecas Base64 antigas: Algumas implementações rejeitam completamente entradas sem preenchimento.
Se você não tem certeza se o sistema de destino requer preenchimento, mantenha-o ativado (padrão). Remover o preenchimento só é seguro quando você controla tanto o codificador quanto o decodificador.
Base64 vs Outros Esquemas de Codificação
Base64 é um de vários esquemas de codificação binário-para-texto, cada um com diferentes compromissos em densidade, tamanho do alfabeto e caso de uso.
| Esquema | Tamanho do Alfabeto | Sobrecarga | Uso Típico |
|---|---|---|---|
| Hex (Base16) | 16 caracteres | 100 % | Impressões digitais, hashes, códigos de cor |
| Base32 | 32 caracteres | 60 % | Registros DNS, segredos TOTP, compartilhamento de arquivos |
| Base64 | 64 caracteres | 33 % | Data URIs, JWT, MIME, PEM, cargas de API |
| Base85 (Ascii85) | 85 caracteres | 25 % | Adobe PostScript, PDF, pickles Python |
| Base122 | 122 caracteres | ≈14 % | Nicho — codificação compacta para canais restritos |
Por que Base64 é o mais popular
Base64 atinge o ponto ideal para a maioria das aplicações práticas. Comparado ao Hex — que dobra o tamanho da entrada — a sobrecarga de 33 % do Base64 é significativamente mais eficiente. Comparado ao Base85, Base64 é mais simples de implementar (toda linguagem tem um decodificador embutido), e seu alfabeto evita os problemas de citação que caracteres Base85 como " e \ podem causar em alguns contextos.
Quando usar outra coisa
- Hex: Quando a legibilidade humana e a depuração importam mais que o tamanho. Uma string Hex como
4f6fé instantaneamente reconhecível como dados codificados;b293é menos óbvio como Base64. - Base32: Quando a distinção entre maiúsculas e minúsculas não é desejada (por exemplo, para ditar pelo telefone, impresso em produtos). Base32 usa apenas letras maiúsculas e dígitos.
- Base85: Quando cada byte de sobrecarga importa em um canal restrito e você controla ambas as extremidades do pipeline.
Para codificação web de propósito geral, Base64 continua sendo a escolha padrão correta. Esta ferramenta segue essa convenção.
Desempenho e Considerações de Tamanho
Base64 é simples e universal, mas tem custos reais que importam quando você trabalha com dados maiores.
A Sobrecarga de 33 %
Cada 3 bytes de entrada se tornam 4 bytes de saída, uma proporção de 4:3. Na prática, incluindo preenchimento e quebras de linha, a sobrecarga é de aproximadamente 37 % para entradas pequenas e se estabiliza em 33 % para entradas suficientemente grandes.
| Tamanho da Entrada | Tamanho Base64 Aproximado |
|---|---|
| 1 KB | 1,37 KB |
| 10 KB | 13,7 KB |
| 100 KB | 137 KB |
| 1 MB | 1,37 MB |
| 10 MB | 13,7 MB |
Base64 e Compressão
A compressão Gzip (ou Brotli) do texto Base64 é geralmente ineficaz. A saída Base64 tem uma distribuição uniforme de caracteres — cada um dos 64 caracteres aparece com aproximadamente a mesma frequência — o que elimina os padrões que os algoritmos de compressão exploram. Uma string Base64 comprimida é frequentemente apenas 5–10 % menor que a forma não comprimida, em comparação com a redução de 60–80 % alcançável com os dados binários originais.
Isso significa:
- Não codifique em Base64 antes de comprimir. Comprima primeiro, depois codifique se necessário.
- Não confie na compressão em nível de transporte (por exemplo, HTTP gzip) para compensar a sobrecarga Base64. Não vai.
Quando não usar Base64
Base64 faz sentido quando você precisa encaixar dados binários em um canal somente texto. Se o canal suporta transferência binária nativamente, pule Base64:
- Uploads de arquivos: Use
multipart/form-datacom binário bruto, não Base64 em JSON. O arquivo chega ao servidor 33 % maior e leva mais tempo para ser enviado. - Armazenamento em banco de dados: Armazene dados binários como
BYTEA(PostgreSQL),BLOB(MySQL/SQLite) ouvarbinary(MSSQL) em vez de texto Base64. - Chamadas de API entre serviços: Use gRPC, Thrift ou MessagePack com campos binários em vez de strings JSON codificadas em Base64.
Para cargas de texto (cargas JWT, conteúdo HTML, corpos de e-mail), a sobrecarga é insignificante e a conveniência do Base64 vale o compromisso.
Implicações de Cache
Quando você incorpora uma Data URI Base64 em HTML ou CSS, o conteúdo codificado se torna parte do recurso da página. O navegador não pode armazenar em cache essa Data URI independentemente — qualquer alteração na página a invalida. Um arquivo de imagem separado solicitado via <img src="icon.png"> pode ser armazenado em cache entre páginas com um cabeçalho Cache-Control distante. Para ativos maiores que alguns kilobytes, arquivos separados são quase sempre mais performáticos.
Erros Comuns e Equívocos
Base64 é simples, mas vários mal-entendidos recorrentes causam erros reais.
Base64 Não É Criptografia
Este é o equívoco mais comum. Como a saída Base64 parece caracteres aleatórios, muitos desenvolvedores assumem que ela fornece algum nível de proteção. Não fornece. A decodificação não requer chave ou segredo. Trate qualquer string Base64 como texto publicamente legível.
Se você vir um serviço armazenando senhas ou chaves de API como Base64, trate isso como um problema de segurança — os dados estão armazenados em texto simples.
Sensibilidade a Maiúsculas e Minúsculas
O alfabeto Base64 distingue entre maiúsculas e minúsculas:
- Maiúsculas: A–Z (valores 0–25)
- Minúsculas: a–z (valores 26–51)
Um erro de digitação como R vs r muda completamente o valor decodificado. Se sua saída decodificada parecer errada, verifique se há erros de maiúsculas/minúsculas na entrada.
Quebras de Linha MIME
Anexos de e-mail codificados em MIME quebram o corpo Base64 a cada 76 caracteres:
SGVsbG8sIHdvcmxkISBUaGlzIGlzIGEgdGVzdCBvZi BiYXNlNjQgZW5jb2Rpbmcu
VGhpcyBpcyB0aGUgc2Vjb25kIGxpbmUu
Nem todos os decodificadores Base64 lidam com essas quebras de linha incorporadas. Esta ferramenta lida — cole Base64 MIME multilinha diretamente sem pré-processamento. Um decodificador que não lida com quebras de linha produzirá um resultado distorcido ou um erro.
Espaços em Branco Ocultos
Copiar texto de e-mails, PDFs ou páginas web pode introduzir caracteres de espaço em branco invisíveis (espaços, tabulações, espaços de largura zero, espaços inseparáveis). Estes não são Base64 válido. Se uma string Base64 de aparência válida não decodificar, cole-a primeiro em um editor de texto simples para verificar caracteres ocultos, ou copie novamente da fonte.
Concatenação de Strings com Preenchimento
Duas strings Base64 com preenchimento concatenadas diretamente não necessariamente decodificam corretamente. O preenchimento = pertence ao último grupo de cada string, e a concatenação pode criar limites ambíguos. Isso é intencional — o preenchimento evita ambiguidade para strings individuais. Para dados em várias partes, processe cada parte separadamente.
Uso
Usar o Codificador e Decodificador Base64 não requer configuração, registro ou conta.
Codificar Texto para Base64
- Na seção Codificar Base64, digite ou cole seu texto na área de texto de entrada.
- A área de saída é atualizada automaticamente com o resultado codificado.
- Opcionalmente, ative Seguro para URL para usar a variante segura para web, ou Sem preenchimento para remover os caracteres
=finais. - Clique em Copiar para copiar o texto codificado para a área de transferência, ou Baixar Base64 para salvá-lo como um arquivo
.b64.
Decodificar Base64 para Texto
- Na seção Decodificar Base64, cole uma string Base64 na área de entrada.
- O texto decodificado aparece na área de saída instantaneamente.
- Se a entrada não for Base64 válido, uma mensagem de erro é exibida.
- Clique em Copiar ou Baixar para salvar o resultado decodificado.
Usar Upload de Arquivos
- Seção Codificar: solte um arquivo
.txtna zona de upload para carregar seu conteúdo para codificação. - Seção Decodificar: solte um arquivo
.b64ou.txtpara carregar conteúdo Base64 para decodificação.
O conteúdo do arquivo é lido, colocado na área de texto de entrada e processado imediatamente.
Tutorial
Cenário: Você está construindo uma aplicação web que se comunica com uma API. A API espera que a carga da requisição inclua um campo de texto curto codificado como Base64 seguro para URL sem preenchimento. Você precisa codificar seu texto, verificar a saída e confirmar que a API aceita. Mais tarde, você recebe uma resposta da mesma API com um campo codificado em Base64 que precisa decodificar.
Este tutorial guia você através do percurso completo.
Parte 1: Codificar
-
Abra o Codificador e Decodificador Base64 no seu navegador. Você vê duas seções lado a lado — Codificar à esquerda, Decodificar à direita.
-
Na área de entrada Codificar, digite o seguinte texto:
Olá, servidor API. Esta é minha carga.A área de saída mostra imediatamente a codificação Base64 padrão. O resultado começa com
T2zDqSwg. Tudo bem por enquanto. -
A especificação da API requer Base64 seguro para URL sem preenchimento. Ative ambas as caixas Seguro para URL e Sem preenchimento. Observe como a saída muda:
- Caracteres
+(se houver) se tornam- - Caracteres
/se tornam_ - Caracteres
=finais desaparecem
- Caracteres
-
Clique em Copiar para copiar o resultado codificado para sua área de transferência. Cole-o na carga da sua requisição API.
Parte 2: Decodificar
-
A API responde com uma carga JSON contendo um campo codificado em Base64:
{ "status": "ok", "message": "eyJzdWIiOiAiMTAwMSIsICJuYW1lIjogIkFQSSBHYXRld2F5In0=" } -
Copie o valor de
messagee cole-o na área de entrada Decodificar.A área de saída mostra instantaneamente o texto decodificado:
{ "sub": "1001", "name": "API Gateway" } -
A carga JSON similar a JWT agora está legível. Se a API tivesse usado Base64 seguro para URL (sem
+ou/na string, ou com-e_), o decodificador teria lidado automaticamente.
Parte 3: Fluxo de Trabalho Baseado em Arquivos
-
Suponha que você precise enviar a carga codificada para um colega que prefere arquivos. Clique em Baixar Base64 na seção Codificar. A caixa de diálogo Salvar Como do seu navegador abre, sugerindo
download.b64como nome de arquivo. Salve o arquivo. -
Seu colega recebe o arquivo e abre esta mesma ferramenta. Ele arrasta
download.b64para a zona de upload da seção Decodificar. O conteúdo do arquivo aparece na área de entrada, e o texto decodificado aparece imediatamente.
Este percurso — codificar com opções → copiar ou baixar → decodificar com detecção automática — cobre o fluxo de trabalho real mais comum. A ferramenta lida com toda a normalização para que você não precise pensar em variantes de caracteres ou regras de preenchimento.
Dicas Profissionais
-
Codifique e decodifique simultaneamente: As duas seções são independentes. Você pode digitar texto na seção Codificar e colar uma string Base64 separada na seção Decodificar ao mesmo tempo. Use isso para comparar entrada e saída de ambas as direções lado a lado.
-
Seguro para URL para JWTs: Ao trabalhar com tokens JWT, sempre ative o modo seguro para URL. Segmentos JWT usam a variante segura para URL (RFC 7515). Se você colar um segmento JWT na seção de decodificação, a ferramenta detecta os caracteres seguros para URL automaticamente.
-
Remova espaços em branco antes de colar: Algumas fontes de dados Base64 incluem quebras de linha ou espaços finais. O decodificador lida melhor com entradas limpas. Se você vir um erro "String Base64 inválida", verifique se o texto colado tem espaços em branco adicionais.
-
Baixe para saídas grandes: Para strings Base64 longas, use os botões Baixar em vez de Copiar. A caixa de diálogo Salvar Como nativa permite escolher onde salvar o arquivo, e o resultado é salvo como um arquivo
.b64ou.txtque você pode transferir ou arquivar. -
Upload como alternativa à digitação: Se você já tem um arquivo contendo o texto ou dados Base64, arraste-o para a zona de upload. Isso é mais rápido que abrir o arquivo, selecionar tudo, copiar e colar — especialmente para arquivos grandes.
-
Decodifique primeiro para verificar o formato: Se você receber uma string Base64 e não tiver certeza se contém texto ou dados binários, cole-a na seção de decodificação. Se a saída for texto legível, pronto. Se contiver caracteres distorcidos ou glifos de substituição ( ), a fonte original era provavelmente binária (uma imagem, PDF ou outro formato não textual).
Alternativas
Existem várias outras formas de codificar ou decodificar Base64, cada uma com diferentes compromissos.
| Ferramenta / Método | Melhor para | Limitações |
|---|---|---|
| Toollect Codificador e Decodificador Base64 | Codificação/decodificação em tempo real no navegador, privacidade primeiro, seções duplas codificar/decodificar | Requer internet para o carregamento inicial da página |
Comando Unix base64 |
Scripts, processamento em lote, fluxos com pipe | Apenas linha de comando, sem GUI, sem alternância seguro para URL |
| CyberChef | Transformações de dados em múltiplas etapas (Base64 + descomprimir + decifrar) | Exagerado para codificar/decodificar simples, carregamento de página mais pesado |
DevTools do navegador btoa()/atob() |
Conversões rápidas únicas sem sair das ferramentas de desenvolvedor | Sem suporte UTF-8 por padrão, sem upload de arquivo, sem opção segura para URL |
| Ferramentas Base64 online (lado servidor) | Uso único quando você não pode executar ferramentas do lado cliente | Dados são enviados para um servidor; risco de privacidade para conteúdo sensível |
OpenSSL openssl base64 |
Processamento de certificados PEM, fluxos criptográficos | Apenas linha de comando, orientado a certificados, não para uso casual de texto |
Para codificar ou decodificar texto Base64 com privacidade, feedback em tempo real e sem conhecimento de linha de comando, esta ferramenta oferece a melhor experiência do usuário.
Privacidade de Dados
O Codificador e Decodificador Base64 processa cada caractere inteiramente no seu navegador. Nenhum texto que você insere é transmitido para um servidor, armazenado em um banco de dados ou registrado em qualquer sistema.
Toda a conversão é realizada usando as funções nativas btoa() e atob() do JavaScript na memória do navegador. A página não inclui scripts de análise, pixels de rastreamento ou incorporações de terceiros. Nenhum cookie, entrada localStorage ou sessionStorage é criado ou lido.
Após o carregamento inicial da página, a ferramenta funciona completamente offline. Você pode se desconectar da internet e continuar codificando e decodificando sem interrupção. Verifique isso usando a ferramenta no modo avião ou inspecionando a atividade de rede nas ferramentas de desenvolvedor do seu navegador — nenhuma requisição sai do seu dispositivo após o carregamento da página.
Solução de Problemas
| Problema | Causa Provável | Solução |
|---|---|---|
| Decodificação mostra "String Base64 inválida" | Entrada contém caracteres não Base64 | Verifique se a entrada usa apenas A–Z, a–z, 0–9, +, /, -, _ e =. Remova espaços em branco ou quebras de linha. |
| Decodificação produz texto distorcido ou glifos de substituição ( ) | Dados originais eram binários (imagem, PDF, ZIP), não texto | Esta ferramenta decodifica Base64 para texto. Se a entrada original era binária, a saída não será legível. Use um decodificador Base64 binário dedicado ou identifique primeiro o formato com o comando file. |
| Decodificação produz texto distorcido para Base64 de aparência correta | Entrada pode ter quebras de linha MIME (a cada 76 caracteres) | Esta ferramenta lida com quebras de linha automaticamente. Se o problema persistir, verifique a string em um editor de texto simples para outros espaços ocultos. |
Erro btoa() ao colar determinado texto |
Caracteres não ASCII na entrada (chinês, emoji, etc.) sem invólucro UTF-8 | Isso é tratado automaticamente pela ferramenta. Se você vir um erro JavaScript bruto, o invólucro UTF-8 não está sendo aplicado. Atualize a página. |
| Arquivo .b64 baixado tem conteúdo incorreto | O arquivo pode ter sido aberto em um editor que adicionou quebras de linha | Arquivos .b64 devem conter uma única string Base64 contínua. Se seu editor quebrar linhas, o arquivo ainda é válido — cole-o de volta na ferramenta para verificar. |
| Zona de upload não responde a arrastar e soltar | Restrições de segurança do navegador ou falta de suporte JavaScript | Arrastar e soltar requer JavaScript e pode ser bloqueado por algumas políticas de segurança do navegador. Use o seletor de arquivos (clique na zona de upload) como alternativa. |
| Saída difere de outra ferramenta Base64 | Modo de preenchimento ou seguro para URL pode diferir | Verifique se a outra ferramenta remove preenchimento ou usa uma variante diferente. Ative as caixas para corresponder. Se a outra ferramenta usar um alfabeto não padrão, esta ferramenta não pode replicá-lo. |
| Texto decodificado está vazio mas nenhum erro é mostrado | Entrada consistia inteiramente em caracteres de preenchimento (ex. "==") | Uma string de apenas caracteres de preenchimento é tecnicamente válida mas decodifica para um resultado vazio. Verifique sua entrada para dados ausentes. |
Especificações Técnicas
- Algoritmo Principal:
btoa()/atob()envolvido comencodeURIComponent/decodeURIComponentpara segurança UTF-8 - Padrão: RFC 4648 §4 (Base64 padrão), RFC 4648 §5 (Base64 seguro para URL)
- Tratamento de Entrada: Conversão automática de caracteres seguros para URL (
-→+,_→/) e normalização de preenchimento na decodificação - Processamento em Tempo Real: Listener de eventos
inputem áreas de texto, debatido a aproximadamente um quadro (16 ms) - E/S de Arquivos: API
FileReaderpara upload,showSaveFilePicker(File System Access API) com fallback<a download> - Formatos de Download:
.b64(codificado),.txt(decodificado) - Formatos de Upload:
.txt(seção Codificar),.b64/.txt(seção Decodificar)
Benchmarks de Desempenho
| Tamanho da Entrada | Tempo de Codificação | Tempo de Decodificação |
|---|---|---|
| 1 KB | < 1 ms | < 1 ms |
| 10 KB | < 2 ms | < 2 ms |
| 100 KB | < 10 ms | < 10 ms |
| 1 MB | < 50 ms | < 50 ms |
Medido em um laptop de gama média de 2020 (Chrome 120). O desempenho escala linearmente com o tamanho da entrada. Para cargas de texto típicas abaixo de 100 KB, a conversão é praticamente instantânea.
Compatibilidade com Navegadores
| Navegador | Versão Mínima | Status |
|---|---|---|
| Google Chrome | 86+ | Suporte total |
| Mozilla Firefox | 87+ | Suporte total |
| Apple Safari | 15+ | Suporte total |
| Microsoft Edge | 86+ | Suporte total |
| Samsung Internet | 15+ | Suporte total |
| Opera | 72+ | Suporte total |
showSaveFilePicker requer navegadores baseados em Chromium (Chrome, Edge, Opera, Samsung Internet). No Firefox e Safari, o download usa automaticamente o método <a download> como fallback.
Privacidade e Segurança
- Zero transmissão de dados: todo o processamento de texto ocorre na memória do navegador
- Nenhum cookie, localStorage ou sessionStorage usado
- Nenhum script de análise ou rastreamento na página da ferramenta
- Totalmente funcional em modo offline após o carregamento inicial da página
- Nenhum registro, login ou chave de API necessária
Recursos
- Codificar texto para Base64 e decodificar Base64 de volta para texto com conversão em tempo real
- Modo seguro para URL usando -_ em vez de +/ para Base64 compatível com a web (RFC 4648 §5)
- Opção sem preenchimento para remover sinais de igual finais (RFC 4648 §3.2)
- Explicação integrada do esquema de codificação Base64 e do formato de arquivo .b64
- Enviar arquivos .txt e .b64 com suporte a arrastar e soltar
- Baixar resultados como arquivos .b64 ou .txt com diálogo nativo Salvar Como
- Totalmente do lado do cliente — sem envios ao servidor, funciona offline