Images Base64 en HTML

base64

Images Base64 en HTML

Exemple concret avec une image de transceiver IC-7300, affichée en fichier WebP classique puis intégrée directement en Base64.

Le principe

Une image Base64 est une image transformée en texte. Au lieu d’appeler un fichier externe comme ic7300.webp, on place directement les données de l’image dans le code HTML.

Le navigateur décode automatiquement la chaîne Base64 et affiche l’image comme une image normale.

Image WebP classique

Ici, l’image est chargée comme un fichier normal. C’est la méthode recommandée pour un site web classique.

Transceiver IC-7300 en WebP
Image appelée depuis un fichier WebP externe

Code HTML utilisé :

<img src="ic7300.webp" alt="Transceiver IC-7300">

La même image intégrée en Base64

Ici, l’image est intégrée directement dans le HTML. Aucun fichier image externe n’est nécessaire.

Transceiver IC-7300 intégré en Base64
Image WebP intégrée directement en Base64

Début du code HTML réel :

<img src="data:image/webp;base64,UklGR..." alt="Transceiver IC-7300">

La chaîne complète est très longue. Dans cette page, elle est réellement présente dans le code de l’image affichée à gauche.

Comparaison des deux méthodes

Méthode Exemple Avantage Inconvénient
Image WebP classique <img src="ic7300.webp"> Plus propre, cache navigateur efficace Il faut garder le fichier image avec la page
Image Base64 <img src="data:image/webp;base64,..."> Tout est dans un seul fichier HTML HTML plus lourd, moins pratique à modifier

Convertir une image en WebP

Sous Linux, on peut convertir une image PNG ou JPEG en WebP avec l’outil cwebp.

sudo apt install webp

cwebp ic7300.png -q 80 -o ic7300.webp

Le format WebP est souvent plus léger qu’un PNG ou qu’un JPEG, tout en gardant une bonne qualité visuelle.

Convertir une image WebP en Base64

base64 -w 0 ic7300.webp > ic7300.b64

Pour obtenir directement une chaîne utilisable dans une balise HTML :

echo -n "data:image/webp;base64," > ic7300-data.txt
base64 -w 0 ic7300.webp >> ic7300-data.txt

Quand utiliser Base64 ?

Bon usage À éviter
Petites icônes Grandes photos
Logo léger dans un fichier HTML autonome Galeries d’images
Email HTML ou mini démonstration Images nombreuses dans un article WordPress
Pour un article WordPress classique, le WebP reste le meilleur choix. Le Base64 est surtout intéressant pour montrer le principe ou créer une page HTML totalement autonome.

Formats d’images utilisables en Base64

Une image encodée en Base64 peut être intégrée directement dans une page HTML avec la syntaxe data:image/format;base64,…. Le format utilisé dépend du type d’image : photo, logo, icône, animation ou image vectorielle.

BMP

Bitmap Windows

Type MIME : image/bmp

Compatible

Fonctionne en Base64, mais le format est très lourd. Peu recommandé pour le Web.

GIF

Petites animations

Type MIME : image/gif

Compatible

Possible en Base64, y compris pour les animations, mais peut vite devenir lourd.

ICO

Icônes et favicons

Type MIME : image/x-icon

Compatible

Utilisé surtout pour les petites icônes de site ou les favicons.

JPEG / JPG

Photos classiques

Type MIME : image/jpeg

Très compatible

Idéal pour les photos, mais moins efficace que WebP en compression.

PNG

Logos et transparence

Type MIME : image/png

Compatible et sans perte

Très pratique pour logos, captures d’écran et images avec fond transparent.

SVG

Images vectorielles

Type MIME : image/svg+xml

Très adapté aux icônes

Souvent préférable pour les pictogrammes, schémas simples et logos vectoriels.

WebP

Format moderne recommandé

Type MIME : image/webp

Très bon compromis

Excellent pour réduire la taille des images tout en gardant une bonne qualité.

AVIF

Compression très moderne

Type MIME : image/avif

Compatible navigateurs récents

Très performant, mais à vérifier si l’on vise une compatibilité maximale.

TIFF

Image haute qualité

Type MIME : image/tiff

Peu recommandé

Possible techniquement, mais rarement utilisé dans une page web moderne.

HEIC / HEIF

Photos mobiles

Type MIME : image/heic

Compatibilité limitée

Format courant sur iPhone, mais peu fiable pour une intégration web universelle.

Les formats les plus sûrs pour une page web sont JPG, PNG, GIF, SVG et WebP. Le BMP et le TIFF fonctionnent mais sont souvent trop lourds. Le AVIF est moderne et performant, tandis que HEIC/HEIF reste à éviter pour un site web public.