Encodeur Base64
Encodez n'importe quel texte en Base64, émojis et écritures non latines compris. Basculez sur l'alphabet compatible URL quand le résultat doit voyager dans une adresse.
Vos données ne quittent jamais votre navigateur. Cet outil fonctionne entièrement sur votre appareil.
Ce que fait réellement le Base64
Le Base64 réécrit des octets quelconques en n'employant que 64 caractères qui survivent aux systèmes conçus pour du texte : A-Z, a-z, 0-9, plus et barre oblique. Trois octets deviennent quatre caractères, ce qui explique que la sortie soit toujours environ 33 % plus volumineuse que l'entrée.
Il existe parce que le courrier électronique, JSON, XML et les URL ont été conçus pour transporter du texte. Y faire passer du binaire brut corrompt les données : on les encode donc d'abord, et on les décode à l'arrivée.
3 octets → 4 caractères (33 % de plus)
Le Base64 n'est pas du chiffrement
C'est le point le plus important à comprendre. Le Base64 est un encodage réversible sans clé : n'importe qui peut le décoder instantanément, comme cette page le démontre. Il n'apporte strictement aucune confidentialité.
Mettre un mot de passe ou une clé d'API en Base64 pour le « masquer » est une erreur de sécurité réelle et fréquente. Ce qui doit rester secret a besoin d'un véritable chiffrement.
Variantes standard et compatible URL
Le Base64 standard utilise + et /, qui ont tous deux un sens particulier dans une URL, ainsi qu'un remplissage par = que certains systèmes abîment. La variante compatible URL remplace + par - et / par _, et supprime généralement le remplissage.
Les jetons JWT emploient cette forme compatible URL : c'est pourquoi un JWT contient des tirets et des tirets bas, mais jamais de plus, de barre oblique ni de signe égal.
Questions fréquentes
Le Base64 est-il du chiffrement ?
Non. C'est un encodage, pas un chiffrement. Il n'y a aucune clé et n'importe qui peut l'inverser instantanément. Il n'apporte aucune sécurité : ne l'utilisez jamais pour protéger un secret.
Pourquoi ma sortie Base64 est-elle plus grosse que l’entrée ?
Parce que chaque groupe de 3 octets devient 4 caractères : la sortie est donc environ 33 % plus volumineuse, plus jusqu'à deux caractères de remplissage. C'est le prix à payer pour rendre du binaire transportable dans du texte.
Que signifient les signes égal à la fin ?
Ils servent de remplissage. Le Base64 travaille par blocs de trois octets : quand la longueur de l'entrée n'est pas un multiple de trois, un ou deux caractères = complètent le dernier bloc. Beaucoup de décodeurs, dont celui-ci, acceptent une entrée sans eux.
Qu'est-ce que le Base64 compatible URL ?
Une variante qui remplace + par - et / par _, parce que ces deux caractères ont un sens particulier dans une URL. Le remplissage est en général supprimé lui aussi. Les jetons JWT utilisent cette variante.
Les émojis et les textes non latins sont-ils gérés ?
Oui. Le texte est converti en octets UTF-8 avant encodage, comme le fait tout autre langage. Les encodeurs bâtis sur la fonction btoa brute du navigateur échouent dès qu'un caractère sort du Latin-1.
Outils similaires
- Décodeur Base64Décodez du Base64 en texte lisible. Les alphabets standard et compatible URL fonctionnent tous deux, avec ou sans remplissage, et les sauts de ligne collés sont ignorés.
- Encodeur URLEncodez du texte en pour cent afin qu'il circule sans risque dans une URL. Encodez une valeur de requête isolée, ou corrigez uniquement les caractères illégaux d'une adresse complète.
- Décodeur JWTCollez un jeton JSON Web Token pour lire son en-tête et sa charge utile. Les revendications d'horodatage sont converties en dates lisibles, et le jeton ne quitte jamais votre navigateur.
- Générateur de hashGénérez simultanément les empreintes MD5, SHA-1, SHA-256, SHA-384 et SHA-512 de n'importe quel texte. Tout est calculé dans votre navigateur.