Comment décoder ou encoder du Base64
- Choisissez Décoder pour retransformer du Base64 en texte, ou Encoder pour transformer du texte en Base64.
- Collez votre entrée. Le résultat se met à jour pendant que vous tapez. Les espaces et les retours à la ligne dans le Base64 sont ignorés, et un préfixe
data:…;base64,est retiré automatiquement. - À l’encodage, activez Base64 sûr pour les URL si le résultat doit aller dans une URL, un nom de fichier ou un jeton.
- Cliquez sur Copier, ou sur Utiliser le résultat comme entrée pour inverser la conversion et vérifier l’aller-retour.
- Pour intégrer une image ou une police dans du HTML ou du CSS, utilisez Fichier en Base64 afin d’obtenir une URL de données complète.
Qu’est-ce que le Base64 ?
Le Base64 représente n’importe quels octets avec seulement 64 caractères sûrs : A–Z, a–z, 0–9, + et /. Il existe parce que de nombreux systèmes, comme le courrier électronique, le JSON, le XML et les URL, ont été conçus pour du texte et peuvent mal supporter des données binaires brutes. Chaque groupe de 3 octets (24 bits) devient 4 caractères de 6 bits : le Base64 est donc environ 33 % plus gros que l’original. Quand l’entrée n’est pas un multiple de 3 octets, des signes = de remplissage (padding) complètent la fin.
Exemple concret
Le texte Hi! représente trois octets : 72, 105 et 33, soit en binaire 01001000 01101001 00100001. Regroupés en blocs de 6 bits, cela donne 010010 000110 100100 100001 = 18, 6, 36, 33. Dans l’alphabet Base64, ces positions sont S, G, k et h : Hi!s’encode donc en SGkh.
Les caractères hors de l’ASCII demandent plusieurs octets en UTF-8. La lettre é compte deux octets (C3 A9) et s’encode en w6k= ; l’emoji de la main qui salue 👋 compte quatre octets, ce qui explique que Hello, World! 👋 devienne les 24 caractères SGVsbG8sIFdvcmxkISDwn5GL.
Unicode et entrées non valides
Les fonctions du navigateur btoa et atob ne comprennent que le Latin-1 et déclenchent une erreur avec les emojis ou la plupart des textes non anglais. Cet outil convertit d’abord le texte en octets UTF-8, ce qu’attendent presque tous les systèmes modernes. Au décodage, il vérifie l’entrée et vous dit exactement ce qui ne va pas plutôt que de renvoyer du charabia :
- Caractère non valide, avec sa position, par exemple un
*égaré ou un guillemet typographique collé depuis un document. - Mauvaise longueur : un seul caractère restant ne peut jamais former un octet, l’entrée a donc été tronquée.
- Mauvais remplissage :
=ne peut apparaître qu’à la fin, au plus deux fois. - Pas du texte : les octets sont du Base64 valide mais pas de l’UTF-8, généralement une image ou un PDF. Vous voyez les premiers octets en hexadécimal ;
ff d8 ff, par exemple, est le début d’un JPEG.
Conseils
- Le Base64 n’est pas de la sécurité. Ne l’utilisez jamais pour cacher des mots de passe ou des clés d’API ; n’importe qui peut le décoder en une seconde.
- Les jetons JWT sont composés de trois parties en Base64 sûr pour les URL, séparées par des points. Collez une partie à la fois pour lire l’en-tête ou la charge utile.
- Les URL de données conviennent aux petits fichiers. Des icônes de quelques kilooctets intégrées, c’est très bien ; les grandes images se chargent plus vite comme fichiers séparés que le navigateur peut mettre en cache.
- Retours à la ligne : le courrier électronique (MIME) coupe le Base64 tous les 76 caractères. Le décodeur ignore ces coupures, vous pouvez donc le coller tel quel.
Questions fréquentes
Le Base64 est-il un chiffrement ?
Non. Le Base64 est un encodage que n’importe qui peut inverser instantanément. Il permet de placer des données binaires dans des formats texte, mais ne cache ni ne protège rien. Pour des secrets, utilisez un vrai chiffrement.
Pourquoi mon texte décodé affiche-t-il des caractères étranges sur d’autres sites ?
De nombreux décodeurs interprètent les octets en Latin-1, ce qui déforme les accents et les emojis. Cet outil encode et décode le texte en UTF-8 : é, ç, œ, 日本語 et 😀 reviennent donc exactement tels qu’ils étaient au départ.
Qu’est-ce que le Base64 sûr pour les URL ?
Une variante qui remplace + par - et / par _ et supprime généralement le remplissage =, de sorte que le résultat peut servir dans des URL, des noms de fichier et des jetons JSON Web Token sans échappement. Le décodeur accepte les deux variantes.
Mes données sont-elles envoyées ?
Non. Le texte et les fichiers sont convertis dans votre navigateur avec des fonctions intégrées et ne quittent jamais votre appareil.