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

Base64 en texte : décoder une chaîne Base64

Collez une chaîne Base64 pour lire le texte qu’elle contient. L’UTF-8 est supposé par défaut ; si le résultat semble faux, vous pouvez passer à l’un des 27 jeux de caractères ou laisser l’outil deviner.

Gratuit sans inscription, sans limites Local rien n'est envoyé 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 convertir du Base64 en texte

  1. Collez la chaîne Base64 dans la zone Entrée · Base64. Les espaces, les sauts de ligne et les guillemets autour ne posent pas de problème.
  2. Lisez le texte dans Sortie · texte. La ligne d’état sous l’outil indique si l’entrée était du Base64 valide, combien d’octets elle contenait et à quoi ressemble le contenu.
  3. Si la sortie affiche � ou des lettres bizarres, changez le Jeu de caractères. Détection automatique recherche une marque d’ordre des octets, de l’UTF-8 et de l’UTF-16.
  4. Copiez le texte avec Copier la sortie, ou enregistrez-le avec Télécharger.

L’opération inverse est Texte en Base64.

Comment savoir si une chaîne est du Base64

Une chaîne Base64 n’utilise que 64 caractères, plus = pour le remplissage. Le Base64 standard utilise + et / ; la variante URL-safe utilise - et _ à la place. Les chaînes avec remplissage ont une longueur divisible par 4, et les signes = ne peuvent se trouver qu’à la fin.

Ces règles sont nécessaires mais pas suffisantes. Beaucoup de mots ordinaires les respectent : Test est du Base64 valide et se décode en trois octets 4D EB 2D, qui ne veulent rien dire. Le test pratique consiste à décoder la chaîne et à voir si quelque chose de sensé en sort. S’il vous faut plus qu’un oui ou un non, le validateur Base64 indique quelle règle de caractère, de longueur ou de remplissage une chaîne enfreint, et estime la probabilité qu’il s’agisse vraiment de Base64.

Exemples

Chaîne Base64TexteRemarque
VGhhbmsgeW91IQ==Thank you!ASCII simple
SGVsbG8sIFfDtnJsZA==Hello, Wörldö occupe deux octets en UTF-8
5L2g5aW9你好Six octets, trois par caractère
0J/RgNC40LLQtdGCПриветCyrillique en UTF-8
QmFzZTY0IGlzIG5vdCBlbmNyeXB0aW9uLg==Base64 is not encryption.N’importe qui peut le lire
dXNlcm5hbWU6c2VjcmV0username:secretLe format d’un en-tête HTTP Basic auth

Comme le montre la dernière ligne, quiconque voit un en-tête Authorization: Basic peut y lire le mot de passe. Le décodeur Basic Auth sépare un tel en-tête en utilisateur et mot de passe, et encodage ou chiffrement explique pourquoi c’est HTTPS qui le garde réellement privé.

Des octets à une chaîne

Décoder du Base64 vous donne des octets. En tirer une chaîne est une seconde étape qui demande un jeu de caractères, et c’est à cette étape que naissent la plupart des problèmes de « texte faux ». La plupart des langages rendent ces deux étapes explicites :

import base64

raw = base64.b64decode("SGVsbG8sIFfDtnJsZA==")
raw                     # b'Hello, W\xc3\xb6rld'
raw.decode("utf-8")     # 'Hello, Wörld'
raw.decode("latin-1")   # 'Hello, Wörld'

En JavaScript, un TextDecoder avec fatal: true lève une TypeError au lieu d’insérer discrètement �, ce qui est utile quand vous préférez échouer plutôt que stocker du texte cassé :

const bytes = Uint8Array.from(atob("Y2Fm6Q=="), c => c.charCodeAt(0));
new TextDecoder("utf-8", { fatal: true }).decode(bytes);
// TypeError: the bytes are not valid UTF-8
new TextDecoder("windows-1252").decode(bytes);   // "café"

D’autres modèles se trouvent sur les pages Python et JavaScript.

Quand la sortie n’est pas du texte lisible

  • Surtout des symboles, avec quelques mots lisibles. La chaîne contient un fichier. Regardez Ressemble à dans la ligne d’état, puis ouvrez-le dans Base64 en fichier, qui le prévisualise et l’enregistre.
  • Des lettres séparées par des espaces vides. Le texte est en UTF-16. Réglez le Jeu de caractères sur UTF-16LE.
  • Un texte lisible, mais é s’affiche é. Le texte a été mal décodé quelque part avant d’être encodé. Le Base64 est correct ; ce sont les données d’origine qui ne le sont pas.
  • La sortie est à nouveau du Base64. La valeur a été encodée deux fois. Copiez la sortie, collez-la en entrée et décodez une fois de plus.
  • Des octets d’apparence aléatoire et aucun format détecté. Les données sont probablement chiffrées ou compressées. Le décodage Base64 n’est que la première couche ; pour des données gzip ou zlib, essayez le décodeur Base64 gzip.

FAQ

Qu'est-ce qu'une chaîne Base64 ?

Un texte composé uniquement des caractères A–Z, a–z, 0–9, + et /, qui se termine souvent par = ou ==. Il représente des octets, qui peuvent être du texte, une image ou n’importe quel autre fichier, écrits de façon à survivre aux systèmes qui ne gèrent que des caractères simples.

Comment savoir ce que contient une chaîne Base64 avant de la décoder ?

Les premiers caractères le révèlent souvent : eyJ correspond à du JSON, PD94bWwg à du XML, iVBORw0KGgo à un PNG et JVBERi0 à un PDF. Après le décodage, la ligne d’état nomme le format détecté. Voir les préfixes Base64 courants.

Comment convertir du Base64 en chaîne en Python ?

base64.b64decode(s).decode("utf-8"). Le premier appel renvoie des octets ; .decode() les transforme en str avec le jeu de caractères indiqué.

Pourquoi le texte décodé est-il une autre chaîne Base64 ?

La valeur a été encodée deux fois, ce qui arrive quand deux couches d’un système l’encodent chacune. Recollez la sortie dans l’entrée et décodez à nouveau.