Encodeur et décodeur Base64

Tapez d’un côté et l’autre se met à jour. Base64 (standard et URL-safe), binaire, hexadécimal, encodage URL et entités HTML, avec les accents et les emoji gérés correctement.

Texte

Format
Télécharger .txt

Les deux zones sont modifiables. Collez du texte encodé à droite pour le décoder ; le format est détecté au collage.

Base64

Valide

Tout se passe dans votre navigateur. Rien de ce que vous tapez ou déposez n’est envoyé.

Fichier en Base64

Sortie

Comment encoder et décoder en Base64

Cet encodeur et décodeur Base64 fonctionne dans les deux sens à la fois. Tapez du texte brut à gauche et le Base64 apparaît à droite ; collez du Base64 à droite et le texte décodé apparaît à gauche. Hello devient SGVsbG8=, et coller SGVsbG8= vous redonne Hello.

Les deux mêmes cadres gèrent quatre autres formats : binaire, hexadécimal, encodage URL et entités HTML. Quand vous collez quelque chose à droite, l’outil l’analyse et passe au format correspondant : une suite de 0 et de 1 est lue comme du binaire sans que vous ayez à choisir. Si vous collez par erreur une chaîne encodée dans le cadre de texte brut, il propose de la décoder.

Ce que fait réellement le Base64

Le Base64 transforme n’importe quels octets en 64 caractères sûrs (A–Z, a–z, 0–9, + et /), pour que des données binaires puissent passer par des systèmes conçus pour le texte : e-mail, JSON, attributs HTML, variables d’environnement. Il prend 3 octets (24 bits), les découpe en quatre morceaux de 6 bits et écrit un caractère pour chaque morceau.

Man → 01001101 01100001 01101110 → 010011 010110 000101 101110 → TWFu

Quand l’entrée n’est pas un multiple de 3 octets, des signes = complètent la fin : Ma donne TWE= et M donne TQ==. Le Base64 n’est pas du chiffrement. N’importe qui peut le décoder en une seconde, alors ne considérez jamais un mot de passe en Base64 comme caché.

Standard ou URL-safe ?

Les caractères + et / cassent les URL et les noms de fichiers, donc la variante URL-safe utilise - et _ à la place et supprime généralement le remplissage. Les octets FB FF s’écrivent +/8= en Base64 standard et -_8 en URL-safe. Les jetons JWT et beaucoup de clés d’API utilisent la forme URL-safe. Au décodage, inutile de choisir : les deux alphabets sont acceptés, avec ou sans remplissage, et les espaces ou retours à la ligne sont ignorés.

Cochez Retour à la ligne tous les 76 quand il vous faut une sortie au format MIME pour le corps d’un e-mail ou un certificat PEM.

Caractères courants dans chaque format

Tout ici est converti via l’UTF-8, l’encodage utilisé par presque tous les sites et API. C’est pourquoi é occupe deux octets et un emoji quatre. Les outils qui sautent cette étape abîment les lettres accentuées, et c’est le reproche le plus fréquent fait aux décodeurs Base64 en ligne.

CaractèreBase64BinaireHexaURL
AQQ==0100000141A
aYQ==0110000161a
espaceIA==0010000020%20
&Jg==0010011026%26
éw6k=11000011 10101001C3 A9%C3%A9
€4oKs11100010 10000010 10101100E2 82 AC%E2%82%AC

Texte en binaire et binaire en texte

Choisissez Binaire et chaque octet de votre texte s’écrit sur 8 bits. Hi devient 01001000 01101001. Décochez Espace entre les octets pour obtenir une chaîne continue.

Pour traduire du binaire en texte, collez les bits dans le cadre de droite. Les groupes de 8 sont lus comme des octets. Certains sites affichent l’ASCII sur 7 bits (1001000 1101001) ; tant que les groupes sont séparés par des espaces, un zéro est ajouté devant et ils sont lus correctement. Sans espaces, le total doit être un multiple de 8, et le message d’erreur indique combien de bits ont été trouvés pour vous aider à repérer le chiffre manquant.

L’hexadécimal fonctionne de la même façon, avec deux chiffres par octet. Au décodage, les préfixes et séparateurs comme 0x, \x, les deux-points et les virgules sont retirés, vous pouvez donc coller directement depuis un débogueur ou un tableau C.

Encoder et décoder une URL

L’encodage URL remplace les caractères à risque par % suivi de deux chiffres hexadécimaux : une espace devient %20, é devient %C3%A9. Choisissez la bonne portée :

Entités HTML

Le mode HTML échappe les cinq caractères qui peuvent casser le balisage : & < > " et '. Ainsi <b> devient &lt;b&gt; et s’affiche comme du texte au lieu de passer en gras. Le décodage comprend les entités nommées comme &eacute; et &nbsp; ainsi que les entités numériques comme &#8364; (€).

Image en data URI Base64

Déposez un fichier dans le cadre du bas pour obtenir son Base64, prêt sous forme de data URI, de chaîne brute, de balise <img> ou d’arrière-plan CSS. L’indication de taille montre le coût. Le Base64 ajoute un tiers, il n’est donc rentable que pour de petits éléments comme une icône de 1 Ko, où économiser une requête HTTP compte plus que les octets en trop. Pour une photo de 200 Ko, un fichier image classique est préférable : il est plus léger, se met en cache et n’alourdit pas votre HTML ou votre CSS.

Taille du fichierTaille en Base64
1 Ko (1 024 octets)1 368 caractères
10 Ko13 656 caractères
50 Ko68 268 caractères
1 Mo1 398 104 caractères

L’inverse fonctionne aussi. Collez du Base64 ou une data URI à droite et, s’il ne s’agit pas de texte, l’outil lit les premiers octets pour déterminer le type de fichier (PNG, JPEG, GIF, WebP, PDF, ZIP, MP3 et d’autres), affiche un aperçu pour les images et propose un téléchargement avec la bonne extension.

Rien n’est envoyé en ligne. C’est encore plus important ici que d’habitude, car les chaînes que l’on décode sont souvent des clés d’API, des jetons de session et des pièces jointes d’e-mails.

Questions fréquentes

Comment décoder du Base64 ?

Collez le Base64 dans la zone de droite et le texte décodé apparaît aussitôt à gauche. Par exemple, SGVsbG8= se décode en Hello. Si le résultat est une image ou un PDF plutôt que du texte, un bouton Enregistrer en fichier apparaît à la place.

Comment convertir du texte en binaire ?

Choisissez Binaire et tapez votre texte à gauche. Chaque octet devient 8 bits, donc Hi devient 01001000 01101001. Les lettres hors de l’alphabet anglais, comme é, occupent deux octets ou plus en UTF-8, donc 16 bits ou plus.

Comment traduire du code binaire en texte ?

Choisissez Binaire et collez les 0 et les 1 dans la zone de droite. Les groupes de 8 bits sont lus comme des octets, donc 01001000 01101001 donne Hi. Les groupes de 7 bits séparés par des espaces fonctionnent aussi ; un 0 est ajouté devant.

Comment transformer une image en data URI Base64 ?

Déposez l’image dans la zone de fichier en bas et copiez le résultat. Un PNG devient data:image/png;base64,iVBORw0KGgo… que vous pouvez coller dans un img src ou un fond CSS. Comptez environ 33 % de plus que le fichier.

Pourquoi le Base64 est-il environ 33 % plus gros que l’original ?

Le Base64 écrit chaque groupe de 3 octets avec 4 caractères, donc 30 Ko d’image donnent environ 40 Ko de texte. Les retours à la ligne MIME tous les 76 caractères ajoutent environ 2,6 %. C’est pourquoi les data URI n’ont de sens que pour les petits fichiers.

Quelle différence entre Base64 et Base64 URL-safe ?

Le Base64 URL-safe remplace + par - et / par _, et supprime souvent le remplissage =, pour que le texte puisse figurer dans une URL ou un nom de fichier. Les jetons JWT l’utilisent. Ce décodeur accepte automatiquement les deux alphabets.

Comment décoder une URL contenant %20 et %3A ?

Choisissez URL et collez le texte à droite. %20 devient une espace et %3A deux-points, donc https%3A%2F%2Fexample.com se lit https://example.com. Cochez Espaces en + si le texte vient d’un formulaire, où les espaces sont écrites +.

Mon texte ou mon fichier est-il envoyé à un serveur ?

Non. Tout l’encodage et le décodage se font dans votre navigateur en JavaScript, c’est donc sans risque pour des clés d’API, des jetons et des fichiers privés.