Como usar
- Cole a string Base64 na entrada ou clique em Abrir arquivo para carregar um arquivo que contenha texto em Base64.
- Mantenha a saída como Texto e escolha o conjunto de caracteres em Codificação de texto (UTF-8 por padrão), ou mude a saída para Hex no caso de dados binários.
- Se a decodificação falhar, leia a mensagem de erro: ela indica a posição do primeiro caractere inválido.
- Copie o resultado decodificado ou baixe-o.
O que o decodificador aceita
A decodificação inverte a codificação: cada caractere é convertido de volta em seu valor de 6 bits, e cada grupo de quatro caracteres vira três bytes. O Base64 encontrado no dia a dia raramente vem limpo, por isso este decodificador é tolerante:
- Espaços e quebras de linha são ignorados, então corpos MIME e blocos PEM com quebras de linha podem ser colados como estão. Mas apague antes as linhas
-----BEGINe-----END: suas letras e hifens são caracteres Base64 válidos e seriam decodificados como dados. - Entrada segura para URL com
-e_é decodificada exatamente como o Base64 padrão com+e/. - Preenchimento ausente não é problema. Apenas um comprimento de 4n + 1 caracteres é rejeitado, porque um único caractere restante não consegue formar um byte; isso geralmente significa que a string foi cortada.
- Data URIs também funcionam: um prefixo
data:...;base64,no início é removido antes da decodificação.
Saída em texto ou em binário
O resultado da decodificação é sempre uma sequência de bytes. Se o original era texto, mantenha a saída como texto e escolha o conjunto de caracteres dele. Se era uma imagem, um PDF, um arquivo compactado, uma chave ou um texto cifrado, nenhum conjunto de caracteres vai torná-lo legível: mude a saída para hex para inspecionar os bytes ou abra Base64 para arquivo ou Base64 para imagem para visualizar e salvar o conteúdo. Os primeiros caracteres muitas vezes já revelam do que se trata:
| Base64 começa com | Conteúdo decodificado |
|---|---|
iVBORw0KGgo | Imagem PNG |
/9j/ | Imagem JPEG |
R0lGOD | Imagem GIF |
JVBERi0 | Documento PDF |
UEsDB | Arquivo ZIP, incluindo DOCX, XLSX e JAR |
H4sI | Dados compactados com gzip |
eyJ | Objeto JSON, como o cabeçalho de um JWT |
Por que o texto decodificado aparece com caracteres estranhos
- Conjunto de caracteres errado. Um texto UTF-8 lido como Windows-1252 transforma é em
é, e um texto GBK ou Shift_JIS lido como UTF-8 exibe caracteres de substituição (�). Selecione o conjunto de caracteres em que o texto foi escrito. - Dados binários. Símbolos aleatórios com um ou outro fragmento legível, como
PNGouPKperto do início, indicam que o conteúdo é um arquivo, e não texto. - Dados compactados ou criptografados. Fluxos gzip, Protocol Buffers e textos cifrados são decodificados corretamente, mas não são texto. A saída em hex mostra o que realmente está ali.
- Codificação dupla. Se a saída também for Base64, cole-a de volta na entrada e decodifique-a uma segunda vez.
Como decodificar Base64 em código
# Python
base64.b64decode(s).decode('utf-8')
// Node.js (também aceita entrada segura para URL)
Buffer.from(s, 'base64').toString('utf8')
// Navegador: atob() retorna um caractere por byte, então decodifique o UTF-8 depois
new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)))
# Shell do Linux e do macOS
echo 'SGVsbG8=' | base64 --decode
Especificação
| Alfabeto | A-Z a-z 0-9 + / |
|---|---|
| Tamanho da saída | 4 caracteres a cada 3 bytes (cerca de 133%) |
| Preenchimento | Com = até um múltiplo de 4 caracteres |
| Padrão | RFC 4648, seção 4 |
| Diferencia maiúsculas e minúsculas | Sim |
Exemplos
| Entrada (UTF-8) | Saída |
|---|---|
Hello, World! | SGVsbG8sIFdvcmxkIQ== |
Base64.is | QmFzZTY0Lmlz |
你好 | 5L2g5aW9 |
Perguntas frequentes
Por que recebo um erro de caractere inválido?
%2B e %3D copiados de uma URL. Remova as aspas ou aplique antes a decodificação de URL à string. A mensagem de erro mostra a posição do primeiro caractere problemático.Posso decodificar Base64 sem preenchimento?
= no final, então strings sem preenchimento vindas de JWTs, URLs e APIs são decodificadas normalmente.Por que a saída fica errada depois de copiar Base64 de uma URL?
+ em espaço. Aqui os espaços são ignorados, então esses caracteres se perdem. Substitua os espaços por + antes de decodificar e use Base64URL para valores que trafegam em URLs.Como decodificar Base64 para uma imagem ou arquivo?
Meu Base64 é enviado para um servidor?
Não. A decodificação acontece no seu navegador, com JavaScript, e a entrada nunca sai do seu dispositivo, o que é importante quando você decodifica tokens, segredos de configuração ou dados pessoais.