Encoder et décoder en Base64 en ligne — texte, fichiers et data URL

Encodez du texte ou des fichiers en Base64, transformez des images en data URI avec extraits CSS et <img>, et décodez du Base64 en fichier avec aperçu. Rien ne quitte votre navigateur.

Base64
RnJlZVRvb2xzRm9yV2ViIOKAlCBCYXNlNjQgZW5jb2RlIGRlcyBvY3RldHMsIHBhcyBkZXMgY2FyYWN0w6hyZXMuIExlcyDDqW1vamlzIGZvbmN0aW9ubmVudMKgOiDwn4yy
99 B en entrée → 132 caract. (+33 %)

Fonctionne entièrement dans votre navigateur. Rien de ce que vous saisissez n’est envoyé ni stocké. Parcourir tous les outils gratuits.

Un problème, ou quelque chose à améliorer ? Nous lisons chaque message et corrigeons vite.

Cet encodeur et décodeur Base64 gratuit convertit textes et fichiers en Base64 et inversement, dans votre navigateur. Il gère correctement l’UTF-8 : les caractères accentués, le chinois et les emoji font l’aller-retour intacts, là où la plupart des convertisseurs en ligne rapides échouent sans prévenir. Déposez une image ou une police pour obtenir une data URI avec le code CSS background et <img> prêt à l’emploi, et le surcoût de taille détaillé ; ou collez une data URI ou du Base64 brut pour prévisualiser l’image et la télécharger en fichier. Plusieurs fichiers ? Déposez-en jusqu’à 50 à la fois pour obtenir un tableau de data URI à copier ou à télécharger en JSON ou CSV, et le mode texte peut encoder ou décoder une liste ligne par ligne.

Le Base64 n’est ni un chiffrement ni une compression : c’est un moyen de faire passer des données binaires par des canaux qui n’acceptent que du texte, comme le JSON, l’e-mail et les URL, au prix d’environ 33 % d’octets en plus. Savoir cela, c’est déjà presque savoir quand l’utiliser ; les notes ci-dessous couvrent le reste.

Mode d’emploi

  1. Choisissez Encoder ou Décoder. Pour encoder, tapez ou collez du texte ; le Base64 s’affiche au fil de la saisie.
  2. Activez URL-safe si la valeur va dans une URL ou un JWT : + et / deviennent - et _, et le remplissage est supprimé.
  3. Pour encoder un fichier, ouvrez l’onglet « Fichier → Base64 / data URI » et choisissez-le ou déposez-le. Copiez le Base64 brut, la data URI ou les extraits CSS et <img>.
  4. Pour retransformer du Base64 en fichier, ouvrez « Base64 / data URI → fichier » et collez-le. Le type est lu dans le préfixe data: ou détecté à partir des octets, les images et médias sont prévisualisés, et Télécharger l’enregistre avec la bonne extension.
  5. Vérifiez la ligne de taille : si la sortie encodée approche du mégaoctet, une simple référence à un fichier est presque toujours la meilleure solution.

Questions fréquentes

Puis-je convertir plusieurs fichiers ou lignes en Base64 en une fois ?

Oui. Dans l’onglet Fichier, choisissez ou déposez jusqu’à 50 fichiers (25 Mo au total) : chacun devient une ligne avec son type, sa taille, son Base64 et sa data URI, que vous pouvez copier un par un ou télécharger ensemble en JSON ou CSV. Dans l’onglet Texte, cochez « Chaque ligne séparément » pour encoder ou décoder chaque ligne d’une liste individuellement ; une ligne qui n’est pas du Base64 valide est signalée et laissée vide, sans affecter les autres.

Le Base64 est-il sécurisé ? Peut-on s’en servir pour masquer des données ?

Non. Le Base64 est un encodage, pas un chiffrement : n’importe qui peut le décoder instantanément, y compris avec cette page. Il sert à transporter sans risque des données binaires sous forme de texte. Si vous avez besoin de confidentialité, chiffrez d’abord, puis encodez le texte chiffré en Base64 si un canal texte l’exige.

Pourquoi mon texte décodé affiche-t-il des caractères bizarres ?

Généralement parce que l’original n’était pas en UTF-8, ou parce que le Base64 a été produit par un outil qui encodait le point de code de chaque caractère au lieu de ses octets UTF-8 (le bug classique de btoa()). Cet outil encode et décode toujours des octets UTF-8. Si la source était en Latin-1 ou UTF-16, les octets restent corrects ; seul l’affichage du texte diffère.

Qu’est-ce que le Base64 URL-safe ?

Le Base64 standard utilise + et /, qui ont tous deux un sens dans les URL, et complète avec =, que les encodeurs d’URL abîment. La variante URL-safe (RFC 4648, section 5) les remplace par - et _ et omet généralement le remplissage. Les JWT, les valeurs state d’OAuth et de nombreux jetons d’API l’utilisent. Le décodeur de cette page accepte les deux formes.

Faut-il intégrer les images en data URL Base64 ?

Pour de toutes petites ressources (icônes de quelques kilo-octets, petit SVG en ligne, sous-ensemble de police), une data URL économise un aller-retour et en vaut la peine. Pour tout ce qui est plus gros, non : le fichier grossit d’un tiers, il ne peut pas être mis en cache séparément de la page, et il bloque l’analyse du HTML ou du CSS qui le contient. Une référence de fichier classique l’emporte au-delà d’environ 5 à 10 Ko.

Quelque chose est-il envoyé sur un serveur ?

Non. Le texte est converti avec TextEncoder et btoa/atob du navigateur, et les fichiers sont lus localement avec l’API File. Rien n’est envoyé à un serveur.

Comment reconvertir du Base64 en image ?

Collez la chaîne dans l’onglet « Base64 / data URI → fichier ». Si elle commence par data:image/png;base64, le type vient de ce préfixe ; s’il s’agit de Base64 brut, l’outil lit les premiers octets (PNG, JPEG, GIF, WebP, AVIF, SVG, PDF, MP3, MP4 et d’autres signatures courantes) pour décider. L’image est prévisualisée sur la page et Télécharger l’enregistre comme un fichier normal.

Le fonctionnement du Base64 en un paragraphe

Chaque groupe de trois octets d’entrée (24 bits) est découpé en quatre groupes de 6 bits, et chaque groupe est écrit avec l’un de 64 caractères : A–Z, a–z, 0–9, + et /. C’est pourquoi la longueur de sortie est toujours un multiple de quatre, environ 4/3 de l’entrée, et pourquoi un remplissage = apparaît quand l’entrée n’est pas un multiple de trois octets. Le décodage fait exactement l’inverse, sans aucune perte.

Où l’on rencontre le Base64

• Authentification HTTP Basic : l’en-tête Authorization transporte user:password en Base64 (non chiffré, d’où la nécessité du HTTPS).

• JWT : l’en-tête et la charge utile sont du JSON en Base64 URL-safe ; décodez-en un avec notre décodeur JWT.

• Pièces jointes d’e-mail (MIME) et images intégrées dans les e-mails HTML.

• Data URL dans le CSS et le HTML, et champs d’image dans certaines API JSON.

• Valeurs binaires en JSON et en XML, qui n’ont pas de type octet natif.

Anatomie d’une data URI et surcoût de taille

Une data URI a la forme data:[type de média][;base64],données. data:image/png;base64,iVBORw0… transporte un PNG ; sans ;base64, les données sont du texte encodé en pourcentage, souvent plus compact pour le SVG. Le type de média est ce qu’utilise le navigateur pour l’afficher : un type erroné (image/png sur des octets JPEG) peut empêcher l’image de s’afficher dans certains contextes.

Le Base64 transforme chaque groupe de 3 octets en 4 caractères : la charge utile grossit donc d’un tiers (33,3 %, plus jusqu’à deux caractères de remplissage) et le préfixe data: en ajoute quelques-uns. Le gzip ou le Brotli appliqué au HTML ou au CSS en récupère une partie, mais pas tout. L’outil affiche les chiffres exacts pour votre fichier afin que vous puissiez juger si l’intégration en vaut la peine ; pour la plupart des images au-delà de 5 à 10 Ko, ce n’est pas le cas.

Outils gratuits similaires

  • Formateur JSON — Indentez, minifiez et validez du JSON, avec les erreurs d’analyse localisées par ligne et colonne. Dans votre navigateur, sans envoi.
  • Décodeur JWT — Décodez l’en-tête et la charge utile d’un JWT, lisez l’expiration en clair, vérifiez les signatures HS, RS, PS et ES ou signez un nouveau jeton. Rien ne quitte votre navigateur.
  • Convertisseur d’images — Convertissez entre AVIF, HEIC, TIFF, PNG, JPG, WebP, GIF, BMP et SVG. La plupart des conversions ne quittent jamais votre navigateur.