Décoder un mot tout simple
SGVsbG8gV29ybGQ=
Hello World
Le = final est du padding parce que Hello World fait 11 octets, donc pas un multiple de 3. Le décodage le retire correctement à chaque fois.
Encodez ou décodez instantanément des chaînes et fichiers Base64.
Dernière mise à jour
Le Base64 est un schéma d'encodage qui représente des données binaires à l'aide de 64 caractères imprimables. On l'utilise dès qu'un système purement textuel doit transporter des octets : petites images intégrées en HTML, tokens, pièces jointes d'e-mails, data URLs, secrets copiés-collés dans des logs, ou champs JSON contenant des blobs binaires.
Le Base64 est un *encodage*, pas un chiffrement. Décoder une chaîne Base64 redonne immédiatement le contenu d'origine, donc ne le considérez jamais comme une mesure de sécurité. Tout ce qui est en Base64 est public en pratique, à moins d'avoir été chiffré *avant* d'être encodé.
Sous le capot, Base64 prend 3 octets (24 bits) et les réécrit sous forme de 4 caractères tirés d'un alphabet fixe de 64 symboles (A–Z, a–z, 0–9, +, /). Quand la longueur de l'entrée n'est pas un multiple de 3, l'encodeur ajoute un ou deux = à la fin en guise de padding. C'est pour ça que les chaînes Base64 se terminent souvent par =.
= complètent le dernier groupe de 4 et sont parfaitement normaux dans beaucoup de chaînes Base64.Sélectionnez Encoder si vous avez du texte ou un fichier et que vous voulez la sortie en Base64. Sélectionnez Décoder si vous partez d'une chaîne Base64 et que vous voulez retrouver le contenu d'origine.
Collez une chaîne dans la zone de texte, ou glissez-déposez un fichier (image, PDF, peu importe) sur la zone prévue. Les fichiers sont convertis en URL data:, prête à intégrer dans du HTML ou du CSS.
La sortie encodée est la chaîne Base64. La sortie décodée est le texte d'origine — ou, si l'entrée était un fichier, les octets reconstitués proposés sous forme de lien de téléchargement.
Cliquez sur le bouton de copie pour envoyer le résultat dans le presse-papiers. Tout se passe dans votre navigateur : l'entrée ne quitte jamais votre machine.
Les éléments que vous allez recroiser en permanence dès que vous touchez au Base64 — définis par la RFC 4648.
| Élément | Signification | Exemple |
|---|---|---|
| Alphabet | Les 64 caractères du Base64 standard | A–Z, a–z, 0–9, +, / |
| Alphabet URL-safe | Utilisé par les JWT et dans les URLs | A–Z, a–z, 0–9, -, _ |
| Padding | Complète le dernier groupe quand la longueur n'est pas un multiple de 3 | = ou == |
| Taille de groupe | Octets par bloc encodé → 4 caractères en sortie | 3 octets → 4 caractères |
| Inflation | La sortie est ~33 % plus longue que l'entrée | 100 o → 136 caractères |
| Data URL | Fichier embarqué directement dans du HTML/CSS | data:image/png;base64,... |
SGVsbG8gV29ybGQ=
Hello World
Le = final est du padding parce que Hello World fait 11 octets, donc pas un multiple de 3. Le décodage le retire correctement à chaque fois.
{"role":"student","active":true}eyJyb2xlIjoic3R1ZGVudCIsImFjdGl2ZSI6dHJ1ZX0=
Les tokens JWT encodent chaque segment exactement comme ça — d'où le fait que les payloads JWT commencent presque toujours par eyJ, qui est la forme Base64 de {".
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgAAIAAAUAAen8GVAAAAAASUVORK5CYII=
Le préfixe annonce le type MIME (image/png) et l'encodage (base64). Tout ce qui suit la virgule, c'est le contenu du fichier. Pratique pour les toutes petites images qui se chargent en même temps que la page.
Pj4/Pyc+Pg==
Pj4_Pyc-Pg
Le Base64 URL-safe remplace + par - et / par _ pour que la valeur tienne dans une URL sans avoir besoin d'être échappée. C'est cette variante qu'utilisent les JWT.
= puis fournir le résultat à un décodeur strict qui l'attend. (Les décodeurs URL-safe acceptent en général l'absence de padding ; les décodeurs standards, pas forcément.)= sont ajoutés en padding.atob() dans les navigateurs, Buffer.from(str, 'base64') en Node.js, base64.b64decode() en Python.= ?= est du padding. Le Base64 produit 4 caractères pour chaque tranche de 3 octets en entrée. Quand la longueur d'entrée n'est pas un multiple de 3, on ajoute un ou deux = pour que la longueur encodée reste un multiple de 4.data:image/png;base64,..., ce qui permet d'intégrer l'image directement dans du HTML, du CSS ou du JSON sans requête réseau supplémentaire.