Convertir entre texte et Base64
Encodez un texte en Base64 ou décodez une chaîne Base64 en texte
Vos données restent chez vous. La conversion se fait dans le navigateur ; rien n'est envoyé à un serveur.
Cet outil a-t-il fait le travail ?
Merci, votre retour nous est bien parvenu.
Comment ça marche
Collez votre texte dans le panneau de gauche et choisissez le sens de l'opération ; le résultat apparaît à droite pendant que vous tapez. Dans le sens de l'encodage, le texte est d'abord converti en octets UTF-8, puis écrit avec l'alphabet Base64 de 64 caractères — c'est ce qui préserve les lettres accentuées (é, à, ç, œ) et les emoji. Dans le sens du décodage, les espaces et sauts de ligne de la chaîne sont ignorés ; un préfixe collé par erreur, comme « data:text/plain;base64, », est sauté, et les caractères - et _ du format « URL-safe » sont ramenés à leurs équivalents standard. Si la chaîne contient un caractère étranger à l'alphabet Base64, le message d'erreur indique lequel et à quelle position ; si les octets décodés ne forment pas un texte UTF-8 valide, cela est signalé aussi — dans ce cas votre donnée n'est pas du texte mais un fichier binaire. La ligne de résultat affiche combien de caractères donnent combien d'octets, et la longueur de la sortie. Vous pouvez copier le résultat en un clic ou le télécharger en fichier texte.
Cet outil est aussi connu sous le nom de encoder base64, base64 decode en ligne, base64 encode, convertir texte en base64.
Qu'est-ce que Base64 ?
Le Base64 est une conversion de base numérique qui prend les données trois octets par trois octets et les écrit sur quatre caractères : chaque tranche de 6 bits correspond à un caractère parmi A-Z, a-z, 0-9, + et /, et le reste est comblé par des signes =. Comme la sortie est du texte pur, on l'utilise partout où les sauts de ligne, les séparateurs ou le jeu de caractères posent problème : en-têtes HTTP, jetons JWT, corps d'e-mail, fichiers de configuration. Le prix à payer est la taille — la sortie est environ un tiers plus grosse que la source. Pour un texte accentué, le point décisif est que l'encodage s'applique aux OCTETS, pas aux caractères : « é » occupe deux octets en UTF-8, il faut donc d'abord obtenir les octets du texte, puis appliquer le Base64.
Qu'est-ce que UTF-8 ?
L'UTF-8 est l'encodage de caractères qui écrit chaque caractère sur un nombre variable d'octets ; c'est le standard du web aujourd'hui. Les lettres de l'alphabet anglais tiennent sur un octet ; é, à, ç, œ et les autres lettres accentuées en occupent deux, un emoji en occupe quatre. Le nombre de caractères d'une phrase française n'est donc pas égal à son nombre d'octets — un texte de 30 caractères peut peser 35 octets. Cette distinction compte en pratique : le Base64, les limites de champ d'une base de données et les calculs de taille de fichier travaillent tous en octets. Cet outil affiche les deux valeurs séparément dans la ligne de résultat.
Le Base64 est-il un chiffrement ?
Non, le Base64 est un encodage, pas un chiffrement. La différence tient à la clé : un chiffrement exige une clé secrète pour retrouver la donnée, tandis qu'un encodage suit une règle publique — quiconque tient la chaîne peut la décoder en un clic. Comme une chaîne Base64 a l'air illisible, on la prend souvent pour une mesure de sécurité ; en réalité elle ne fait que changer la forme, elle ne cache rien. Passer un mot de passe, une clé d'API ou une donnée personnelle en Base64 et se croire protégé est une erreur répandue et dangereuse. Le rôle du Base64 est de faire passer une donnée intacte par des canaux qui ne transportent que du texte ; pour cacher une donnée, il faut un vrai chiffrement.
Pourquoi les accents se cassent-ils en Base64 ?
La fonction d'encodage intégrée aux navigateurs, btoa, n'accepte que des valeurs d'un seul octet entre 0 et 255. La lettre « é » occupe deux octets en UTF-8 : cette fonction lève alors une erreur, ou traite le texte comme du Latin-1 et produit de mauvais octets ; celui qui décode la sortie voit des caractères absurdes comme « é ».
Cet outil ne saute pas l'étape intermédiaire : le texte est d'abord converti en octets UTF-8, et l'alphabet Base64 s'applique à ces octets. La même chaîne fonctionne dans les deux sens : encodez puis décodez, vous retrouvez votre texte à l'identique.
Où une chaîne Base64 sert-elle ?
Le Base64 a été inventé pour les canaux qui transportent du texte mais pas de données binaires ; aujourd'hui on l'utilise surtout pour éviter les problèmes de séparateurs ou d'encodage.
- Le couple identifiant / mot de passe de l'en-tête HTTP Basic Authorization
- Les trois parties d'un jeton JWT (avec l'alphabet URL-safe)
- Le transport des pièces jointes d'e-mail et des corps MIME
- Les certificats et clés posés sur une seule ligne dans un fichier de configuration
- Les textes longs placés dans un champ JSON pour éviter les caractères d'échappement
Deux erreurs distinctes au décodage
La première est l'erreur d'alphabet : la chaîne contient un caractère qui n'appartient pas au Base64, ou sa longueur n'est pas divisible par quatre. Cela vient en général d'une copie incomplète ; vérifiez que les signes = de fin de chaîne ont bien été copiés avec le reste.
La seconde est l'erreur de texte : la chaîne est du Base64 valide, les octets se décodent, mais ces octets ne forment pas un texte UTF-8. Cela signifie que votre donnée est en réalité une image, un PDF ou un fichier compressé ; un tel contenu ne peut pas s'afficher comme du texte.
Questions fréquentes
Les accents sont-ils encodés correctement ?
Oui. Le texte est converti en octets UTF-8 avant l'encodage : é, à, ç, œ, les guillemets français et les emoji sont tous préservés. Encodez puis décodez, vous retrouvez le texte exact.
Les chaînes URL-safe (base64url) sont-elles acceptées ?
Au décodage, oui : les caractères - et _ sont ramenés à + et / avant lecture, et le remplissage manquant est complété. À l'encodage, la sortie utilise l'alphabet standard.
Que signifie le signe = à la fin de la chaîne ?
Le Base64 prend les octets trois par trois et écrit quatre caractères. Quand le dernier bloc ne fait pas trois octets, un ou deux = complètent la longueur à un multiple de quatre. Ces signes font partie de la donnée : s'ils sautent à la copie, le décodage peut échouer.
Le texte que je colle est-il envoyé quelque part ?
Non. L'encodage et le décodage se font entièrement dans votre navigateur ; même si vous collez un mot de passe, un jeton ou un fichier de configuration, la donnée ne quitte pas cette page.