Charger un fichier
  1. base64hub
  2. Outils texte
  3. Base64 en JSON

Base64 en JSON : décoder et formater du JSON

Collez du Base64 et obtenez un JSON lisible et indenté. Les entrées standard et URL-safe fonctionnent toutes les deux : champs d’API, curseurs et segments de jetons se décodent sans nettoyage préalable.

Gratuit sans inscription, sans limites Local rien n'est envoyé 2 espaces formatage, enregistrement en .json Mis à jour 27 oct. 2026
Entrée 0 BSortie 0 BTaille –

Traité dans votre navigateur. Cette page ne peut envoyer vos données nulle part – comment le savons-nous

Comment décoder du Base64 en JSON

  1. Collez le Base64 dans Entrée · Base64. La page se charge avec un exemple que vous pouvez remplacer.
  2. Le JSON apparaît dans Sortie · texte, indenté de deux espaces. Formater le JSON est activé par défaut ; décochez-le pour voir le texte décodé exact.
  3. Vérifiez la ligne d’état : Ressemble à JSON signifie que le résultat a été analysé comme du JSON valide.
  4. Copier la sortie copie le JSON formaté. Télécharger enregistre les octets décodés d’origine sous le nom decoded.json.

L’exemple eyJpZCI6NDIsIm5hbWUiOiJiYXNlNjRodWIiLCJ0YWdzIjpbImpzb24iLCJkZWNvZGUiXSwiYWN0aXZlIjp0cnVlfQ== se décode et se formate ainsi :

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

Pour aller dans l’autre sens, utilisez JSON en Base64.

Repérer du JSON dans du Base64

Le JSON commence presque toujours par { ou [, et ces octets produisent quelques débuts reconnaissables :

Le Base64 commence parDébut décodéSource typique
eyJ{" + une lettreObjets compacts, en-tête et payload de JWT
eyI{" + un chiffre ou un symboleObjets dont la première clé commence par un chiffre
eyAi{ "Objets avec espaces
ewog{ + saut de ligne + espacesFichiers formatés
W3s[{Tableaux d’objets
WyJ[" + une lettreTableaux de chaînes

Ainsi, eyJhIjoxfQ== correspond à {"a":1} et W3siYSI6MX1d à [{"a":1}]. La page des préfixes Base64 courants présente d’autres motifs de ce genre pour d’autres formats.

D’où vient le JSON encodé en Base64

  • L’en-tête et le payload d’un JSON Web Token (JWT) sont du JSON encodé en Base64URL, séparés par des points. Collez un segment ici, ou le jeton entier dans le décodeur JWT. Base64 dans les JWT explique le format.
  • Certaines API et certains webhooks transmettent des métadonnées structurées, des curseurs de pagination ou des charges utiles d’événements sous forme de chaînes Base64 à l’intérieur d’un autre document JSON. Si vous avez le document extérieur, décoder le Base64 dans du JSON trouve et décode tous ces champs d’un coup.
  • Un Secret Kubernetes .dockerconfigjson stocke les identifiants d’un registre de conteneurs sous forme de Base64 d’un document JSON qui contient lui-même des valeurs auth en Base64 ; le décodeur de Docker config JSON déballe les deux couches.
  • Les variables d’environnement et les secrets de CI transportent souvent une configuration JSON sur une seule ligne Base64 pour éviter les problèmes de guillemets.

Une entrée URL-safe (- et _, sans remplissage) est acceptée automatiquement : les segments de jetons se décodent donc tels quels.

Quand le JSON ne se formate pas

Le formatage exige du JSON valide. Quand l’analyse échoue, le texte décodé est affiché sans modification, ce qui suffit en général pour voir le problème :

  • Les données sont tronquées et le texte s’arrête au milieu d’une valeur. Vérifiez que vous avez copié toute la chaîne Base64 ; Réparer du Base64 aide quand des sauts de ligne ou des guillemets s’y sont mêlés.
  • Le texte n’est pas tout à fait du JSON. Les guillemets simples, les virgules finales ({"a":1,} donne eyJhIjoxLH0=) et les commentaires sont courants dans la configuration écrite à la main, mais invalides en JSON.
  • Le jeu de caractères est mauvais. Le JSON est en UTF-8 par définition (RFC 8259) : si les caractères accentués s’affichent mal, le producteur a utilisé un autre encodage ; essayez Jeu de caractères.
  • La charge utile est compressée. Si la sortie est illisible et que le Base64 commence par H4sI, le JSON a été compressé avec gzip avant l’encodage. Utilisez le décodeur Base64 gzip.

Base64 en JSON dans le code

import base64, json

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

json.loads accepte directement les octets. En JavaScript, décodez en octets puis passez par TextDecoder, car JSON.parse(atob(s)) abîme tous les caractères non ASCII :

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

Voir Base64 en Python et Base64 en JavaScript pour les variantes URL-safe.

FAQ

Comment décoder du Base64 en JSON ?

Collez le Base64 ci-dessus. Le JSON décodé est formaté, et Télécharger l’enregistre sous le nom decoded.json. Dans du code : json.loads(base64.b64decode(s)) en Python, JSON.parse(Buffer.from(s, "base64").toString()) en Node.js.

Pourquoi mon JSON n'est-il pas formaté ?

Le texte décodé n’est pas du JSON valide : il est donc affiché tel quel. Les causes typiques sont une chaîne tronquée, des guillemets simples, une virgule finale ou des commentaires. Le champ « Ressemble à » indique alors Texte au lieu de JSON.

Comment savoir qu'une chaîne Base64 contient du JSON ?

La plupart des objets JSON s’encodent en une chaîne qui commence par eyJ, c’est-à-dire {" suivi d’une lettre. Les tableaux d’objets commencent par W3s, et le JSON formaté commence souvent par ewog.

Puis-je décoder ici le payload d'un JWT ?

Oui, collez le segment du milieu (entre les deux points). Pour le jeton complet avec les dates d’expiration et la vérification de signature, utilisez le décodeur JWT.