Base64
Convertit du texte vers et depuis le Base64, avec une variante compatible URL.
La sortie apparaîtra ici
Ce qu’est Base64 et pourquoi il existe
Base64 est une façon de représenter n’importe quelle donnée binaire à l’aide de seulement 64 caractères imprimables et simples : A–Z, a–z, 0–9 et deux symboles. Il existe parce que beaucoup de systèmes ont été conçus pour transporter du texte, pas des octets bruts. Les corps de courriel, les URL, les chaînes JSON, les attributs HTML et les en-têtes HTTP peuvent tous être corrompus par du contenu binaire arbitraire, mais laissent passer sans encombre le texte Base64. Encoder en Base64 rend les données binaires sûres à intégrer dans ces canaux uniquement textuels.
Le compromis, c’est la taille : Base64 représente chaque trois octets par quatre caractères, donc la forme encodée est environ 33 % plus grande que l’originale. C’est acceptable pour de petits payloads comme des jetons, de petites images ou des clés, et c’est pourquoi les gros fichiers sont rarement encodés en Base64 en pratique.
C’est de l’encodage, pas du chiffrement
C’est la chose la plus importante à comprendre sur Base64 : il n’apporte aucune sécurité. N’importe qui peut décoder du Base64 instantanément — y compris cet outil. Il ne cache rien et ne protège rien. Si vous devez garder des données secrètes, chiffrez-les ; Base64 rend seulement les données sûres pour le transport, et encoder un mot de passe ou une clé d’API ne les dissimule pas.
Base64 standard vs. compatible URL
Le Base64 standard utilise + et / comme ses deux derniers caractères et complète la fin par des signes =. Ces caractères ont une signification particulière dans les URL et les noms de fichiers, donc une variante compatible URL remplace + et / par - et _ et supprime généralement le remplissage. Utilisez l’option compatible URL quand la valeur encodée apparaîtra dans une adresse web, un paramètre de requête, un cookie ou un nom de fichier. Les JSON Web Tokens, par exemple, utilisent du Base64 compatible URL pour exactement cette raison.
UTF-8 et texte non ASCII
Les fonctions intégrées du navigateur btoa et atob ne gèrent que le Latin-1 et échouent sur des caractères comme l’hébreu, l’arabe, le chinois ou les emojis. Cet outil encode d’abord le texte en UTF-8, si bien que tout caractère fait l’aller-retour correctement. Cela signifie que שלום et 😀 s’encodent et se décodent sans corruption — une source fréquente de « mojibake » (texte illisible) quand on recourt aux fonctions natives du navigateur.
- Encoder : saisissez ou collez du texte lisible et obtenez sa forme Base64.
- Décoder : collez du Base64 (standard ou compatible URL, avec ou sans remplissage) et récupérez le texte d’origine.
Questions fréquentes
- Base64 est-il sécurisé ou chiffré ?
- Non. Base64 est un encodage réversible, pas un chiffrement. N’importe qui peut le décoder instantanément, ne l’utilisez donc jamais pour protéger des mots de passe, des clés ou des données personnelles.
- Prend-il en charge l’hébreu, l’arabe et les emojis ?
- Oui. Le texte est encodé en UTF-8 avant le Base64, si bien que des caractères comme שלום et 😀 s’encodent et se décodent sans corruption, contrairement à la fonction btoa intégrée du navigateur.
- Qu’est-ce que le Base64 compatible URL ?
- Il remplace les caractères + et / par - et _ et supprime le remplissage final, pour que le résultat puisse être utilisé en toute sécurité dans les URL, les chaînes de requête, les cookies, les noms de fichiers et les jetons comme les JWT.
- Pourquoi ma sortie décodée est-elle vide ou erronée ?
- En général l’entrée n’est pas du Base64 valide — elle peut être tronquée, contenir des caractères d’un autre alphabet, ou être en fait du texte brut. L’outil accepte l’entrée standard et compatible URL et tolère l’absence de remplissage, mais les octets doivent tout de même être de l’UTF-8 valide pour s’afficher en texte.
- Pourquoi la chaîne encodée est-elle plus longue que l’originale ?
- Base64 encode chaque trois octets par quatre caractères, donc la sortie est environ un tiers plus grande que l’entrée. Ce surcoût est inhérent au format.
- Ai-je besoin des caractères de remplissage (=) ?
- Le remplissage rend la longueur multiple de quatre et est exigé par les décodeurs stricts, mais cet outil accepte l’entrée avec ou sans. Le Base64 compatible URL omet généralement le remplissage.
- Mon entrée est-elle envoyée à un serveur ?
- Non. L’encodage et le décodage s’exécutent entièrement dans votre navigateur ; rien de ce que vous collez ne quitte votre appareil.