Décodage Base64

Collez une chaîne Base64 ci-dessous et cliquez sur Décoder pour la convertir en texte clair. Tout le traitement se fait localement dans votre navigateur.

L'alphabet URL-safe, les sauts de ligne et le remplissage manquant sont acceptés.
Copié !

Qu'est-ce que le décodage Base64 ?

Le décodage Base64 reconvertit une chaîne ASCII encodée en Base64 en données binaires ou texte d'origine. C'est l'inverse de l'encodage Base64.

Si l'entrée contient des caractères en dehors de l'alphabet Base64 (A-Z, a-z, 0-9, +, /, =), le décodage échouera avec une erreur.

Le décodage s'appuie sur la fonction Base64 du navigateur, qui est stricte : elle attend l'alphabet standard et un remplissage correct, et refuse le reste au lieu de deviner. Les octets décodés sont ensuite lus comme du texte UTF-8.

Vous déboguez quelque chose qui refuse de se décoder ?

Une charge utile qui refuse de se décoder est le plus souvent un symptôme, pas la panne : un double encodage quelque part dans la chaîne, un jeu de caractères supposé plutôt que déclaré, un jeton signé sur des octets qui ne sont pas tout à fait ceux attendus. C'est notre métier, sur les intégrations, les API et les systèmes qui se passent des données.

Dites-nous ce qui casse

Questions fréquentes

Pourquoi ma chaîne Base64 refuse-t-elle de se décoder ?
Presque toujours l'une de quatre choses : un caractère hors alphabet, signe qu'une URL a été abîmée ou qu'une copie a ramassé de la ponctuation parasite ; une longueur qui laisse un caractère isolé, incapable de représenter un nombre entier d'octets ; l'alphabet URL-safe, dont les tirets et tirets bas ne passent pas dans un décodeur standard ; ou un remplissage retiré en route. Cette page s'appuie sur le décodeur du navigateur, strict sur les quatre, qui refuse au lieu de deviner.
Pourquoi la sortie décodée n'est-elle pas du texte lisible ?
Parce que ces octets n'ont jamais été du texte. Le Base64 transporte des données quelconques : ce qu'il contient peut être une image, un PDF, une archive compressée ou une structure sérialisée. Cette page lit les octets décodés comme du texte UTF-8, donc tout ce qui n'est pas du texte ressort vide ou abîmé, ce qui est déjà la réponse. Si vous attendiez du texte, soupçonnez un double encodage : quelque chose a encodé en Base64 des données déjà encodées en Base64.
Puis-je décoder du Base64 sans remplissage ?
Pas ici. Le remplissage existe pour indiquer au décodeur où s'arrête un flux quand la longueur n'est pas un multiple de quatre, et le décodeur du navigateur l'exige. Beaucoup de systèmes le suppriment parce que le signe égal est peu commode dans les URL et les noms de fichiers : si votre chaîne vient de là, ajoutez des signes égal jusqu'à ce que la longueur soit divisible par quatre et elle se décodera. Une longueur qui laisse un caractère isolé ne se répare pas ainsi, car un caractère Base64 porte six bits et n'en fait pas un octet entier.
Est-il prudent de coller des données sensibles dans cette page ?
Le décodage s'effectue dans votre navigateur et rien n'est envoyé nulle part : la page elle-même n'est pas le risque. Tout le reste de la machine l'est : les extensions de navigateur peuvent lire le contenu des pages, et les secrets collés ont tendance à rester dans l'historique du presse-papiers. Pour un identifiant de production en service, décodez-le plutôt en local. L'outil en ligne de commande est déjà présent sur toute machine Unix, et PowerShell offre un équivalent.
Comment décoder un data URI ?
Retirez d'abord le préfixe. Un data URI, c'est le mot data, puis un type MIME, puis un marqueur indiquant que la charge est en Base64, puis la charge elle-même, et seule cette dernière partie est décodable. Supprimez tout jusqu'à la virgule incluse et collez le reste. Couper un caractère de trop ou de moins est la cause habituelle d'un décodage qui échoue ensuite.