XML : Base64

Convertissez vos données XML en Base64 et inversement.

XML

Conversion

Options

Résultat

Base64

Guide complet de la conversion XML/Base64 : transport universel de vos données XML

Pourquoi j'encode du XML en Base64

XML est verbeux et contient des caractères problématiques (<, >, &) qui nécessitent un échappement complexe lors du transport. En convertissant XML en Base64, j'élimine tous ces problèmes d'un coup : le résultat est une chaîne ASCII pure, transportable partout sans modification ni corruption. C'est devenu essentiel dans mes intégrations SOAP, mes configurations embarquées, et mes communications avec des systèmes legacy.

Fonctionnalités de cet outil

🔄 Conversion bidirectionnelle

XML vers Base64 et Base64 vers XML. Passez d'un format à l'autre instantanément.

🌐 Mode URL-safe

Option pour générer du Base64 compatible URL (remplace + / = par - _ et supprime le padding).

✅ Validation XML

Vérifiez que votre XML est bien formé avant encodage ou après décodage.

📋 Copie rapide

Un clic pour copier le résultat. Prêt à coller dans votre code ou configuration.

Comment utiliser cet outil

  1. Pour encoder (XML → Base64) — Collez le XML, cliquez « XML : Base64 »
  2. Pour décoder (Base64 → XML) — Collez le Base64, cliquez « Base64 : XML »
  3. URL-safe — Cochez si le Base64 doit être utilisé dans une URL
  4. Validation — Activez pour vérifier la structure XML

Cas d'utilisation concrets

  • SOAP et Web Services — Les payloads complexes traversent proxys et pare-feu sans corruption
  • XMLDsig — Les signatures numériques utilisent Base64 pour certificats et données signées
  • Variables d'environnement — Stockez des configs XML multi-lignes dans une seule variable
  • Champs de base de données — Stockez du XML dans des colonnes VARCHAR ou TEXT
  • Systèmes legacy — Communication avec des systèmes ASCII 7-bit uniquement

Considérations techniques

L'encodage Base64 augmente la taille d'environ 33% — acceptable pour la plupart des cas. Pour les très gros XML (> 1 Mo), considérez gzip + Base64. Tout le traitement reste local dans votre navigateur.

Questions fréquentes

Quelle différence entre Base64 standard et URL-safe ?

Base64 standard utilise + / = qui ont des significations spéciales dans les URLs :

  • + → représente un espace dans les query strings
  • / → séparateur de chemin URL
  • = → séparateur clé=valeur

Le mode URL-safe remplace + par -, / par _, et supprime le padding =. Utilisez-le si le Base64 sera dans une URL ou un nom de fichier.

La déclaration XML <?xml...?> est-elle préservée ?

Oui, parfaitement. Base64 encode le XML comme texte brut, byte par byte. La déclaration <?xml version="1.0" encoding="UTF-8"?> est préservée.

Au décodage, vous retrouvez le XML exact, déclaration incluse. L'encoding déclaré doit correspondre à l'encodage réel (UTF-8 recommandé).

Pourquoi mon XML décodé contient des caractères corrompus ?

C'est presque toujours un problème d'encodage de caractères :

  • Le XML source était en ISO-8859-1 ou Windows-1252, pas UTF-8
  • Le navigateur qui a encodé utilisait un encodage différent

Solution : assurez-vous que le XML source est en UTF-8 avant l'encodage Base64. Vérifiez la déclaration encoding et l'encodage réel du fichier.

Puis-je encoder des fragments XML sans élément racine ?

L'encodage Base64 fonctionne sur n'importe quel texte — fragment XML inclus. Il n'y a pas de contrainte sur le contenu.

Par contre, si la validation XML est activée, elle échouera pour un fragment sans racine unique. Désactivez la validation pour les fragments.

Base64 est-il approprié pour de très gros fichiers XML ?

Pour les fichiers > 1 Mo, considérez des optimisations :

  • Compression — gzip le XML d'abord (compression souvent > 90%)
  • Puis Base64 — L'overhead de 33% s'applique au XML compressé
  • Streaming — Pour les très gros fichiers, préférez le transfert binaire direct

Les namespaces et sections CDATA sont-ils préservés ?

Oui, tout est préservé fidèlement :

  • Namespaces (xmlns, préfixes)
  • Sections CDATA (<![CDATA[...]]>)
  • Commentaires (<!-- ... -->)
  • Instructions de traitement (<?...?>)

Base64 encode les octets bruts sans interpréter le XML.

Comment décoder du Base64 avec retours à la ligne ?

L'outil gère automatiquement les retours à la ligne dans le Base64 — ils sont ignorés avant décodage.

Certains systèmes (emails MIME) ajoutent des retours tous les 76 caractères. Ce n'est pas un problème, le décodage fonctionne correctement.

Mes données XML sont-elles transmises à un serveur ?

Non, tout le traitement est 100% local :

  • L'encodage utilise btoa() et atob() natifs JavaScript
  • Aucune requête réseau n'est envoyée
  • Vérifiable dans les DevTools (onglet Network)
  • Fonctionne même hors ligne

C'est sécurisé pour les données sensibles : configurations internes, certificats, etc.