Convertisseur d'Image Base64
Convertissez une image en URI de données Base64, ou collez une chaîne Base64 pour obtenir une image téléchargeable — tout s'exécute localement, rien n'est envoyé sur un serveur.
248 vues
Impossible de décoder comme image — vérifiez le texte Base64.
Comment ça marche
Cet outil fonctionne dans les deux sens. En mode Image → Base64, choisissez un fichier avec le sélecteur natif du navigateur ; l'outil le lit avec l'API FileReader.readAsDataURL() et produit une URI de données complète — une chaîne du type data:image/png;base64,iVBORw0KG... — affichée dans un premier encadré, tandis que le contenu Base64 brut seul (sans préfixe) est affiché dans un second encadré, afin que vous puissiez récupérer la forme dont vous avez besoin, avec un bouton de copie en un clic pour chacune. En mode Base64 → Image, collez soit une URI de données complète, soit simplement le texte Base64 brut dans la zone de texte ; si vous collez du Base64 brut sans préfixe, l'outil ajoute automatiquement un en-tête data:image/png;base64, pour que le navigateur puisse quand même l'afficher, puis montre un aperçu <img> en direct avec un bouton de téléchargement qui réenregistre les octets décodés sous forme d'un véritable fichier image.
L'encodage Base64 prend des données binaires et les représente à l'aide de seulement 64 caractères ASCII imprimables (A–Z, a–z, 0–9, + et /), ce qui permet d'intégrer une image, intrinsèquement binaire, dans des formats purement textuels comme le HTML, le CSS, le JSON ou une URL. Le mécanisme est fixe et mathématique : chaque groupe de 3 octets (24 bits) du fichier d'origine devient exactement 4 caractères Base64 (4 × 6 bits), complétés par des = lorsque la longueur d'entrée n'est pas un multiple de 3. Ce ratio de 3 octets en entrée pour 4 caractères en sortie explique aussi pourquoi la sortie Base64 est toujours environ 33 % plus volumineuse que le binaire d'origine — 4 divisé par 3 vaut environ 1,333 — un surcoût mathématique fixe, et non une approximation ou un réglage de qualité.
Bon à savoir
Intégrer une image sous forme d'URI de données directement dans votre HTML ou CSS présente un réel avantage : cela élimine une requête HTTP supplémentaire, ce qui compte pour des ressources très petites et fréquemment réutilisées comme des icônes, de petits sprites, ou un minuscule logo intégré dans un modèle d'e-mail où les images externes pourraient être bloquées. Le compromis s'inverse pour tout ce qui est plus volumineux : une URI de données ne peut pas être mise en cache indépendamment par le navigateur comme le serait un fichier .png ou .jpg lié, elle gonfle la taille du fichier HTML/CSS qui la contient (de ce même ~33 %), et elle empêche ce fichier de s'afficher tant que la totalité du bloc encodé n'a pas été téléchargée. En règle générale, les URI de données conviennent bien aux ressources de quelques kilooctets et mal aux photos, images d'en-tête, ou tout ce qu'un utilisateur voudrait voir mis en cache d'une page à l'autre.
Le préfixe de type MIME — la partie image/png, image/jpeg ou image/webp de data:image/png;base64,... — n'est pas décoratif. C'est lui qui indique au navigateur (ou à tout autre programme lisant la chaîne) à quel décodeur confier les octets qui suivent ; sans lui, ou avec le mauvais, un contenu Base64 par ailleurs valide peut échouer à s'afficher ou s'afficher comme un type de fichier totalement différent. C'est exactement pour cette raison que cet outil ajoute automatiquement un préfixe PNG lorsque vous collez du Base64 brut sans préfixe fourni — un choix par défaut raisonnable, qu'il convient toutefois d'ajuster au format réel du fichier d'origine si vous savez qu'il s'agissait d'un JPEG ou d'un WebP.
Questions fréquentes
Pourquoi la sortie Base64 est-elle toujours plus grande que l'image d'origine ?
Base64 encode chaque groupe de 3 octets d'entrée binaire en 4 caractères de texte, donc la sortie fait toujours environ 4/3 de la taille de l'entrée — soit environ 33 % de plus. C'est une propriété mathématique fixe de l'encodage (6 bits d'information par caractère imprimable au lieu de 8), pas le résultat d'un réglage de basse qualité ou d'un outil inefficace.
Mon image est-elle envoyée à un serveur pour être convertie ?
Non. Les deux sens fonctionnent entièrement dans votre navigateur : FileReader.readAsDataURL() lit le fichier localement, et le décodage vers une image se fait également localement. Rien n'est transmis nulle part.
Quand devrais-je réellement utiliser une URI de données Base64 plutôt qu'un fichier image classique ?
Cela a du sens pour des ressources petites et fréquemment réutilisées — icônes, minuscules sprites d'interface, logo dans un e-mail HTML — où économiser une requête HTTP supplémentaire compense l'augmentation de taille d'environ 33 %. C'est un mauvais choix pour des photos ou toute image que vous souhaitez voir mise en cache indépendamment par le navigateur d'une page à l'autre, puisqu'une URI de données intégrée est retéléchargée à chaque chargement du fichier HTML ou CSS qui la contient.
J'ai collé une chaîne Base64 mais rien ne s'affiche dans l'aperçu — pourquoi ?
Deux causes courantes : il manque à la chaîne un préfixe de type MIME (ou celui-ci est incorrect) — cet outil ajoute automatiquement data:image/png;base64, en l'absence de préfixe, ce qui n'aide que si les octets sous-jacents sont réellement des données PNG — ou le texte Base64 lui-même a été tronqué ou corrompu (par exemple par des espaces ou sauts de ligne insérés lors d'une copie depuis certaines sources). Vérifiez que le préfixe correspond au format réel et que vous avez copié la chaîne complète.
Quelle est la différence entre les encadrés "URI de données complète" et "Base64 seul" ?
L'URI de données complète (commençant par data:image/...;base64,) est ce que vous collez directement dans un attribut src HTML ou une fonction url() CSS pour que le navigateur l'affiche immédiatement. L'encadré Base64 seul retire ce préfixe, ce qui est utile lorsqu'un programme, une API ou un fichier de configuration attend uniquement le contenu encodé brut et ajoutera lui-même séparément son information de type.
Outils similaires
Signaler un problème
Convertisseur d'Image Base64
Commentaires
Pas encore de commentaires — soyez le premier à en écrire un !