Encoder / Décoder Base64
Convertissez du texte en Base64 et décodez-le dans votre navigateur. Compatible UTF-8 avec une variante URL-safe optionnelle : rien n'est jamais envoyé vers un serveur.
Entrée
0 lignes · 0 caractères
Mode
URL-safe
Comment utiliser Encoder / Décoder Base64
- 1
Choisissez Encoder ou Décoder
Réglez le mode sur Encoder pour transformer du texte en Base64, ou sur Décoder pour reconvertir une chaîne Base64 en texte lisible.
- 2
Saisissez votre entrée
Tapez ou collez votre texte ou votre Base64 dans le panneau de saisie, et activez si besoin l'option URL-safe pour l'alphabet compatible URL et noms de fichiers.
- 3
Convertissez
Cliquez sur Convertir pour traiter l'entrée localement dans votre navigateur, avec une prise en charge complète de l'UTF-8 et des emojis.
- 4
Copiez ou inversez
Copiez le résultat, ou utilisez Inverser pour replacer la sortie dans l'entrée et basculer le mode afin d'effectuer un aller-retour rapide.
Le guide complet de l'encodage Base64
Ce qu'est réellement le Base64
Le Base64 est un schéma d'encodage binaire-vers-texte : il représente des données binaires quelconques en n'utilisant que 64 caractères ASCII imprimables qui survivent à la transmission à travers des systèmes conçus pour le texte brut. L'alphabet standard, défini par la RFC 4648, comprend les 26 lettres majuscules A-Z, les 26 lettres minuscules a-z, les dix chiffres 0-9 et les deux symboles + et /. Cela fait 64 symboles, soit exactement de quoi représenter six bits de données par caractère, car deux à la puissance six vaut 64.
Le nom est littéral. De même que la base 10 utilise dix symboles de chiffres et la base 16 (hexadécimal) en utilise seize, la base 64 en utilise soixante-quatre. L'encodage est entièrement réversible et sans perte : tous les octets que vous encodez reviennent identiques octet pour octet une fois décodés, et c'est précisément tout l'intérêt.
Pourquoi le Base64 existe
De nombreux canaux ont été conçus pour transporter du texte, pas des octets bruts, et ils dénaturent tout ce qui sort de la plage ASCII imprimable. Le courrier électronique en est l'exemple classique : le standard SMTP d'origine était un protocole sur sept bits qui pouvait corrompre ou supprimer le bit de poids fort des données binaires, c'est pourquoi MIME utilise le Base64 pour acheminer en toute sécurité les images et les fichiers joints. Le même problème surgit chaque fois que du binaire doit voyager à l'intérieur de quelque chose de textuel.
Vous croisez le Base64 en permanence sans le remarquer. Les data URI intègrent des images directement dans le HTML et le CSS sous la forme data:image/png;base64,iVBORw0K... afin qu'une petite icône ne nécessite aucune requête séparée. Les jetons web JSON (JWT) sont trois segments Base64url reliés par des points. L'authentification HTTP Basic envoie le Base64 de username:password. Les navigateurs l'exposent via les fonctions intégrées btoa et atob, et c'est la manière standard de glisser des charges utiles binaires dans du JSON, du XML ou une URL.
Comment fonctionne la correspondance de 3 octets vers 4 caractères
Le Base64 traite l'entrée trois octets à la fois. Trois octets font 24 bits, et 24 se divise parfaitement en quatre groupes de six bits. Chaque groupe de six bits est un nombre de 0 à 63, qui devient un caractère de l'alphabet. Ainsi, chaque tranche de 3 octets en entrée produit toujours exactement 4 caractères en sortie, ce qui explique pourquoi le Base64 gonfle les données d'environ un tiers : la forme encodée fait à peu près 133 % de la taille de l'original.
C'est la position dans l'alphabet qui compte. L'indice 0 est A, l'indice 25 est Z, l'indice 26 est a, l'indice 51 est z, l'indice 52 est 0, l'indice 61 est 9, l'indice 62 est + et l'indice 63 est /. Pour lire une chaîne encodée à la main, vous faites correspondre chaque caractère à son indice, écrivez cet indice sur six bits, concaténez tous les bits, puis redécoupez le flux en octets de huit bits.
Un exemple détaillé : encoder « Man »
Prenez les trois lettres M, a, n. Leurs valeurs d'octet ASCII sont 77, 97 et 110, soit en binaire 01001101, 01100001 et 01101110. Concaténez ces 24 bits en un seul flux : 010011010110000101101110. Découpez-le maintenant en quatre groupes de six bits : 010011, 010110, 000101, 101110.
Ces groupes correspondent aux nombres 19, 22, 5 et 46. En cherchant chacun dans l'alphabet, on obtient T (indice 19), W (indice 22), F (indice 5) et u (indice 46). Ainsi « Man » s'encode en « TWFu » — une conversion nette de trois octets vers quatre caractères, sans aucun remplissage nécessaire. Le décodage se contente d'exécuter les mêmes étapes en sens inverse.
Le remplissage et le signe égal
L'entrée n'est pas toujours un multiple de trois octets, le Base64 a donc besoin d'un moyen de signaler le reste. Lorsqu'il reste un octet, il s'encode en deux caractères suivis de deux marques de remplissage (==) ; lorsqu'il reste deux octets, ils s'encodent en trois caractères suivis d'une seule marque de remplissage (=). Le caractère de remplissage ne porte aucune donnée ; il indique seulement au décodeur combien d'octets réels représente le dernier groupe.
Par exemple, la lettre seule « M » (octet 77, binaire 01001101) est complétée à six bits en 010011 et 010000, ce qui donne T et Q, puis complétée par == pour former « TQ== ». Le mot « Ma » (deux octets) s'encode en « TWE= » avec un seul signe égal final. Compter les signes égal à la fin d'une chaîne Base64 vous indique si la longueur d'origine était un multiple de trois.
La variante URL-safe
Les caractères standard + et / posent problème là où ils ont déjà une signification. Une barre oblique sépare les segments de chemin dans une URL, et un signe plus est interprété comme un espace dans les chaînes de requête au format formulaire ; une valeur Base64 normale peut donc casser lorsqu'elle est insérée dans un lien ou un nom de fichier. L'alphabet URL-safe, lui aussi issu de la RFC 4648, corrige cela en remplaçant + par - (trait d'union) et / par _ (tiret bas).
Activer l'option URL-safe dans cet outil produit cette variante et supprime également le remplissage = final, puisque les signes égal nécessitent eux aussi un échappement dans les URL. Le résultat s'insère directement dans les paramètres de requête, les segments de chemin, les cookies et les noms de fichiers. C'est l'encodage utilisé par les JWT et de nombreuses API web. Pensez simplement à décoder une entrée URL-safe avec un décodeur URL-safe, car les caractères - et _ ne sont pas valides dans l'alphabet standard.
Le Base64 est de l'encodage, pas du chiffrement
C'est le fait le plus important et le plus mal compris à propos du Base64. L'encodage masque les données seulement à l'œil nu ; il n'offre aucune confidentialité. Il n'y a ni clé ni secret, n'importe qui peut donc décoder une chaîne Base64 instantanément à l'aide de n'importe quel outil, y compris celui-ci. Considérer le Base64 comme un moyen de cacher des mots de passe, des clés d'API ou des données personnelles est une grave erreur de sécurité.
Le Base64 résout un problème de transport, pas un problème de confidentialité : il rend le binaire sûr à acheminer à travers des canaux limités au texte. Si vous avez besoin d'une protection réelle, chiffrez d'abord les données avec un véritable algorithme tel qu'AES, et ne les encodez ensuite en Base64 que si vous avez aussi besoin qu'elles voyagent sous forme de texte. L'encodage et le chiffrement sont deux tâches différentes.
Erreurs courantes et conseils pratiques
L'erreur la plus fréquente est la confusion de jeu de caractères. Le Base64 lui-même ne connaît que les octets ; avant de pouvoir encoder du texte, vous devez donc décider comment ce texte devient des octets. Cet outil utilise l'UTF-8, ce qui explique pourquoi les lettres accentuées et les emoji font un aller-retour correct ; encoder la même chaîne avec un autre jeu de caractères ailleurs produit un Base64 différent. Un deuxième piège courant est l'espace blanc : les sauts de ligne insérés par certains encodeurs (MIME revient à la ligne à 76 caractères) ne font pas partie des données et doivent être retirés avant le décodage, même si les décodeurs stricts peuvent les rejeter.
Parmi les autres pièges figurent le mélange des alphabets standard et URL-safe, l'oubli qu'une chaîne sans remplissage peut avoir besoin que son remplissage soit restauré avant qu'un décodeur strict ne l'accepte, et l'idée que le Base64 économiserait de l'espace — ce n'est jamais le cas, il alourdit toujours la charge utile d'environ un tiers. Lorsqu'un décodage échoue ici, vérifiez d'abord la présence d'un espace parasite, d'un signe égal manquant ou d'un - ou _ appartenant à l'alphabet URL-safe.
Questions fréquentes
Quelle est la différence entre Encoder et Décoder ici ?
À quoi sert l'option URL-safe ?
Gère-t-il les emojis et les caractères non anglais ?
Que se passe-t-il si je colle un Base64 invalide lors du décodage ?
Mes données sont-elles envoyées quelque part ?
Outils similaires
Continuez avec ces outils pratiques