Encodeur et décodeur Base64
Encodez et décodez du texte ou des fichiers en Base64 localement dans votre navigateur.
Chargement de Encodeur et décodeur Base64… Si rien ne se passe, activez JavaScript.
Le Base64 est un schéma d'encodage du binaire vers le texte qui représente des données binaires à l'aide de seulement 64 caractères ASCII imprimables : les lettres latines majuscules et minuscules, les chiffres de 0 à 9 et les symboles + et /. Il a été normalisé en 1987 dans le cadre du RFC 989 pour le courrier à confidentialité renforcée (Privacy Enhanced Mail), puis formalisé dans le RFC 4648. Le nom vient du fait que chaque caractère de sortie encode exactement 6 bits, ce qui signifie que chaque 3 octets d'entrée binaire deviennent exactement 4 caractères ASCII, une surcharge de 33 % qui vaut bien le gain de compatibilité.
Exemples
Hello, World!
SGVsbG8sIFdvcmxkIQ==
Base64 standard d'un texte UTF-8.
Café
Q2Fmw6k=
Ce qui n'est pas ASCII est d'abord encodé en UTF-8 : é devient les octets 0xC3 0xA9.
SGVsbG8sIFdvcmxkIQ==
Hello, World!
Le décodage inverse exactement la transformation.
Questions fréquentes
Mes données sont-elles envoyées à un serveur ?
Quels sont exactement ces 64 caractères qu'utilise le Base64 ?
Quand devrais-je utiliser l'encodage Base64 dans mes propres projets ?
Comment le Base64 se compare-t-il à l'encodage hexadécimal ?
Quelle est la taille maximale de fichier que je peux encoder ou décoder ?
Fonctionne-t-il hors ligne et dans tous les navigateurs modernes ?
Puis-je encoder des fichiers binaires comme des images ou des PDF ?
Le Base64 est-il une forme de chiffrement ?
Quelle est la différence entre le Base64 standard et le Base64url ?
Pourquoi obtiens-je parfois une erreur de « caractère non valide » au décodage ?
À propos de Encodeur et décodeur Base64
Les développeurs recourent au Base64 tous les jours sans toujours s'en rendre compte. Les Data URI qui intègrent des images ou des polices directement dans le HTML et le CSS utilisent Base64. Les JSON Web Token utilisent Base64url (une variante adaptée aux URL) pour empaqueter leur en-tête et leur charge utile. L'authentification HTTP basique encode les identifiants en Base64 avant de les placer dans l'en-tête Authorization. Les certificats TLS, les clés SSH et les messages PGP en armure sont tous distribués sous forme de fichiers PEM enveloppés en Base64. Chaque fois que des données binaires doivent survivre à une couche de transport ou de stockage en texte seul (courrier, JSON, XML, variables d'environnement), Base64 est la réponse standard.
Cet outil encode et décode le Base64 entièrement dans votre navigateur. Il utilise les fonctions btoa/atob intégrées de la plateforme pour le texte et l'API FileReader pour le téléversement de fichiers binaires. Comme tout le traitement se fait sur votre propre appareil, vos données ne sont jamais transmises à aucun serveur, ce qui permet de l'utiliser en toute sécurité avec des identifiants sensibles, des clés privées ou des documents confidentiels. L'outil prend aussi en charge le Base64 adapté aux URL, qui remplace + par - et / par _ afin que la sortie puisse être intégrée dans des URL sans encodage pour cent.
Quelques points d'attention : btoa lève une TypeError si l'entrée contient des caractères hors de la plage Latin-1, c'est pourquoi l'outil encode automatiquement le texte Unicode en UTF-8 avant de l'encoder. Au décodage, les caractères de remplissage finaux (=) sont facultatifs dans de nombreuses implémentations, mais certains analyseurs stricts les exigent ; si vous obtenez une erreur de décodage, essayez d'ajouter un ou deux signes =. Le Base64 est un encodage, pas un chiffrement : il n'offre aucune confidentialité, et n'importe qui peut le décoder instantanément. Ne stockez jamais de mots de passe ou de jetons en Base64 en espérant un quelconque bénéfice de sécurité.
Les origines du Base64
Le Base64 a été normalisé en 1987 dans le cadre du RFC 989, qui définissait le courrier à confidentialité renforcée (PEM) pour l'échange sécurisé de courrier électronique. Le nom vient du fait que l'encodage utilise exactement 64 caractères ASCII imprimables, le plus grand sous-ensemble en puissance de deux qui tient confortablement dans la plupart des encodages de caractères de l'époque. Le schéma a ensuite été affiné dans le RFC 1421 puis documenté définitivement dans le RFC 4648 (2006), qui reste la référence faisant autorité aujourd'hui.
Avant le Base64, envoyer des données binaires par les systèmes de courrier était notoirement peu fiable. Les premiers relais de courrier fonctionnaient en ASCII 7 bits et corrompaient en silence les octets supérieurs à 127, les traitant comme des codes de contrôle ou supprimant carrément le bit de poids fort. Le Base64 a résolu cela en faisant correspondre chaque 3 octets d'entrée binaire à 4 caractères imprimables tirés d'un sous-ensemble d'ASCII sûr et universellement pris en charge, garantissant un transit fidèle par n'importe quel canal en texte seul.
Aujourd'hui, le Base64 est tissé dans la trame du web. Un navigateur moderne traite des milliers d'opérations Base64 par chargement de page sans que l'utilisateur le remarque : décodage de fichiers de polices intégrés au CSS, vérification de jetons JWT dans les réponses d'API, affichage d'images en ligne dans les clients de messagerie et validation de certificats TLS lors de la poignée de main HTTPS. Ce qui a commencé comme un contournement d'une infrastructure de courrier défaillante des années 1980 est devenu l'un des encodages les plus discrètement essentiels de l'informatique.