Encodeur et décodeur Base64
S’exécute dans votre navigateur ; rien n’est envoyé
Encodez du texte ou des fichiers en Base64, ou décodez du Base64 en texte, en octets ou en image. Si l’entrée est invalide, le caractère fautif est signalé.
Text
Base64
Base64 appears here as you type.
Qu’est-ce que le Base64 ?
Le Base64 permet d’écrire n’importe quels octets avec seulement 64 caractères sûrs : A–Z, a–z, 0–9, + et /, avec = comme remplissage à la fin. Chaque groupe de 3 octets en entrée devient 4 caractères en sortie, donc les données encodées sont environ un tiers plus grosses que l’original.
Il existe parce que beaucoup de systèmes ne gèrent bien que du texte. Le Base64 vous permet de glisser des données binaires, comme une image, un fichier ou une clé cryptographique, dans du JSON, un e-mail, une URL ou un en-tête HTTP sans qu’elles soient abîmées en route.
Il existe deux alphabets. L’alphabet standard (RFC 4648) utilise + et /. La variante sûre pour les URL utilise - et _ à la place, car + et / ont un sens dans une URL, et omet généralement le remplissage = ; c’est celle des JWT. L’e-mail (MIME) coupe le Base64 standard en lignes de 76 caractères.
Quand on travaille avec des API, on le croise sans arrêt. L’authentification HTTP Basic envoie username:password encodé en Base64 dans l’en-tête Authorization, les parties d’un JWT sont en Base64 sûr pour les URL, et beaucoup d’API renvoient des fichiers ou des miniatures sous forme de chaînes Base64 ou d’URL data: dans le JSON. Le Base64 est un encodage, pas un chiffrement : n’importe qui peut le décoder.
Comment utiliser cet outil
- 1Choisissez Encode ou Decode. Changer de mode conserve ce que vous avez saisi ; Swap (Alt+Shift+S) place la sortie dans l’entrée et change de mode.
- 2Pour encoder, saisissez du texte (encodé en UTF-8), ou déposez ou ouvrez un fichier pour encoder ses octets tels quels. URL-safe, Wrap at 76 et data: URL changent la forme du résultat.
- 3Pour décoder, collez du Base64, du Base64 MIME coupé en lignes ou une URL
data:complète. L’alphabet et le remplissage manquant sont détectés automatiquement, et la barre d’état indique de quelle forme il s’agissait. - 4Si l’entrée n’est pas du Base64 valide, le caractère est marqué dans l’éditeur et F8 vous y amène. Le message explique le problème, par exemple un caractère hors de l’alphabet ou une mauvaise quantité de remplissage.
- 5Le texte décodé s’affiche comme du texte. Les octets qui ne sont pas du texte UTF-8 s’affichent en vidage hexadécimal, les images en aperçu, et Download (Ctrl+S) enregistre les octets dans un fichier avec la bonne extension.
Dépannage
.n’est pas un caractère Base64- L’entrée est probablement un JWT, dont les trois parties sont séparées par des points. Décodez une partie à la fois, ou collez le jeton dans le décodeur JWT.
%n’est pas un caractère Base64- Le Base64 a été encodé en pourcentage pour une URL (
+est devenu%2B,=est devenu%3D). Décodez-le d’abord avec le décodeur d’URL. - Il manque ou il y a un caractère en trop
- Le Base64 fonctionne par groupes de quatre caractères, et cette chaîne se termine par un groupe d’un seul. Elle a presque certainement été tronquée lors du copier-coller.
- Les octets décodés ne sont pas du texte UTF-8
- Les données sont binaires (une image, un zip, une clé) ou du texte dans un autre encodage, comme Latin-1. Regardez la vue Hex ou téléchargez les octets au lieu de les copier comme du texte.
- Le résultat contient un
�à la place d’un emoji - Le texte encodé contenait la moitié d’un emoji, en général parce qu’une chaîne a été coupée au milieu de celui-ci. La barre d’état désigne le caractère ; cette moitié ne peut pas être encodée et devient donc U+FFFD.
Questions fréquentes
Mes données sont-elles envoyées à un serveur ?
Non. L’encodage, le décodage et les aperçus d’images se font dans votre navigateur, et les fichiers que vous ouvrez sont lus localement. Le texte collé reste dans le session storage de cet onglet jusqu’à ce que vous l’effaciez ou fermiez l’onglet, donc un rechargement ne le fait pas disparaître, et Copy link le place dans le lien après le #, une partie que les navigateurs n’envoient jamais à un serveur. Les options choisies, comme URL-safe, sont mémorisées dans ce navigateur.
Pourquoi certaines chaînes encodées sont-elles plus longues que d’autres pour le même nombre de caractères ?
Le Base64 encode des octets, pas des caractères. En UTF-8, une lettre sans accent occupe 1 octet, une lettre accentuée 2 octets et beaucoup de caractères asiatiques 3 octets, donc un texte dans ces écritures donne un Base64 plus long.
Comment décoder un en-tête d’authentification Basic ?
Prenez la partie qui suit Basic dans l’en-tête Authorization et décodez-la ici. Le résultat est le nom d’utilisateur et le mot de passe séparés par deux-points.
Le remplissage `=` est-il nécessaire ?
La plupart des décodeurs, celui-ci compris, acceptent le Base64 sans remplissage, et le Base64 sûr pour les URL l’omet en général. Certains décodeurs stricts l’exigent ; le Base64 standard l’ajoute pour que la longueur soit un multiple de quatre.