Qu'est-ce que le Base64 ?
Le Base64 est une façon d'écrire n'importe quelles données, qu'il s'agisse de texte, d'images ou de fichiers entiers, avec seulement 64 caractères sûrs : A–Z, a–z, 0–9, + et /, plus le signe = comme remplissage (padding) à la fin (défini dans la RFC 4648). Il existe pour que des données binaires puissent transiter par des systèmes conçus pour du texte brut, comme l'e-mail, le JSON, le HTML et les en-têtes HTTP.
Chaque groupe de 3 octets en entrée devient 4 caractères Base64 : les données encodées sont donc environ 33 % plus volumineuses que l'original. Par exemple, le texte Hi devient SGk=. On rencontre le Base64 dans les pièces jointes d'e-mails, les URI d'images data: en HTML et en CSS, les réponses d'API qui transportent des fichiers, les JSON Web Tokens et les en-têtes d'authentification HTTP Basic.

Comment décoder du Base64
Collez-le dans la zone Décoder. Les sauts de ligne, les espaces, un préfixe data:...;base64,, les caractères URL-safe (- et _) et l'absence du padding = sont tous pris en charge.
Si les données sont du texte, le texte UTF-8 décodé s'affiche immédiatement, prêt à copier.
Si les données sont un fichier, le décodeur reconnaît le format grâce à ses premiers octets : les images s'affichent en aperçu, et les PDF, ZIP et autres fichiers peuvent être téléchargés.
Advertisement
Comment encoder du texte ou un fichier en Base64
Saisissez ou collez du texte dans l'onglet Encoder. Il est encodé en UTF-8 : les accents, les écritures asiatiques et les emoji sont restitués correctement après un aller-retour.
Cochez URL-safe pour obtenir du Base64URL (utilisé dans les URL et les JWT), ou Lignes de 76 caractères pour les corps d'e-mails MIME.
Dans Fichier en Base64, déposez n'importe quel fichier jusqu'à 10 Mo. Copiez le Base64 brut ou une data URI prête à l'emploi, comme data:image/png;base64,..., pour l'intégrer en HTML ou en CSS.
Base64 en image et Base64 en PDF
Le Base64 sert souvent d'enveloppe à un fichier : une image intégrée dans une page web ou un e-mail, ou un PDF renvoyé par une API. Le décodeur examine les premiers octets, appelés nombres magiques (magic numbers), pour identifier le fichier : les images PNG, JPEG, GIF, WebP et SVG ont droit à un aperçu en direct, et les fichiers PDF, ZIP, GZIP, MP3 et MP4 à un bouton de téléchargement. Les PDF peuvent aussi être ouverts dans un nouvel onglet.
Dans l'autre sens, la conversion image en Base64 se fait dans l'onglet Fichier en Base64 : déposez l'image et copiez la data URI.
Advertisement
Variantes du Base64 : standard, URL-safe, MIME et data URI
Utilise + et / avec le padding =. C'est le format par défaut de la plupart des bibliothèques et des API.
Remplace + et / par - et _ et supprime généralement le padding, pour que le résultat puisse figurer dans une URL ou un nom de fichier. Les JSON Web Tokens l'utilisent.
Du Base64 standard découpé en lignes de 76 caractères, comme pour les pièces jointes d'e-mails.
Du Base64 précédé d'un préfixe qui indique le type de fichier, comme data:image/png;base64,, pour qu'un navigateur puisse l'afficher directement dans la page.
Le Base64 est un encodage, pas un chiffrement
Le Base64 rend les données transportables, pas secrètes. N'importe qui peut les décoder en une seconde, y compris avec cet outil :
N'utilisez jamais le Base64 pour cacher des mots de passe ou des clés. Un en-tête d'authentification HTTP Basic n'est rien d'autre que
user:passworden Base64 : c'est pourquoi il ne doit circuler qu'en HTTPS. Vérifiez le certificat d'un site avec le vérificateur SSL.Le payload d'un JWT est lisible. La partie centrale d'un JSON Web Token est du JSON encodé en Base64URL : toute personne qui détient un jeton peut lire ses claims.
Le décodage reste privé ici. Cet outil fonctionne entièrement dans votre navigateur ; les données que vous collez ou téléversez n'atteignent jamais notre serveur.
Besoin d'un vrai secret ? Utilisez un véritable chiffrement, et générez des secrets robustes avec le générateur de mots de passe.
Advertisement
Le Base64 en JavaScript, en Python et en ligne de commande
Tous les langages intègrent le Base64. Pensez à encoder d'abord le texte en UTF-8, sinon les caractères non anglais, comme les lettres accentuées, sont abîmés.
// Encode UTF-8 text
const b64 = btoa(String.fromCharCode(...new TextEncoder().encode('héllo'))) // 'aMOpbGxv'
// Decode back to text
const text = new TextDecoder().decode(Uint8Array.from(atob(b64), (c) => c.charCodeAt(0)))import base64
b64 = base64.b64encode('héllo'.encode()).decode() # 'aMOpbGxv'
text = base64.b64decode(b64).decode() # 'héllo'
url_safe = base64.urlsafe_b64encode(b'\xfb\xff\xbf') # b'-_-_'echo -n 'hello' | base64 # aGVsbG8=
echo 'aGVsbG8=' | base64 --decode # hello
base64 -w 0 image.png > image.txt # Linux: one line, no wrapping[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('hello')) # aGVsbG8=
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('aGVsbG8=')) # helloAutres outils d'encodage et de texte
D'autres convertisseurs pour travailler avec du texte et des données :
Du texte en binaire et inversement, avec hex, décimal et octal.
Trouvez et supprimez les caractères cachés de largeur nulle.
Affichez les en-têtes renvoyés par un serveur, y compris ceux qui sont encodés.
Créez des mots de passe et des secrets aléatoires robustes.