> base64 decoder | paste | decode <
// Cole qualquer string Base64 — padrão, URL-safe ou sem preenchimento — e decodifique para texto UTF-8 instantaneamente. Funciona 100% no seu navegador.
Detecção automática de formato
Detecta automaticamente Base64 padrão RFC 4648, Base64 URL-safe (-_) e preenchimento ausente. Nenhuma configuração necessária — basta colar.
100% no navegador
Suas strings Base64 nunca saem do seu dispositivo. Sem uploads para servidor, sem logs, sem telemetria. Seguro para tokens, credenciais e payloads privados.
Decodificação instantânea
Decodifica conforme você digita. Lida com texto UTF-8 multibyte, emoji, JSON, XML, binário como Base64. Tamanho de entrada ilimitado.
// COMO FUNCIONA A DECODIFICAÇÃO BASE64
Algoritmo de decodificação Base64:
O Base64 codifica 3 bytes de dados binários em 4 caracteres ASCII de um alfabeto de 64 caracteres (A-Z, a-z, 0-9, +, /). A decodificação inverte o processo: cada caractere é mapeado para um valor de 6 bits, e quatro grupos de 6 bits se recombinam em três bytes de 8 bits. Caracteres de preenchimento (=) são anexados para que o comprimento codificado seja múltiplo de 4. Este decodificador aceita entrada com preenchimento, sem preenchimento e URL-safe, e retorna texto UTF-8.
Exemplo de decodificação:
Input : SGVsbG8sIEJhc2U2NCE=
Bits : 01001000 01100101 01101100 01101100
01101111 00101100 00100000 01000010
01100001 01110011 01100101 00110110
00110100 00100001
Output : Hello, Base64!
Cenários comuns de decodificação:
- >Decodificar o cabeçalho e o payload de um JWT (antes da assinatura)
- >Ler anexos de e-mail codificados em Base64 (MIME)
- >Inspecionar parâmetros de URL Base64 e tokens de state OAuth
- >Extrair texto de Data URIs (data:text/plain;base64,...)
- >Depurar respostas de API que encapsulam binários como Base64
// PERGUNTAS FREQUENTES
Como decodifico uma string Base64 online?
Cole a string Base64 na área ENTRADA acima — o decodificador funciona automaticamente conforme você digita (a decodificação automática está ativada por padrão). O texto decodificado aparece instantaneamente na área SAÍDA. Você também pode clicar explicitamente em [DECODE] ou usar Ctrl/Cmd + Enter. Tudo é executado localmente no seu navegador; nada é enviado a um servidor, então colar tokens JWT, state OAuth ou payloads confidenciais é seguro.
Quais variantes de Base64 este decodificador suporta?
Todas. O decodificador detecta automaticamente e aceita:
• Base64 padrão (RFC 4648) — alfabeto A-Z a-z 0-9 + / com preenchimento =.
• Base64 URL-safe (RFC 4648 §5) — alfabeto com - e _ em vez de + e /. Usado por JWT, OAuth, APIs do Google e URLs pré-assinadas do AWS S3.
• Base64 sem preenchimento — os sinais = finais são omitidos. Comum em JWT, onde um decodificador precisa adicionar o preenchimento automaticamente.
• Tolerante a espaços em branco — quebras de linha, tabulações e espaços dentro da string Base64 são removidos antes da decodificação (trata a saída de 76 colunas com quebra MIME dos corpos de e-mail).
O formato detectado é exibido como um selo abaixo dos botões, para que você saiba a qual variante o decodificador classificou sua entrada.
Por que meu Base64 decodifica para caracteres ilegíveis ou falha com um erro?
A maioria das falhas de decodificação tem uma destas cinco causas:
1. A entrada não é realmente Base64. Muitas pessoas confundem Base64 com hexadecimal, Base32 ou codificação de URL. O Base64 usa apenas A-Z a-z 0-9 + / = (ou - _ para URL-safe). Se a string contém %20, é codificação percentual; se é composta apenas por 0-9 a-f, provavelmente é hexadecimal.
2. Truncamento. O comprimento do Base64 deve ser múltiplo de 4 após o preenchimento. Um copiar e colar que descarta os == finais causa erros de "comprimento inválido". Este decodificador preenche automaticamente, mas strings severamente truncadas ainda falham.
3. Mistura de URL-safe e padrão. Se +/-_ estiverem todos presentes, a string é ambígua e provavelmente está corrompida. Apenas uma variante deve ser usada.
4. Dupla codificação. Às vezes uma string é codificada em Base64 duas vezes. Decodificar uma vez gera caracteres ilegíveis que são, eles próprios, Base64. Decodifique novamente para obter o texto final.
5. Codificação UTF-8 do texto original. O Base64 decodifica para bytes. Se os bytes originais não forem UTF-8 válido (por exemplo, dados binários brutos como um blob criptografado ou um PNG), a saída decodificada parecerá mojibake. Isso é esperado — use uma ferramenta de Base64 para arquivo.
Como decodifico um JWT com este decodificador Base64?
Um JWT tem três partes separadas por pontos: header.payload.signature. Todas as três são Base64 URL-safe sem preenchimento. Para inspecionar o payload:
1. Copie o segmento do meio (entre os dois pontos).
2. Cole-o no decodificador acima. A decodificação automática lida com o alfabeto URL-safe e adiciona o preenchimento ausente.
3. Você obtém o payload JSON com claims como iss, sub, exp, iat.
A assinatura (terceiro segmento) é uma saída binária HMAC ou RSA — decodificá-la como texto gera caracteres ilegíveis, o que é esperado. Para um inspetor de JWT completo com verificação de assinatura, use nosso Decodificador JWT dedicado.
Nota de segurança: decodificar um JWT não o verifica. Qualquer pessoa pode ler o payload de um JWT — isso é proposital. A assinatura prova que o token veio do emissor; ela é verificada separadamente com a chave pública ou o segredo compartilhado do emissor.
Posso decodificar Base64 na linha de comando (bash, PowerShell, Python)?
Sim — todas as principais plataformas vêm com um decodificador Base64. Quando esta ferramenta online for muito lenta para colar, use:
macOS / Linux (bash/zsh):echo 'SGVsbG8=' | base64 -d — produz Hello. Use -D no macOS se -d não funcionar. Para entrada URL-safe, passe primeiro por tr '_-' '/+'.
Windows PowerShell:[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('SGVsbG8='))
Python:import base64
base64.b64decode('SGVsbG8=').decode('utf-8') # Hello
base64.urlsafe_b64decode(s + '===').decode() # URL-safe com auto-pad
Node.js:Buffer.from('SGVsbG8=', 'base64').toString('utf-8')
DevTools do navegador:atob('SGVsbG8=') — funciona em qualquer console. Para strings UTF-8, envolva com new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0))).
PHP: base64_decode('SGVsbG8=')
Ruby: Base64.decode64('SGVsbG8=')
Go: base64.StdEncoding.DecodeString("SGVsbG8=")
Este decodificador Base64 é seguro para decodificar tokens e credenciais confidenciais?
Sim — este decodificador é mais seguro do que ferramentas do lado do servidor porque nada sai do seu navegador. A decodificação acontece inteiramente em JavaScript no seu dispositivo, por meio das APIs nativas atob() e TextDecoder. Não há chamada de rede, nem upload, nem registro de logs, nem análise sobre o conteúdo da entrada. Você pode verificar isso por conta própria abrindo a aba Rede das DevTools do navegador durante a decodificação — verá zero requisições.
Dito isso, Base64 não é criptografia — é apenas codificação. Qualquer pessoa com a string Base64 pode decodificá-la. Portanto, embora esta ferramenta seja segura, você ainda deve:
• Nunca compartilhar capturas de tela de JWTs decodificados que ainda não expiraram.
• Rotacionar credenciais que vazem em qualquer lugar (logs, capturas de tela, chats compartilhados).
• Tratar state OAuth, tokens CSRF e IDs de sessão decodificados como segredos até serem invalidados.
Para ambientes corporativos/regulamentados em que até a string Base64 é sensível, você pode salvar esta página offline (Cmd/Ctrl + S) — ela funciona totalmente isolada após um único carregamento, pois a lógica de decodificação é JavaScript puro.
Como decodifico um Data URI Base64 como 'data:image/png;base64,iVBORw0KGgo...'?
Um Data URI segue a sintaxe data:[<mediatype>][;base64],<data>. Para decodificar apenas o payload:
1. Encontre a vírgula. Tudo antes dela são metadados (data:image/png;base64), tudo depois é o arquivo codificado em Base64.
2. Copie apenas a parte após a vírgula para este decodificador.
3. Para conteúdo binário (PNG, JPG, PDF), a saída decodificada serão bytes brutos — a renderização como texto mostra mojibake. Isso é esperado.
4. Para visualizar uma imagem Data URI, cole o URI data:... inteiro na barra de endereços do seu navegador — o navegador decodifica e renderiza diretamente.
5. Para salvar o arquivo de imagem, use nossa ferramenta dedicada Base64 para imagem, que trata o Data URI completo e baixa um PNG/JPG/WebP.
Data URIs são comumente encontrados em: regras CSS background-image, ícones SVG inline, imagens de assinatura de e-mail, anexos PDF codificados em respostas de API JSON e pacotes de ícones de extensões do Electron/VS Code.
Qual é a diferença entre codificação e decodificação Base64?
A codificação pega dados binários ou textuais arbitrários e produz uma string ASCII usando apenas caracteres imprimíveis — segura para transporte em canais somente texto (e-mail, URLs, JSON). A decodificação inverte isso: uma string ASCII Base64 volta a ser os bytes originais.
Propriedades principais:
• Ida e volta sem perdas: decode(encode(x)) === x para qualquer entrada de bytes. Nenhum dado é perdido.
• Não é criptografia: o Base64 não oferece nenhum sigilo. Qualquer pessoa pode decodificá-lo.
• Sobrecarga de tamanho: a saída codificada é cerca de 33% maior que a entrada (4 bytes de saída para cada 3 bytes de entrada).
• Casos de uso: tokens JWT, anexos de e-mail MIME, cabeçalhos HTTP Basic Auth, códigos OAuth, URLs pré-assinadas do S3, imagens inline em HTML/CSS.
Esta página é dedicada à decodificação. Se você precisa do caminho inverso (texto/arquivo → Base64), use nosso Codificador Base64 na página inicial, ou nosso conversor Imagem para Base64 para arquivos de imagem.
Posso decodificar strings Base64 muito grandes ou arquivos codificados em Base64?
Sim, dentro dos limites de memória do navegador. O decodificador aceita comprimento de entrada ilimitado — testamos com strings Base64 de 50 MB (~37 MB decodificados) em laptops modernos. Desempenho:
• < 100 KB: instantâneo, sem atraso na interface.
• 1 – 10 MB: a decodificação leva ~50-500 ms dependendo da CPU.
• 10 – 100 MB: o navegador pode congelar brevemente (2-10 s), pois atob é síncrono. Desative primeiro o auto-decode e clique em [DECODE] manualmente.
• > 100 MB: você atingirá os limites de memória do navegador. Para arquivos Base64 na escala de gigabytes, use uma ferramenta de linha de comando (base64 -d).
Se o conteúdo decodificado for um arquivo binário (PNG, PDF, ZIP), a área de saída de texto mostrará mojibake. Para baixar os bytes decodificados como arquivo, use nossa ferramenta Base64 para imagem (trata imagens) ou a abordagem de linha de comando: echo '<base64>' | base64 -d > output.bin.
Este decodificador Base64 funciona offline?
Sim. Depois que a página carrega uma vez, toda a decodificação acontece no lado do cliente em JavaScript — nenhuma rede é necessária. Para deixá-lo totalmente offline:
1. Salve a página: pressione Ctrl+S (Windows/Linux) ou Cmd+S (macOS) e salve como "Página da Web, completa". O decodificador funciona a partir do HTML salvo.
2. Instale como PWA (se houver suporte): alguns navegadores oferecem "Instalar este app" para base64.sh — isso te dá um inicializador com acesso offline.
3. Use nas DevTools: a função nativa atob() funciona em qualquer console de navegador sem esta página. Para uma decodificação rápida: atob('SGVsbG8=').
A operação offline é útil para: pesquisa de segurança em ambientes isolados, laboratórios de pentest, ambientes corporativos com regras rígidas de saída de dados e voos/trens sem internet.