Ce qu’est le Base64
Le Base64 est une façon d’écrire n’importe quelle donnée avec seulement 64 caractères sûrs : les lettres de A à Z et de a à z, les chiffres de 0 à 9, et les symboles + et /. Il a été conçu pour les systèmes qui ne transportent que du texte simple, comme l’e-mail et certains formulaires web. Grâce au Base64, une image, un PDF ou un texte dans n’importe quelle langue peut passer par ces systèmes sans être abîmé.
On croise le Base64 un peu partout : pièces jointes d’e-mails, images intégrées au CSS sous forme de data URL, jetons JWT, clés d’API, en-têtes d’authentification HTTP basique et fichiers de configuration.
Comment utiliser cet outil Base64
Encoder un texte. Tapez ou collez un texte dans la zone Texte. Le Base64 apparaît dans la zone de droite pendant la frappe. Appuyez sur Copier pour le récupérer.
Décoder du Base64. Collez du Base64 dans la zone Base64 de droite. Le texte d’origine apparaît à gauche. Les espaces, les sauts de ligne, un remplissage manquant et un préfixe data:...;base64, sont tous acceptés.
Options.
- Sûr pour les URL (- et _) remplace
+par-et/par_et retire le remplissage=. Utilisez-le pour les liens, les cookies et les noms de fichiers. - Couper les lignes à 76 découpe le résultat en lignes de 76 caractères, la présentation utilisée dans les e-mails (MIME).
Effacer vide les deux zones.
Fichier vers Base64. Choisissez un fichier de 25 Mo maximum. Prenez Base64 seul pour la chaîne brute ou Data URL pour une valeur prête à l’emploi comme data:image/png;base64,.... Puis appuyez sur Copier.
Base64 vers fichier. Collez du Base64 ou une data URL. L’outil détecte les types courants comme PNG, JPEG, GIF, WebP, PDF et ZIP, propose un nom de fichier et affiche un aperçu pour les images. Appuyez sur Télécharger le fichier pour l’enregistrer.
Comment fonctionne le Base64
Le Base64 lit la saisie trois octets (24 bits) à la fois. Il découpe ces 24 bits en quatre groupes de 6 bits. Chaque groupe de 6 bits est un nombre de 0 à 63, et ce nombre choisit un caractère de l’alphabet Base64. Trois octets en entrée, quatre caractères en sortie. C’est pourquoi le Base64 est environ un tiers plus long que la saisie.
Le texte est d’abord transformé en octets avec l’UTF-8. C’est pourquoi les lettres accentuées et les emoji fonctionnent ici : café devient 5 octets, et ce sont ces octets qui sont encodés. Certains outils plus anciens utilisent directement la fonction btoa du navigateur, qui échoue sur tout caractère hors du Latin-1, et produisent parfois un Base64 différent pour les accents français.
Exemples
| Saisie | Base64 | Sûr pour les URL |
|---|---|---|
M |
TQ== |
TQ |
Ma |
TWE= |
TWE |
Man |
TWFu |
TWFu |
Hello, World! |
SGVsbG8sIFdvcmxkIQ== |
SGVsbG8sIFdvcmxkIQ |
Bonjour |
Qm9uam91cg== |
Qm9uam91cg |
café |
Y2Fmw6k= |
Y2Fmw6k |
Zoë |
Wm/Dqw== |
Wm_Dqw |
<?> |
PD8+ |
PD8- |
Les deux dernières lignes montrent pourquoi la version URL existe. Un / ou un + dans un lien peut le casser, alors que _ et - sont sans danger.
Conseils et limites
- Le Base64 n’est pas une sécurité. Il ne cache rien. Traitez un texte en Base64 comme les données d’origine.
- Lisez le message d’erreur. Si vous collez quelque chose contenant un caractère comme
*, l’outil vous indique quel caractère n’est pas du Base64 valide. - Les données binaires demandent un fichier. Si les octets décodés ne sont pas un texte UTF-8 valide, l’outil le signale. Collez le même Base64 dans Base64 vers fichier et téléchargez-le plutôt.
- La taille augmente. Une image de 3 Mo devient environ 4 Mo de Base64. Les data URL intégrées conviennent aux petites icônes mais ralentissent les grandes photos.
- Le remplissage est facultatif au décodage. L’outil ajoute pour vous les
=manquants.
Autres façons d’encoder en Base64
Ligne de commande (macOS et Linux). echo -n 'Hello, World!' | base64 affiche SGVsbG8sIFdvcmxkIQ==. Utilisez base64 -d (ou base64 -D sur les anciens macOS) pour décoder. Sans -n, vous encodez aussi un saut de ligne final.
Windows. certutil -encode input.txt output.txt encode un fichier. Dans PowerShell, [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('Hello, World!')) encode un texte.
JavaScript (Node). Buffer.from('Hello, World!').toString('base64') renvoie SGVsbG8sIFdvcmxkIQ==, et Buffer.from('SGVsbG8=', 'base64').toString() renvoie Hello.
Python. base64.b64encode('Hello, World!'.encode()).decode() donne le même résultat. Notez que base64.urlsafe_b64encode garde le remplissage =, donc Zoë devient Wm_Dqw==.
Outils associés
Pour rendre un texte sûr dans une adresse web, utilisez l’outil pour encoder et décoder une URL. Pour voir les octets bruts derrière votre texte, essayez le convertisseur hexadécimal en texte ou l’outil d’encodage UTF-8.