Enviar um arquivo
  1. base64hub
  2. Ferramentas de texto
  3. Base64 para JSON

Base64 para JSON: decodificar e formatar JSON

Cole o Base64 e receba JSON legível e indentado. Entrada padrão e URL-safe funcionam, então campos de API, cursores e segmentos de token decodificam sem limpeza prévia.

Grátis sem cadastro, sem limites Local nada é enviado 2 espaços formata e salva .json Atualizado 27 de out. de 2026
Entrada 0 BSaída 0 BTamanho –

Processado no seu navegador. Esta página não consegue enviar seus dados para lugar nenhum – como sabemos

Como decodificar Base64 para JSON

  1. Cole o Base64 em Entrada · Base64. A página abre com um exemplo que você pode substituir.
  2. O JSON aparece em Saída · texto, indentado com dois espaços. Formatar JSON vem ligado por padrão; desmarque para ver o texto decodificado exato.
  3. Confira a linha de status: Parece ser JSON significa que o resultado foi lido como JSON válido.
  4. Copiar saída copia o JSON formatado. Baixar salva os bytes decodificados originais como decoded.json.

O exemplo eyJpZCI6NDIsIm5hbWUiOiJiYXNlNjRodWIiLCJ0YWdzIjpbImpzb24iLCJkZWNvZGUiXSwiYWN0aXZlIjp0cnVlfQ== decodifica e é formatado assim:

{
  "id": 42,
  "name": "base64hub",
  "tags": [
    "json",
    "decode"
  ],
  "active": true
}

Para o caminho inverso, use JSON para Base64.

Como reconhecer JSON dentro do Base64

JSON quase sempre começa com { ou [, e esses bytes geram algumas aberturas fáceis de reconhecer:

O Base64 começa comInício decodificadoOrigem típica
eyJ{" + uma letraObjetos compactos, header e payload de JWT
eyI{" + um dígito ou símboloObjetos cuja primeira chave começa com dígito
eyAi{ "Objetos com espaços
ewog{ + quebra de linha + espaçosArquivos formatados
W3s[{Arrays de objetos
WyJ[" + uma letraArrays de strings

Então eyJhIjoxfQ== é {"a":1} e W3siYSI6MX1d é [{"a":1}]. A página de prefixos comuns de Base64 traz mais desses padrões para outros formatos.

De onde vem o JSON codificado em Base64

  • O header e o payload de um JSON Web Token (JWT) são JSON codificado em Base64URL, separados por pontos. Cole um segmento aqui ou o token inteiro no decodificador de JWT. Base64 no JWT explica o formato.
  • Algumas APIs e webhooks passam metadados estruturados, cursores de paginação ou payloads de eventos como strings Base64 dentro de outro documento JSON. Se você tem o documento externo, decodificar Base64 dentro de JSON encontra e decodifica todos esses campos de uma vez.
  • Um Secret .dockerconfigjson do Kubernetes guarda credenciais de registry de contêiner como Base64 de um documento JSON que, por sua vez, contém valores auth em Base64; o decodificador de Docker config JSON desmonta as duas camadas.
  • Variáveis de ambiente e segredos de CI muitas vezes carregam uma configuração JSON como uma única linha Base64, para evitar problemas com aspas.

Entrada URL-safe (- e _, sem preenchimento) é aceita automaticamente, então segmentos de token decodificam como estão.

Quando o JSON não é formatado

A formatação exige JSON válido. Quando o parse falha, o texto decodificado aparece sem alterações, o que geralmente basta para enxergar o problema:

  • Os dados estão truncados e o texto termina no meio de um valor. Confira se você copiou a string Base64 inteira; Reparar Base64 ajuda quando quebras de linha ou aspas se misturaram.
  • O texto não é bem JSON. Aspas simples, vírgulas sobrando no final ({"a":1,} é eyJhIjoxLH0=) e comentários são comuns em configurações escritas à mão, mas inválidos em JSON.
  • O charset está errado. JSON é UTF-8 por definição (RFC 8259), então, se os caracteres acentuados saírem errados, quem gerou usou outra codificação; experimente o Charset.
  • O payload está compactado. Se a saída estiver ilegível e o Base64 começar com H4sI, o JSON passou por gzip antes de ser codificado. Use o decodificador de Base64 gzip.

Base64 para JSON no código

import base64, json

s = "eyJpZCI6NDIsIm5hbWUiOiJiYXNlNjRodWIiLCJ0YWdzIjpbImpzb24iLCJkZWNvZGUiXSwiYWN0aXZlIjp0cnVlfQ=="
data = json.loads(base64.b64decode(s))
print(json.dumps(data, indent=2))

O json.loads aceita os bytes diretamente. Em JavaScript, decodifique para bytes e depois passe pelo TextDecoder, porque JSON.parse(atob(s)) estraga qualquer caractere fora do ASCII:

const s = "eyJuYW1lIjoiYmFzZTY0aHViIn0=";
const json = new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)));
JSON.parse(json).name;   // "base64hub"

Veja Base64 em Python e Base64 em JavaScript para as variantes URL-safe.

Perguntas frequentes

Como decodificar Base64 para JSON?

Cole o Base64 acima. O JSON decodificado é formatado, e Baixar salva como decoded.json. No código: json.loads(base64.b64decode(s)) em Python, JSON.parse(Buffer.from(s, "base64").toString()) em Node.js.

Por que meu JSON não foi formatado?

O texto decodificado não é JSON válido, então aparece do jeito que está. As causas típicas são string truncada, aspas simples, vírgula sobrando no final ou comentários. Nesse caso o campo “Parece ser” mostra Text em vez de JSON.

Como saber se uma string Base64 é JSON?

A maioria dos objetos JSON vira uma string que começa com eyJ, que é {" seguido de uma letra. Arrays de objetos começam com W3s, e JSON formatado muitas vezes começa com ewog.

Dá para decodificar o payload de um JWT aqui?

Dá, cole o segmento do meio (entre os dois pontos). Para o token inteiro, com datas de expiração e verificação de assinatura, use o decodificador de JWT.