← Tous les outils

Encoder et décoder en Base64

Encodez et décodez en Base64 instantanément dans votre navigateur. Découvrez ce qu'est le Base64, pourquoi il ajoute 33 % de taille et pourquoi c'est un encodage, pas un chiffrement.

Ce qu'est le Base64 et pourquoi il existe

Le Base64 est un schéma d'encodage de données binaires en texte. Il prend des octets bruts - le type de données qui compose les images, les archives, les clés cryptographiques ou tout ce qui n'est pas du texte directement lisible - et les réécrit à l'aide d'un alphabet réduit et sûr de 64 caractères imprimables : les 26 lettres majuscules A-Z, les 26 lettres minuscules a-z, les dix chiffres 0-9, et deux symboles supplémentaires, généralement + et /. Un signe égal sert de remplissage à la fin. Comme chaque caractère qu'il produit est de l'ASCII ordinaire, le résultat peut traverser des systèmes conçus uniquement pour gérer du texte.

C'est toute la raison d'être du Base64. De nombreux protocoles anciens - l'e-mail en étant l'exemple classique - supposent que le contenu qu'ils transportent est du texte. Si vous leur confiez du binaire brut, certains octets sont déformés, supprimés ou interprétés comme des caractères de contrôle, et les données arrivent corrompues. Le Base64 contourne le problème en convertissant les octets en une forme que tout canal compatible texte laissera passer intacte. Les données d'origine peuvent ensuite être reconstruites à l'identique de l'autre côté.

Flux abstrait et lumineux de données binaires se transformant en un flux de caractères textuels dans un indigo sombre avec de la lumière cyan et or
Le Base64 remodèle des octets bruts en un flux de caractères sûr et compatible texte.

Comment fonctionne la conversion

Concrètement, le Base64 regroupe l'entrée en blocs de trois octets - soit 24 bits - puis redécoupe ces mêmes 24 bits en quatre groupes de six bits chacun. Six bits peuvent représenter 64 valeurs possibles, ce qui explique précisément pourquoi l'alphabet compte 64 caractères. Ainsi, trois octets d'entrée deviennent toujours quatre caractères de sortie. Lorsque la longueur de l'entrée n'est pas un multiple exact de trois, l'encodeur complète le dernier groupe avec un ou deux caractères = afin qu'un décodeur sache où s'arrêtent les vraies données.

Ce rapport de quatre pour trois est aussi à l'origine du fameux surcoût de taille : la sortie en Base64 est environ 33 % plus volumineuse que les données d'origine. Si le texte encodé est replié en lignes de largeur fixe, comme l'exigent souvent les normes d'e-mail, vous payez quelques pour cent supplémentaires pour les sauts de ligne. Cette surcharge est le prix de la compatibilité, et pour la plupart des usages c'est un compromis équitable.

Où vous rencontrez le Base64

Une fois que vous savez quoi chercher, le Base64 apparaît partout dans l'informatique du quotidien :

  • URI de données. Une petite image ou une police peut être intégrée directement dans du HTML ou du CSS via une URI data:, le contenu du fichier étant écrit en Base64. Le navigateur le décode en ligne, ce qui évite une requête réseau séparée.
  • Pièces jointes d'e-mail. MIME, la norme qui permet à l'e-mail de transporter des fichiers, s'appuie sur le Base64 pour faire passer des pièces jointes binaires à travers un système de courrier exclusivement textuel sans dommage.
  • Authentification HTTP Basic. Le fameux en-tête Authorization: Basic ... n'est qu'un nom d'utilisateur et un mot de passe reliés par deux-points et encodés en Base64 - c'est exactement pourquoi l'authentification Basic doit toujours s'effectuer via HTTPS.
  • Jetons et configuration. Les jetons web JSON, les certificats, les clés SSH et d'innombrables valeurs de configuration sont stockés ou transmis en Base64 afin de survivre au copier-coller et au stockage textuel.

Encoder n'est pas chiffrer

C'est la chose la plus importante à comprendre, et elle piège débutants comme développeurs chevronnés. Le Base64 n'est pas du chiffrement et n'offre aucune sécurité. Il n'y a ni clé secrète, ni mot de passe, et rien de privé dans tout cela. La transformation est entièrement publique et totalement réversible : quiconque voit une chaîne Base64 peut la redécoder vers les octets d'origine en une seconde, à l'aide d'un outil exactement comme celui-ci.

Le Base64 est donc une bien mauvaise cachette pour des mots de passe, des clés d'API ou toute valeur sensible. Si une chaîne semble simplement brouillée, cela ne la rend pas protégée. Le chiffrement, à l'inverse, transforme les données avec une clé secrète de sorte que seul le détenteur de cette clé peut les lire. Les deux résolvent des problèmes différents : le chiffrement protège la confidentialité, le Base64 protège la compatibilité. On les utilise souvent ensemble - vous pourriez chiffrer des données avec AES puis encoder le texte chiffré en Base64 pour qu'il traverse un canal textuel - mais l'un ne remplace jamais l'autre.

Une image abstraite se dissolvant en un flux ondulant de caractères lumineux puis se recomposant, indigo nuit avec du cyan et de l'or
L'encodage et le décodage sont parfaitement réversibles - et n'offrent aucun secret.

Encoder vs décoder

Les deux directions sont de simples images en miroir. L'encodage prend votre texte ou vos données binaires d'origine et produit la chaîne de caractères Base64. Le décodage prend une chaîne Base64 et reconstruit les octets d'origine exacts. Notre outil fait les deux directement dans votre navigateur - rien de ce que vous tapez ou collez n'est jamais envoyé à un serveur, l'opération est donc entièrement locale et privée. Cela permet de décoder en toute sécurité un jeton que vous déboguez ou d'encoder un extrait que vous souhaitez intégrer, sans que vos données ne quittent la page.

Pour des conversions connexes, consultez notre outil d'encodage/décodage d'URL pour l'encodage pour-cent, ou le décodeur JWT lorsque vous devez inspecter les segments Base64 d'un jeton. Vous les trouverez aux côtés du reste de nos outils pour développeurs.

Questions fréquentes

Le Base64 est-il une forme de chiffrement ?

Non. Le Base64 est un encodage, pas du chiffrement. Il n'utilise aucune clé et est entièrement réversible par n'importe qui, il n'offre donc aucune sécurité. Utilisez un véritable chiffrement comme AES ou RSA pour protéger des données sensibles.

Pourquoi le Base64 agrandit-il les données ?

Le Base64 transforme chaque tranche de trois octets d'entrée en quatre caractères de sortie, ce qui ajoute environ 33 % à la taille. Si la sortie est découpée en lignes de longueur fixe, les sauts de ligne ajoutent quelques pour cent supplémentaires.

Quels caractères le Base64 utilise-t-il ?

L'alphabet standard comprend les 26 lettres majuscules, les 26 lettres minuscules, les chiffres de 0 à 9, plus les symboles plus et barre oblique, avec le signe égal utilisé pour le remplissage à la fin.

Puis-je stocker des mots de passe en Base64 en toute sécurité ?

Non. Le Base64 ne change que l'apparence des données, pas qui peut les lire. N'importe qui peut le décoder instantanément. Les mots de passe doivent être hachés avec un algorithme robuste, et les secrets doivent être chiffrés.

Cet outil Base64 est-il confidentiel ?

Oui. L'encodage et le décodage se font entièrement dans votre navigateur. Rien de ce que vous saisissez n'est envoyé ou transmis à un quelconque serveur, vos données restent donc sur votre propre appareil.

Quelle est la différence entre encoder et décoder ?

L'encodage convertit un texte ou des données binaires d'origine en une chaîne Base64. Le décodage fait l'inverse, retransformant une chaîne Base64 en ses octets d'origine exacts. Ce sont des opérations en miroir.