JSON : Base64

Convertissez vos données JSON en Base64 et inversement.

JSON

Conversion

Options

Validation

Base64

Guide de la conversion JSON/Base64

Pourquoi convertir JSON en Base64

En développant des APIs et des systèmes d'intégration, je convertis fréquemment du JSON en Base64. Cette conversion permet de transmettre des données structurées dans des contextes qui n'acceptent que du texte simple : paramètres URL, headers HTTP, tokens JWT (payload), stockage dans des champs texte sans échappement complexe.

Cas d'utilisation

Tokens JWT

Le payload d'un JWT est du JSON encodé en Base64URL. Comprendre cette conversion aide au débogage des tokens.

State dans les URLs

Passer un état complexe via query string. Le JSON encodé en Base64URL évite les problèmes d'échappement.

Configuration inline

Intégrer des configs JSON dans des fichiers YAML ou des variables d'environnement.

APIs legacy

Certaines APIs anciennes n'acceptent que des strings. Encoder le JSON préserve la structure.

Base64 vs Base64URL

  • Base64 standard : Utilise +, /, et = pour le padding. Problématique dans les URLs.
  • Base64URL : Remplace + par -, / par _, supprime le padding =. Sûr pour les URLs.
  • JWT utilise Base64URL : C'est pourquoi les tokens contiennent - et _ au lieu de + et /

Questions fréquentes

Le JSON encodé en Base64 est-il chiffré ?

Non ! Base64 est un encodage, pas un chiffrement. N'importe qui peut décoder du Base64 instantanément. Ne stockez jamais de données sensibles (mots de passe, clés API) en Base64 en pensant qu'elles sont protégées. Pour la confidentialité, utilisez un vrai chiffrement (AES, etc.).

Pourquoi le Base64 est-il plus long que le JSON original ?

Base64 encode 3 octets en 4 caractères, soit une augmentation de ~33%. C'est le prix à payer pour représenter des données binaires (ou texte avec caractères spéciaux) en ASCII pur. Pour les données volumineuses, considérez la compression (gzip) avant l'encodage Base64.

Puis-je utiliser ce Base64 directement dans un JWT ?

Presque : JWT utilise Base64URL, pas Base64 standard. Activez l'option « Base64 URL-safe » pour obtenir le format compatible JWT. Notez que créer un JWT valide nécessite aussi le header et la signature, pas seulement le payload encodé.

L'encodage préserve-t-il les types JSON (nombres, booléens) ?

Oui, parfaitement. Le JSON est d'abord sérialisé en texte (préservant tous les types), puis ce texte est encodé en Base64. Au décodage, vous retrouvez le JSON exact avec ses types : nombres, booléens, null, tableaux, objets. Aucune information n'est perdue.