RFC 4648 · Decodificador e codificador
Decodifique Base64 sem enviar absolutamente nada.
Cole uma string Base64 e receba texto legível, uma imagem ou um arquivo enquanto digita. Este decodificador Base64 online roda inteiramente no seu navegador: seus dados nunca são enviados, nunca são registrados e nunca saem do seu dispositivo.
- Decodifica enquanto você digita
- Mais de 20 conjuntos de caracteres
- Imagens, PDFs e JWTs
- Sem anúncios e sem cadastro
Atualizado em · Base64 padrão e URL-safe (RFC 4648)
Ferramenta para decodificar e codificar Base64
JSON Web Token
Opções
Ctrl+Enter decodificar Ctrl+Shift+C copiar resultado Solte um arquivo na entrada para carregá-lo
Decodificar Base64 online — grátis, instantâneo e privado
Este decodificador Base64 online faz o trabalho no seu navegador, e não em um servidor. Cole o conteúdo na caixa acima e o resultado aparece na hora: sem botão, sem recarregar a página e sem upload. O texto sai legível, as imagens aparecem na aba Prévia e qualquer dado binário ganha um dump hexadecimal e um botão Baixar com a extensão de arquivo correta.
Mude para Codificar para fazer o caminho inverso, ou use nosso codificador em freebase64encode.com. Se preferir decodificar Base64 em código, os exemplos abaixo cobrem Python, JavaScript, Linux, Windows PowerShell, PHP, Java, Go, C# e Ruby.
Trabalhando com um formato específico? Temos páginas dedicadas para converter Base64 para imagem, Base64 para PDF e Base64 para hexadecimal, e para decodificar Base64URL e JWTs.
Como decodificar Base64 em três passos
- 01
Cole sua string Base64
Cole os dados Base64 na caixa de entrada ou arraste um arquivo para ela. Espaços, quebras de linha, prefixos de URI data: e caracteres URL-safe são tratados automaticamente.
- 02
Leia o resultado decodificado
O resultado aparece na hora no painel ao lado da entrada, decodificado no seu navegador. Escolha outro conjunto de caracteres se o texto parecer errado.
- 03
Copie, baixe ou pré-visualize
Copie o texto decodificado, baixe a saída binária como arquivo com a extensão certa, inspecione-a em hexadecimal ou veja uma imagem decodificada na própria página.
Mais decodificadores
Decodifique Base64 para um formato específico.
- Base64 para imagem Veja um PNG, JPEG, GIF, WebP ou SVG em Base64 e salve como um arquivo de imagem de verdade.
- Base64 para PDF Transforme uma string Base64 de uma API ou e-mail em um PDF para visualizar e salvar.
- Base64 para hexadecimal Veja cada byte decodificado em um dump hex ou copie como uma string hexadecimal contínua.
- Decodificar Base64URL Decodifique Base64 URL-safe e JSON Web Tokens, com o preenchimento que falta corrigido.
O que você ganha
Um decodificador Base64 que diz o que encontrou.
A maioria dos decodificadores online devolve uma parede de caracteres e deixa você adivinhar. Este identifica o conteúdo, corrige os erros de codificação mais comuns e mostra o resultado no formato que realmente ajuda.
Nada sai do seu dispositivo
Cada byte é decodificado por JavaScript nesta página. Sem upload, sem requisição, sem registro — confira na aba de rede.
Detecção automática de formato
PNG, JPEG, GIF, WebP, SVG, PDF, ZIP, MP4, JSON, XML e HTML são reconhecidos pelos bytes de assinatura e identificados.
Prévia de imagens Base64
Decodifique uma imagem e veja-a na hora, com as dimensões reais em pixels e o tamanho do arquivo, e depois baixe-a.
Mais de 20 conjuntos de caracteres
UTF-8, UTF-16, Latin-1, Windows-1250/1251/1252, Shift_JIS, GBK, Big5, KOI8-R e outros — com detecção automática.
Visualização hexadecimal
A saída binária aparece como um dump clássico de offset / hex / ASCII para inspecionar cabeçalhos e magic bytes.
Compatível com JWT
Cole um JSON Web Token e o cabeçalho e o payload aparecem em uma tabela, com os timestamps convertidos em datas.
Entrada tolerante
Preenchimento faltando, “-” e “_” URL-safe, espaços perdidos, quebras de linha MIME e URIs data: completas são tratados automaticamente.
Modo linha por linha
Decodifique de uma vez uma lista de valores Base64 independentes, um resultado por linha — ótimo para logs e exportações.
Também codifica
Mude para Codificar para texto ou qualquer arquivo, com quebra MIME, alfabeto URL-safe ou uma URI data: pronta.
Por que este
A diferença está em onde a decodificação acontece.
A maioria dos decodificadores Base64 envia sua string para um servidor, decodifica lá e devolve o resultado. Ou seja, seu token, sua chave ou seu arquivo saiu da sua máquina para uma transformação que o seu navegador faz em microssegundos. Este nunca faz essa requisição.
| Recurso | freebase64decode.com | Decodificador online típico |
|---|---|---|
| Onde seus dados são decodificados | Sempre na aba do seu navegador | Enviados para um servidor |
| Conjuntos de caracteres | Mais de 20, decodificados offline | Só no servidor |
| Limite de tamanho de arquivo | Apenas a memória do seu dispositivo | Geralmente até 100 MB |
| Prévia de imagens decodificadas | Integrada, com dimensões | Não oferece |
| Dump hexadecimal da saída binária | Integrado | Não oferece |
| Visualização de cabeçalho e payload do JWT | Automática | Não oferece |
| Alfabeto URL-safe e correção do preenchimento | Automáticos | Manuais |
| Detecção de URI data: | Automática | Manual |
| Funciona sem conexão | Sim, depois que a página carrega | Não |
| Anúncios e banners de cookies | Nenhum, e sem cookies de rastreamento | Geralmente presentes |
Faça no código
Decodificar Base64 em Python, JavaScript, Linux e mais.
Depois de conferir um valor no decodificador acima, normalmente você precisa da mesma coisa em código. Cada exemplo está pronto para copiar e colar e cobre o que costuma dar problema: conjuntos de caracteres, o alfabeto URL-safe e o preenchimento faltando.
Decodificar Base64 em Python
O módulo base64 do Python faz parte da biblioteca padrão — não precisa instalar nada. b64decode sempre retorna bytes, então chame .decode() quando quiser uma str.
import base64
# Base64 string -> text
encoded = "SGVsbG8sIHdvcmxkIQ=="
text = base64.b64decode(encoded).decode("utf-8")
print(text) # Hello, world!
# Reject anything that is not valid Base64 instead of silently skipping it
base64.b64decode(encoded, validate=True)
# URL-safe alphabet (RFC 4648 section 5): "-" and "_" instead of "+" and "/"
base64.urlsafe_b64decode("SGVsbG8_d29ybGQtMQ==")
# Unpadded input (JWTs, URL parameters) raises binascii.Error -- pad it first
def b64decode_any(s: str) -> bytes:
s = s.replace("-", "+").replace("_", "/")
return base64.b64decode(s + "=" * (-len(s) % 4))
# Base64 -> image file on disk
with open("logo.png", "wb") as f:
f.write(base64.b64decode(image_b64))
# Decode every line of a file separately
with open("encoded.txt") as f:
for line in f:
print(base64.b64decode(line.strip()).decode("utf-8")) Decodificar Base64 em JavaScript
atob() retorna uma string binária, não texto. Sozinho, ele estraga qualquer caractere não ASCII; por isso, passe os bytes pelo TextDecoder — exatamente o que esta página faz.
// ── Browser ──────────────────────────────────────────────
// Quick and dirty: correct only for pure ASCII
atob("SGVsbG8sIHdvcmxkIQ=="); // "Hello, world!"
// Correct for any UTF-8 payload
function base64Decode(b64) {
const bin = atob(b64);
const bytes = Uint8Array.from(bin, (ch) => ch.charCodeAt(0));
return new TextDecoder().decode(bytes);
}
base64Decode("SGVsbMO2LCB3w7ZybGQh"); // "Hellö, wörld!"
// Encoding back again
function base64Encode(str) {
const bytes = new TextEncoder().encode(str);
return btoa(String.fromCharCode(...bytes));
}
// URL-safe -> standard before decoding
const std = urlSafe.replace(/-/g, "+").replace(/_/g, "/");
// ── Node.js ──────────────────────────────────────────────
Buffer.from("SGVsbG8sIHdvcmxkIQ==", "base64").toString("utf8");
Buffer.from(token, "base64url").toString("utf8"); // Node 16+
Buffer.from("Hello, world!").toString("base64"); Decodificar Base64 no Linux pela linha de comando
O GNU coreutils traz o base64 em todas as distribuições Linux. Cuidado com as duas armadilhas clássicas: echo adiciona uma quebra de linha, e versões antigas do macOS só aceitam -D como opção curta — --decode funciona em todo lugar.
# Decode a string
echo "SGVsbG8sIHdvcmxkIQ==" | base64 --decode
# printf avoids the trailing newline echo adds
printf '%s' "SGVsbG8sIHdvcmxkIQ==" | base64 -d
# Decode a file into a binary file
base64 -d encoded.txt > decoded.png
# -i ignores line wrapping and other non-alphabet characters
base64 -di encoded.txt > decoded.bin
# Older macOS releases only know a capital -D (--decode works on all of them)
base64 -D <<< "SGVsbG8sIHdvcmxkIQ=="
# Portable everywhere OpenSSL exists
echo "SGVsbG8sIHdvcmxkIQ==" | openssl base64 -d
# Encode, wrapping at 76 columns like MIME (-w 0 disables wrapping)
base64 -w 0 photo.jpg > photo.b64
# Decode a JWT payload (URL-safe, unpadded) with jq
cut -d. -f2 <<< "$JWT" | tr '_-' '/+' | base64 -d 2>/dev/null | jq . Decodificar Base64 em PHP
Passe true como segundo argumento para que base64_decode() retorne false com entrada malformada, em vez de descartar caracteres inválidos em silêncio.
<?php
$text = base64_decode('SGVsbG8sIHdvcmxkIQ==');
// Strict mode: false on invalid input
$text = base64_decode($encoded, true);
if ($text === false) {
throw new InvalidArgumentException('Not valid Base64');
}
// URL-safe decode with padding repaired
function base64UrlDecode(string $s): string {
$s = strtr($s, '-_', '+/');
return base64_decode($s . str_repeat('=', (4 - strlen($s) % 4) % 4));
}
// Base64 -> image file
file_put_contents('logo.png', base64_decode($imageB64));
// Encode a file as a data: URI for inline CSS or HTML
$uri = 'data:image/png;base64,' . base64_encode(file_get_contents('logo.png')); Decodificar Base64 em Java
java.util.Base64 vem embutido desde o Java 8 e oferece três decodificadores: básico, URL-safe e MIME (que tolera quebras de linha).
import java.nio.charset.StandardCharsets;
import java.util.Base64;
byte[] bytes = Base64.getDecoder().decode("SGVsbG8sIHdvcmxkIQ==");
String text = new String(bytes, StandardCharsets.UTF_8);
// URL-safe alphabet
Base64.getUrlDecoder().decode(token);
// MIME decoder: ignores line breaks and other stray characters
Base64.getMimeDecoder().decode(wrappedInput);
// Encode
String encoded = Base64.getEncoder()
.encodeToString("Hello, world!".getBytes(StandardCharsets.UTF_8));
// Base64 -> file
java.nio.file.Files.write(java.nio.file.Path.of("logo.png"),
Base64.getDecoder().decode(imageB64)); Decodificar Base64 em Go
O pacote encoding/base64 do Go deixa a escolha do preenchimento explícita: StdEncoding e URLEncoding esperam preenchimento; as variantes Raw, não.
package main
import (
"encoding/base64"
"fmt"
)
func main() {
data, err := base64.StdEncoding.DecodeString("SGVsbG8sIHdvcmxkIQ==")
if err != nil {
panic(err)
}
fmt.Println(string(data)) // Hello, world!
// URL-safe, no padding -- the JWT flavour
base64.RawURLEncoding.DecodeString("SGVsbG8sIHdvcmxkIQ")
// Encode
fmt.Println(base64.StdEncoding.EncodeToString([]byte("Hello, world!")))
} Decodificar Base64 em C#
Use TryFromBase64String quando a entrada vier de um usuário — assim você evita a exceção que Convert.FromBase64String lança com entrada inválida.
using System;
using System.Text;
byte[] bytes = Convert.FromBase64String("SGVsbG8sIHdvcmxkIQ==");
string text = Encoding.UTF8.GetString(bytes);
// Non-throwing variant
Span<byte> buffer = new byte[input.Length];
if (Convert.TryFromBase64String(input, buffer, out int written))
{
text = Encoding.UTF8.GetString(buffer[..written]);
}
// URL-safe input
string std = input.Replace('-', '+').Replace('_', '/')
.PadRight(input.Length + (4 - input.Length % 4) % 4, '=');
// Encode
Convert.ToBase64String(Encoding.UTF8.GetBytes("Hello, world!")); Decodificar Base64 no Windows e no PowerShell
No Windows não é preciso instalar nada. O PowerShell chama o .NET diretamente, onde FromBase64String ignora espaços e quebras de linha; no Prompt de Comando, o certutil decodifica arquivos.
# ── PowerShell (Windows, macOS, Linux) ──────────────────
$b64 = "SGVsbG8sIHdvcmxkIQ=="
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String($b64)) # Hello, world!
# Base64 file -> binary file (.NET needs an absolute path)
$bytes = [Convert]::FromBase64String((Get-Content encoded.txt -Raw))
[IO.File]::WriteAllBytes("$PWD\decoded.png", $bytes)
# Encode
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("Hello, world!"))
# ── Command Prompt (cmd.exe) ─────────────────────────────
certutil -decode encoded.txt decoded.png
# certutil -encode wraps its output in BEGIN/END CERTIFICATE lines
certutil -encode photo.jpg photo.b64 Decodificar Base64 em Ruby e SQL
O Ruby e os principais dialetos SQL decodificam diretamente. No Ruby, strict_decode64 rejeita espaços; decode64 os tolera.
# ── Ruby ─────────────────────────────────────────────────
require "base64"
Base64.decode64("SGVsbG8sIHdvcmxkIQ==") # forgiving
Base64.strict_decode64("SGVsbG8sIHdvcmxkIQ==") # raises on stray characters
Base64.urlsafe_decode64(token)
# ── SQL ──────────────────────────────────────────────────
# MySQL 5.6+ SELECT FROM_BASE64('SGVsbG8sIHdvcmxkIQ==');
# PostgreSQL SELECT convert_from(decode('SGVsbG8=', 'base64'), 'UTF8');
# SQL Server SELECT CAST('' AS xml).value('xs:base64Binary("SGVsbG8=")', 'varbinary(max)');
# BigQuery SELECT SAFE_CONVERT_BYTES_TO_STRING(FROM_BASE64('SGVsbG8=')); O mecanismo
O que é Base64 e como a decodificação o reverte.
O Base64 reescreve bytes quaisquer com 64 caracteres imprimíveis — A–Z a–z 0–9 + / — para que dados binários sobrevivam em sistemas feitos para texto. Decodificar é o caminho inverso: cada caractere vira um valor de 6 bits, quatro deles formam 24 bits, e esses bits são recortados em três bytes. É uma codificação, não uma criptografia, então qualquer pessoa consegue fazer.
Exemplo resolvido: TWFu → Man
| Base64 | T · W · F · u |
|---|---|
| Índice | 19 · 22 · 5 · 46 |
| Grupos de 6 bits | 010011 010110 000101 101110 |
| Recortados em 8 bits | 01001101 01100001 01101110 |
| Bytes | 77 · 97 · 110 |
| Texto | Man |
Os sinais = no final são preenchimento, não dados: == significa que o último grupo tinha um byte, e =, dois. A saída Base64 é sempre cerca de 33% maior do que aquilo que ela representa.
O alfabeto Base64 (tabela de índices)
Cada caractere Base64 representa um número de 0 a 63. A decodificação procura cada caractere nesta tabela (RFC 4648, tabela 1). O Base64 URL-safe é idêntico, exceto que 62 é -, 63 é _ e = é preenchimento, não um valor.
| Valor | Caract. | Valor | Caract. | Valor | Caract. | Valor | Caract. |
|---|---|---|---|---|---|---|---|
| 0 | A | 16 | Q | 32 | g | 48 | w |
| 1 | B | 17 | R | 33 | h | 49 | x |
| 2 | C | 18 | S | 34 | i | 50 | y |
| 3 | D | 19 | T | 35 | j | 51 | z |
| 4 | E | 20 | U | 36 | k | 52 | 0 |
| 5 | F | 21 | V | 37 | l | 53 | 1 |
| 6 | G | 22 | W | 38 | m | 54 | 2 |
| 7 | H | 23 | X | 39 | n | 55 | 3 |
| 8 | I | 24 | Y | 40 | o | 56 | 4 |
| 9 | J | 25 | Z | 41 | p | 57 | 5 |
| 10 | K | 26 | a | 42 | q | 58 | 6 |
| 11 | L | 27 | b | 43 | r | 59 | 7 |
| 12 | M | 28 | c | 44 | s | 60 | 8 |
| 13 | N | 29 | d | 45 | t | 61 | 9 |
| 14 | O | 30 | e | 46 | u | 62 | + |
| 15 | P | 31 | f | 47 | v | 63 | / |
Onde você realmente encontra Base64
Anexos de e-mail
O MIME (RFC 2045) codifica anexos em Base64 e quebra a saída a cada 76 caracteres. Decodificadores ignoram as quebras de linha — este as remove para você.
URIs data:
data:image/png;base64,… incorpora uma imagem, fonte ou SVG em HTML ou CSS. Cole a URI inteira aqui e o prefixo é detectado e removido automaticamente.
JSON Web Tokens
Cada um dos três segmentos de um JWT é base64url sem preenchimento. Cole um token e o cabeçalho e o payload aparecem em uma tabela legível.
Autenticação HTTP Basic
Authorization: Basic carrega base64(usuário:senha). Decodificar leva um colar — e é exatamente por isso que Basic só é aceitável sobre HTTPS.
Arquivos de configuração e segredos
Secrets do Kubernetes, certificados PEM e chaves SSH guardam binários em Base64 para que o arquivo continue sendo texto. Decodificar é como você confere o que há dentro.
APIs e bancos de dados
Blobs binários trafegam por JSON, XML e colunas de texto em Base64. A visualização hex mostra os bytes reais, então dá para reconhecer o tipo de arquivo pela assinatura.
Base64 padrão vs. URL-safe
A RFC 4648 define dois alfabetos. O padrão usa + e /, que têm significado dentro de uma URL. A variante URL-safe (§5, muitas vezes chamada de base64url) troca esses caracteres por - e _ e geralmente omite o preenchimento =. Este decodificador detecta qual você colou: uma string que contém - ou _ é tratada como URL-safe, a menos que você force a opção.
Como decodificar uma imagem Base64
Cole a URI data: inteira — com o prefixo data:image/png;base64, — ou só a parte codificada. O prefixo é removido, os bytes de assinatura são verificados e a imagem aparece na aba Prévia com as dimensões reais. Baixar salva como um arquivo PNG, JPEG, GIF, WebP ou SVG de verdade. Se a prévia ficar em branco, abra a aba Hex e procure uma assinatura conhecida como 89 50 4e 47 (PNG) ou ff d8 ff (JPEG) — se ela não aparecer, a string está truncada.
Seis erros de decodificação e o que significam
“Caractere inválido na posição N”
Há algo fora do alfabeto Base64 — normalmente aspas perdidas, reticências de uma cópia truncada ou um caractere URL-safe com a decodificação estrita forçada.
O tamanho não é múltiplo de 4
O preenchimento foi removido. Ative Corrigir preenchimento; se sobrar exatamente um caractere, a string está realmente truncada e não pode ser recuperada.
Mojibake — é em vez de é
Os bytes foram decodificados com o conjunto de caracteres errado. Tente UTF-8 primeiro e depois Windows-1252 para textos vindos de softwares antigos do Windows.
Símbolos ilegíveis por toda parte
O conteúdo é binário, não texto. Mude para a aba Hex ou Prévia e baixe como arquivo em vez de copiar o texto.
O resultado é mais Base64
O valor foi codificado duas vezes. Clique em “Enviar para a entrada” para jogar o resultado de volta e decodificar de novo.
Base64 não é criptografia
Qualquer pessoa decodifica com um colar. Se um segredo está “protegido” só por Base64, considere-o já exposto e troque-o.
Perguntas
Decodificar Base64: perguntas frequentes.
O que é decodificar Base64?
Decodificar Base64 é transformar uma string codificada em Base64 de volta nos bytes originais que ela representa. A codificação Base64 pega dados binários e os reescreve com 64 caracteres ASCII imprimíveis para que possam trafegar com segurança por sistemas que só lidam com texto, como e-mail ou JSON. A decodificação inverte esse mapeamento: cada quatro caracteres Base64 voltam a ser três bytes originais.
Como decodifico uma string Base64 online?
Cole a string Base64 na caixa de entrada no topo desta página. O resultado decodificado aparece na hora na caixa de saída ao lado — sem botão para clicar e sem espera. Depois, você pode copiar o texto, baixá-lo como arquivo, vê-lo em hexadecimal ou pré-visualizá-lo, se o resultado for uma imagem.
É seguro usar este decodificador Base64 com dados sensíveis?
Sim. Toda a decodificação acontece em JavaScript dentro do seu próprio navegador, então sua entrada nunca é enviada, transmitida, registrada ou armazenada. Você pode conferir abrindo as ferramentas de desenvolvedor e observando a aba de rede enquanto decodifica, ou desconectando da internet — a ferramenta continua funcionando depois que a página carrega.
Base64 é criptografia? É seguro?
Não. Base64 é uma codificação, não uma criptografia. Não oferece nenhuma segurança, porque qualquer pessoa pode revertê-lo sem chave nem senha — exatamente o que esta página faz. Nunca use Base64 para proteger senhas, tokens ou dados pessoais. Use criptografia de verdade, como AES, e TLS para dados em trânsito.
Como decodifico uma imagem Base64?
Cole a URI data: completa, incluindo o prefixo data:image/png;base64, ou só a parte codificada. O prefixo é removido automaticamente e a assinatura da imagem é verificada, então a imagem aparece na aba Prévia com as dimensões em pixels e o tamanho do arquivo. Use o botão Baixar para salvá-la como um arquivo PNG, JPEG, GIF, WebP ou SVG de verdade.
Por que o texto decodificado mostra caracteres estranhos como é ou �?
É um problema de conjunto de caracteres: os bytes estão corretos, mas estão sendo interpretados com a codificação errada. Ajuste primeiro o conjunto de caracteres para UTF-8. Se os dados vieram de um aplicativo antigo do Windows, tente Windows-1252 ou ISO-8859-1. Na detecção automática, a ferramenta tenta primeiro UTF-8 estrito e, se falhar, usa Windows-1252.
O que significa “Base64 inválido” e como corrijo?
Significa que a entrada tem um caractere fora do alfabeto Base64 ou que seu tamanho não é múltiplo de quatro. As causas mais comuns são uma cópia truncada, aspas ou reticências que vieram junto com o texto, ou uma string URL-safe usando - e _ . Deixe ativadas as opções Remover espaços e Corrigir preenchimento, e o decodificador resolve a maioria desses casos automaticamente.
Qual é a diferença entre Base64 padrão e Base64 URL-safe?
O Base64 padrão (RFC 4648, seção 4) usa + e / como os dois últimos caracteres, e ambos têm significado especial dentro de uma URL. O Base64 URL-safe, também chamado de Base64url (RFC 4648, seção 5), troca esses caracteres por - e _ e geralmente omite o preenchimento =. Este decodificador detecta qual variante você colou e converte automaticamente.
Posso decodificar um arquivo Base64?
Sim. Clique no botão Arquivo ou arraste um arquivo para a caixa de entrada. O arquivo é lido localmente pelo seu navegador, decodificado no seu dispositivo, e o resultado pode ser baixado com a extensão correta. Como nada é enviado, não há limite de tamanho imposto — o limite prático é a memória do seu dispositivo, não uma cota de servidor.
Como decodifico Base64 em Python?
Use a biblioteca padrão: import base64 e depois base64.b64decode("SGVsbG8=").decode("utf-8"). O b64decode sempre retorna bytes, então chame .decode() para obter uma string. Use base64.urlsafe_b64decode para o alfabeto URL-safe e passe validate=True se quiser que uma entrada malformada gere erro em vez de ser ignorada em silêncio.
Como decodifico Base64 no Linux ou no Bash?
Passe a string para o comando base64: echo "SGVsbG8=" | base64 --decode. Use printf %s em vez de echo se a quebra de linha final fizer diferença, base64 -d arquivo > saida.bin para arquivos e base64 -di para ignorar quebras de linha. A forma longa --decode funciona tanto no Linux quanto no macOS; versões antigas do macOS só aceitam -D maiúsculo como opção curta.
Como decodifico Base64 no Windows ou no PowerShell?
No PowerShell, execute [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String("SGVsbG8=")). Para transformar um arquivo Base64 de volta em arquivo binário, leia-o com Get-Content -Raw, passe para [Convert]::FromBase64String e salve os bytes com [IO.File]::WriteAllBytes. No Prompt de Comando clássico, certutil -decode codificado.txt decodificado.bin faz o mesmo e vem em todas as versões do Windows.
Como decodifico Base64 em JavaScript?
No navegador, atob() decodifica para uma string binária, mas sozinho estraga texto não ASCII. Converta o resultado em bytes e passe pelo TextDecoder: new TextDecoder().decode(Uint8Array.from(atob(b64), c => c.charCodeAt(0))). No Node.js, use Buffer.from(b64, "base64").toString("utf8"), ou a codificação "base64url" para entradas URL-safe.
Posso decodificar um JWT aqui?
Sim. Cole um JSON Web Token e o cabeçalho e o payload aparecem automaticamente em uma tabela legível, com os timestamps de emissão e expiração convertidos em datas. A assinatura é exibida, mas não verificada, porque a verificação exige a chave secreta ou pública — que esta ferramenta nunca pede e nem poderia usar, já que nada sai do seu navegador.
Esta ferramenta é paga ou exige conta?
Não. É totalmente gratuita, sem cadastro, sem conta e sem limites de uso. É uma página estática, então não há servidor processando seus dados nem nada para cobrar.
Por que a saída Base64 é maior que os dados originais?
O Base64 representa cada três bytes de entrada com quatro caracteres de saída, então a forma codificada fica cerca de 33% maior, além do preenchimento e de eventuais quebras de linha. Esse acréscimo é o preço de poder transportar dados binários por canais que só aceitam texto.