A decodificação Base64 é o processo inverso da codificação Base64: converte uma string ASCII codificada em Base64 de volta aos dados binários ou texto originais. Cada 4 caracteres Base64 decodificam para 3 bytes de dados originais. O decodificador busca cada caractere no alfabeto Base64, reconstrói os grupos originais de 6 bits e os remonta em bytes de 8 bits.
Dados codificados em Base64 são reconhecíveis pelo uso de letras maiúsculas e minúsculas, dígitos, e +/ (padrão) ou -_ (seguro para URL), frequentemente terminando com um ou dois caracteres de preenchimento =. Aparecem com frequência em tokens JWT, anexos de e-mail, data URI, respostas de API e arquivos de configuração — em qualquer lugar onde dados binários ou estruturados precisam ser incorporados em um contexto somente de texto.
Por que usar esta ferramenta?
Este decodificador lida com Base64 padrão e URL-safe, corrige automaticamente o preenchimento ausente e decodifica inteiramente no seu navegador sem enviar dados para servidores.
⚡
Correção automática de preenchimento
Muitas fontes produzem Base64 sem os caracteres = finais. Esta ferramenta calcula e adiciona automaticamente o preenchimento ausente antes de decodificar, prevenindo exceções InvalidCharacterError.
🛡️
Ambas as variantes suportadas
Detecta e lida automaticamente com Base64 padrão (+/) e Base64 URL-safe (-_), para que você possa colar tokens de qualquer fonte sem conversão manual.
🔒
Totalmente no lado do cliente
A decodificação ocorre localmente no seu navegador usando a API nativa atob. Seus dados — que podem conter segredos ou conteúdo sensível — nunca saem do seu dispositivo.
🌐
Saída Unicode
Decodifica corretamente texto codificado UTF-8 de volta para Unicode completo, incluindo caracteres multibyte, emoji e scripts CJK.
Como usar este decodificador Base64 online
Sem conta, sem upload, sem instalação. Cole sua string Base64 no campo de entrada e o resultado decodificado aparece instantaneamente. Tudo roda no seu navegador — seus dados nunca saem do seu dispositivo.
1
Cole sua string Base64
Copie qualquer string codificada em Base64 — um JWT, uma resposta de API, um cabeçalho de anexo de e-mail ou um arquivo de configuração — e cole no campo de entrada. As variantes padrão e URL-safe são detectadas automaticamente.
2
Detecção automática e reparo
O decodificador identifica se sua entrada usa Base64 padrão (+/) ou URL-safe (-_) e corrige automaticamente o padding = ausente. Não é necessário normalizar a string manualmente antes de decodificar.
3
Inspecione a saída
O texto decodificado aparece no campo de saída. Se os dados originais eram texto UTF-8, são exibidos como caracteres legíveis. Dados binários são mostrados como estão. Uma mensagem de erro aparece se a entrada contém caracteres inválidos que não podem ser decodificados.
4
Copie ou use o resultado
Clique em Copiar para pegar a saída decodificada, ou use-a diretamente no seu fluxo de trabalho. Precisa recodificar o resultado? Mude para a ferramenta Codificador Base64 com um único clique.
Como funciona a decodificação
Cada caractere Base64 mapeia para um valor de 6 bits (0–63). Quatro caracteres consecutivos fornecem 24 bits, que decodificam para 3 bytes de dados originais. O exemplo abaixo mostra como "TWFu" decodifica de volta para "Man":
Exemplo "Man" → TWFu → "Man"
Car.
Índice
6 bits
T
19
010011
W
22
010110
F
5
000101
u
46
101110
Os quatro grupos de 6 bits (010011 010110 000101 101110) são concatenados para 24 bits, depois divididos em três bytes de 8 bits: 01001101 (M=77), 01100001 (a=97), 01101110 (n=110).
Entendendo o preenchimento
A codificação Base64 agrupa bytes de entrada em conjuntos de 3. Quando o comprimento da entrada não é divisível por 3, caracteres de preenchimento (=) são adicionados para completar o grupo final. Ao decodificar, esses caracteres = são removidos e o decodificador sabe descartar os bits zero extras adicionados durante a codificação.
Original
Codificado
Regra de preenchimento
A
QQ==
1 byte → 2 padding chars
AB
QUI=
2 bytes → 1 padding char
ABC
QUJD
3 bytes → no padding needed
Casos de uso comuns
Inspecionar cargas JWT
Tokens JWT consistem em três segmentos codificados em Base64 URL-safe. Decodificar o segundo segmento (carga útil) revela as claims: ID do usuário, funções, tempo de expiração e outros metadados — sem precisar de uma chave de assinatura.
Ler respostas de API
APIs REST frequentemente retornam dados binários (conteúdo de arquivos, miniaturas, material criptográfico) codificados em Base64 em respostas JSON. Decodifique o campo para ler os dados originais.
Decodificar conteúdo de e-mail
Corpos e anexos de e-mail MIME são codificados em Base64. Decodificá-los revela o conteúdo de texto original ou permite reconstruir anexos binários.
Extrair segredos do Kubernetes
Kubernetes armazena valores secretos como Base64 em manifestos YAML. Decodificá-los revela as senhas, tokens e chaves reais armazenados no cluster — útil para depuração e auditoria.
Depurar configuração
Variáveis de ambiente e segredos de pipeline CI/CD frequentemente são codificados em Base64 para armazenamento seguro em arquivos de configuração YAML ou JSON. Decodifique-os para verificar os valores reais durante a depuração.
Decodificar URIs de dados
URIs de dados incorporam recursos codificados em Base64 diretamente em HTML/CSS. Decodifique a porção Base64 para extrair a imagem original, fonte ou outro recurso incorporado.
Armadilhas comuns
Estas são as causas mais frequentes de erros de decodificação Base64 na prática:
✕
Preenchimento ausente
Strings Base64 devem ter comprimento múltiplo de 4. Muitas APIs e bibliotecas JWT removem os = finais por compacidade. Adicione o preenchimento de volta: a contagem de = ausentes é (4 - comprimento % 4) % 4.
✕
Caracteres URL-safe não convertidos
Base64 URL-safe usa - e _ em vez de + e /. Se você passar Base64 URL-safe diretamente para atob() ou base64.b64decode(), falhará. Sempre substitua - → + e _ → / antes de decodificar com bibliotecas padrão.
✕
Espaços em branco e quebras de linha
Certificados PEM, dados MIME e Base64 copiado e colado frequentemente contêm quebras de linha a cada 76 caracteres. Remova todos os espaços em branco antes de decodificar para evitar InvalidCharacterError.
✕
Saída binária vs texto
Base64 pode codificar qualquer dado binário, não apenas texto. Se os dados originais eram um arquivo binário (imagem, PDF), decodificá-los como texto UTF-8 produzirá lixo. Use o método de saída binária apropriado para cargas não textuais.
Exemplos de código
Como decodificar uma string Base64 em linguagens e ambientes populares:
JavaScript (browser)
// Standard Base64
const decoded = decodeURIComponent(escape(atob(encoded)))
// URL-safe Base64 (restore padding first)
function decodeUrlSafe(str) {
const padded = str.replace(/-/g, '+').replace(/_/g, '/')
const pad = padded.length % 4
return decodeURIComponent(escape(atob(padded + '='.repeat(pad ? 4 - pad : 0))))
}
Múltiplas ferramentas podem decodificar Base64, mas diferem em privacidade, velocidade e conveniência.
Esta ferramenta
Baseada no navegador, instantânea, privada. Nenhum dado enviado a qualquer servidor. Trata Base64 padrão e URL-safe, corrige automaticamente o padding e funciona offline.
CLI (base64 -d)
Rápido para scripts e arquivos grandes. Requer um terminal. Precisa de normalização manual para entrada URL-safe (-_ → +/).
Ferramentas de propósito geral
Curl, Postman, DevTools do navegador e conversores online podem decodificar Base64. A conveniência varia; alguns enviam dados para servidores remotos.
Perguntas frequentes
Por que a decodificação me dá caracteres ininteligíveis?
A causa mais comum é decodificar dados binários (imagens, arquivos comprimidos) como texto UTF-8 — bytes binários frequentemente não formam sequências Unicode válidas. Outra causa é decodificar Base64 URL-safe (-_) com um decodificador padrão que espera +/. Verifique qual variante sua fonte usa.
O que é InvalidCharacterError?
Este erro do navegador de atob() ocorre quando a entrada contém caracteres fora do alfabeto Base64, como caracteres URL-safe (- ou _), espaços em branco, quebras de linha ou caracteres não ASCII. Remova espaços em branco e converta caracteres URL-safe antes de chamar atob().
Como sei se meu Base64 é URL-safe ou padrão?
Procure por caracteres - ou _: se presentes, é Base64 URL-safe. Base64 padrão usa + e /. Base64 URL-safe também tipicamente omite os caracteres de preenchimento =. Tokens JWT sempre usam Base64 URL-safe.
A decodificação Base64 pode falhar silenciosamente?
Sim. Alguns decodificadores ignoram silenciosamente caracteres inválidos em vez de lançar um erro, produzindo saída incorreta. Sempre valide que seus dados decodificados correspondam ao formato esperado (JSON, cabeçalho de imagem, etc.) em vez de assumir que o decodificador teve sucesso.
Há um limite de tamanho para decodificação Base64?
Esta ferramenta baseada em navegador pode lidar com strings Base64 de até alguns megabytes antes de a interface ficar lenta. Para arquivos muito grandes, use uma ferramenta CLI ou decodificador no lado do servidor.
Por que Base64 termina com um ou dois sinais =?
= é o caractere de preenchimento. Base64 codifica 3 bytes em 4 caracteres. Se o comprimento dos dados originais não for múltiplo de 3, um ou dois caracteres = são adicionados para que o comprimento total da saída seja múltiplo de 4. Um = significa 2 bytes de entrada no último grupo; dois == significa 1 byte de entrada.
Posso decodificar arquivos binários, imagens ou PDFs?
Sim, mas a saída serão dados binários brutos que podem não ser exibidos corretamente como texto. Para conteúdo binário, é melhor usar o URI de dados diretamente em uma tag '<'img'>' ou '<'a'>', ou salvar os bytes decodificados em um arquivo usando um script.
Existe um limite de tamanho para decodificação?
Esta ferramenta roda inteiramente no navegador sem limite do lado do servidor. Os limites práticos dependem da memória do seu navegador. Strings Base64 muito grandes (acima de alguns MB) são melhor tratadas com uma ferramenta CLI como base64 -d (Linux/macOS) ou certutil -decode (Windows).