Aller au contenu

Encoder et décoder en Base64

Convertissez un texte en Base64 ou décodez une chaîne Base64 en texte lisible. Les accents et les emojis sont correctement gérés (UTF-8).

0Caractères
0Mots
0Lignes
Base64 : illustration de l’outil en ligne gratuit de zmessages

À quoi sert le Base64

Le Base64 transforme des données binaires en une chaîne de 64 caractères imprimables (A–Z, a–z, 0–9, + et /). Son but n’est pas de protéger l’information, mais de la faire transiter sans dommage par des canaux conçus pour du texte simple.

  • Pièces jointes d’e-mail : le protocole SMTP ne transporte que du texte ; toute pièce jointe est encodée en Base64.
  • Images dans du CSS ou du HTML : les data: URI intègrent une image directement dans le code.
  • Jetons JWT : leurs trois parties sont encodées en Base64URL.
  • Authentification HTTP Basic : l’en-tête Authorization contient identifiant:motdepasse encodé en Base64.

Ce n’est PAS du chiffrement

C’est la confusion la plus fréquente, et la plus dangereuse. Le Base64 est une simple transformation réversible : n’importe qui peut décoder la chaîne en une seconde, sans clé ni mot de passe. Ne l’utilisez jamais pour « cacher » un mot de passe, une clé d’API ou une donnée personnelle : c’est équivalent à l’écrire en clair.

Le poids augmente de 33 %

Trois octets de données deviennent quatre caractères Base64. Une image de 300 ko pèse donc 400 ko une fois encodée. C’est pourquoi l’intégration d’images en data: URI ne se justifie que pour de petits fichiers (icônes, logos de quelques kilo-octets).

Questions fréquentes

Que signifient les « = » à la fin ?

Ce sont des caractères de remplissage. Le Base64 travaille par blocs de trois octets ; quand le dernier bloc est incomplet, un ou deux signes « = » sont ajoutés. Leur présence est normale et ils font partie de la chaîne : ne les supprimez pas.

Les accents et les emojis fonctionnent-ils ?

Oui. Le texte est d’abord converti en UTF-8, puis encodé. C’est ce qui manque à la fonction btoa() native des navigateurs, qui échoue sur tout caractère non-latin.

Pourquoi le décodage échoue-t-il ?

Le plus souvent parce que la chaîne a été tronquée, que les « = » finaux ont été supprimés, ou qu’il s’agit de Base64URL (où + et / sont remplacés par - et _). Vérifiez que vous avez copié la chaîne entière.

Ces outils peuvent aussi vous servir

Tous les outils →