Encodeur et décodeur Base64
Encodez du texte en Base64 ou décodez du Base64 en texte, avec support Unicode complet et un mode Base64URL pour les tokens et URL. Tout fonctionne localement dans votre navigateur.
- Les fichiers ne quittent jamais votre appareil
- Gratuit, sans inscription
- Aucun filigrane
- Fonctionne hors ligne une fois chargé
Comment utiliser Encodeur et décodeur Base64
- 1
Choisissez un sens
Basculez entre Encoder et Décoder.
- 2
Saisissez vos données
Tapez ou collez dans le champ de saisie. La conversion se fait pendant que vous écrivez.
- 3
Copiez le résultat
Copiez la sortie, ou téléchargez-la comme fichier texte.
Ce que le Base64 résout réellement
Le Base64 existe car une grande partie de l'infrastructure construite autour du texte — email, JSON, XML, URL — ne peut pas transporter de façon fiable des octets binaires arbitraires, qui pourraient contenir des caractères de contrôle, des octets nuls, ou des séquences d'octets terminant une chaîne prématurément ou cassant directement un analyseur. Le Base64 associe chaque groupe de trois octets de données binaires arbitraires à quatre caractères tirés d'un ensemble fixe de 64 que tout système basé sur le texte gère en sécurité — lettres, chiffres et deux symboles — donc le résultat encodé peut être intégré dans du JSON, envoyé comme pièce jointe email, ou inclus dans un document sans que rien en aval ne le méprenne pour autre chose que du texte brut.
Le surcoût de cette sécurité est fixe et inévitable : quatre caractères de sortie pour trois octets d'entrée, une expansion d'environ 33 %, quelles que soient les données sous-jacentes. C'est le prix payé pour un passage sûr garanti à travers des canaux texte seul, pas un défaut propre à une implémentation particulière.
Le piège Unicode qui casse les implémentations naïves
La fonction `btoa` intégrée du navigateur, à laquelle recourent directement de nombreuses implémentations Base64 rapides, génère une erreur dès qu'elle rencontre un caractère au-delà du point de code U+00FF — ce qui inclut essentiellement tous les emojis, le chinois, japonais, coréen, cyrillique, grec et arabe, plus pas mal de caractères latins accentués utilisés en français, allemand, espagnol et d'autres langues. Ce n'est pas un cas limite obscur touchant des entrées rares ; cela affecte une très grande fraction du texte réel, et c'est pourquoi tant d'outils Base64 faits maison fonctionnent parfaitement en test avec une entrée en anglais brut puis échouent la première fois qu'un utilisateur colle quelque chose avec un emoji ou un nom non latin.
La solution est d'encoder le texte en octets UTF-8 d'abord, puis d'encoder ces octets en Base64 — ce que font les encodeurs correctement construits et ce que fait cet outil — plutôt que d'essayer d'introduire directement des points de code Unicode dans un encodage conçu pour des séquences d'octets inférieures à 256.
Base64URL : la variante faite pour les URL et tokens
Le jeu de caractères du Base64 standard inclut `+` et `/`, tous deux ayant une signification dans une URL — `+` est parfois interprété comme un espace, et `/` est un séparateur de chemin — donc une chaîne Base64 standard collée directement dans une chaîne de requête ou un nom de fichier peut être corrompue ou tronquée silencieusement par ce qui analyse cette URL. Base64URL remplace ces deux caractères par `-` et `_`, aucun n'ayant de signification spéciale dans une URL, et supprime généralement aussi les caractères de remplissage `=` finaux, qui existent purement pour signaler la longueur et sont inutiles une fois que le décodeur sait déjà s'y attendre.
Les JSON Web Tokens utilisent Base64URL précisément pour cette raison : un JWT est conçu pour voyager dans un en-tête HTTP Authorization et parfois une URL, et les caractères réservés du Base64 standard rendraient cela peu fiable.
Le Base64 est de l'encodage, pas de la sécurité
Cela vaut la peine de le dire clairement car cette supposition apparaît souvent : le Base64 n'offre aucune confidentialité. Aucune clé secrète n'intervient à aucun moment du processus, donc quiconque obtient une chaîne Base64 peut la décoder instantanément vers les données d'origine en utilisant rien de plus qu'un appel de bibliothèque standard ou un outil exactement comme celui-ci. Encoder un mot de passe ou une clé API en Base64 avant de le stocker ou de le transmettre n'offre aucune protection — cela cache seulement la valeur d'un coup d'œil occasionnel, ce qui est une propriété très différente de la sécurité réelle.
Questions fréquentes
Gère-t-il les emojis et le texte dans d'autres langues ?
Oui. Le texte est encodé en UTF-8 avant le Base64, ce qui permet aux accents, caractères chinois et emojis d'être convertis correctement dans les deux sens. Les outils construits sur le `btoa` brut du navigateur génèrent une erreur avec tout caractère au-delà de U+00FF — une erreur très courante.
Qu'est-ce que le Base64URL et quand en ai-je besoin ?
Une variante qui remplace `+` par `-` et `/` par `_`, et supprime le remplissage `=`, rendant le résultat sûr dans une URL ou un nom de fichier. Les JSON Web Tokens l'utilisent. Le Base64 standard se casse une fois collé dans une chaîne de requête.
Le Base64 est-il une forme de chiffrement ?
Non. C'est un encodage conçu pour transporter des données binaires via des canaux texte seul, et n'importe qui peut l'inverser instantanément. Ne l'utilisez jamais pour cacher des mots de passe, clés ou données personnelles.
Pourquoi ma sortie Base64 est-elle plus grande que l'entrée ?
Le Base64 représente chaque groupe de trois octets par quatre caractères, donc la sortie est toujours environ 33 % plus grande. Ce surcoût est le prix à payer pour être sûr à transmettre comme texte.
Tâches courantes pour Encodeur et décodeur Base64
Vous pourriez aussi avoir besoin de
Décodeur JWT
Décodez et inspectez des JSON Web Tokens
Formateur JSON
Formatez, validez et minifiez du JSON instantanément
Formateur CSS
Embellissez ou minifiez des feuilles de style
Minifieur CSS
Réduisez vos feuilles de style avec un vrai minifieur conscient du CSS
Générateur de hachage
MD5, SHA-1, SHA-256, SHA-384 et SHA-512
Formateur HTML
Embellissez et indentez du HTML correctement
Formateur JavaScript
Formatez JS et TypeScript avec un vrai analyseur
Minifieur JS
Réduisez du JavaScript avec une vraie minification, pas du regex