Mode d’emploi
- Déposez un fichier .bmp sur la zone de dépôt, cliquez pour en choisir un ou collez une image.
- Choisissez PNG dans « Convertir en » pour un résultat sans perte et bien plus léger, ou gardez « Conserver l’original » si le système destinataire exige du BMP.
- Comparez la taille d’origine et la taille encodée pour mesurer le gain.
- Copiez ou téléchargez le résultat sous forme de data URI, de Base64 brut, de balise img, de règle CSS ou d’image Markdown.
Qu’est-ce qu’un fichier BMP ?
BMP est le format bitmap indépendant du périphérique de Windows. Il stocke les pixels ligne par ligne, presque toujours sans compression (un mode simple de codage par plages existe pour les images 4 et 8 bits). Le type MIME est image/bmp, même si certains systèmes indiquent image/x-ms-bmp, et la sortie Base64 commence par Qk, les lettres BM encodées.
Sans compression, la taille découle directement des dimensions. Une image 24 bits de 800 × 600 pixels occupe environ 1,4 Mo, et son Base64 représente près de 1,9 Mo de texte.
Convertir en PNG avant l’encodage
PNG est lui aussi sans perte : un bitmap 24 bits typique converti en PNG garde exactement ses pixels tandis que le fichier rétrécit, souvent de plusieurs fois, et bien davantage pour les captures d’écran et les graphismes en aplats. Pour les photos enregistrées en BMP, le JPEG ou le WebP en bonne qualité donnent une chaîne encore plus courte. Les tailles d’origine et encodée affichées pour chaque image rendent la différence facile à voir.
Quand garder le BMP d’origine
Certains destinataires attendent un vrai bitmap : d’anciens logiciels Windows, des imprimantes d’étiquettes et de tickets, de petits écrans pilotés par des microcontrôleurs, ou des jeux de test qui doivent correspondre à un fichier octet pour octet. Dans ces cas, gardez « Conserver l’original » ; la sortie Base64 est alors une copie exacte du fichier. Tous les grands navigateurs savent afficher les images data:image/bmp, mais pour les pages web et l’e-mail, le PNG reste le meilleur format.
La même conversion dans un script, avec Python et Pillow :
from PIL import Image
import base64, io
buf = io.BytesIO()
Image.open('scan.bmp').save(buf, 'PNG')
uri = 'data:image/png;base64,' + base64.b64encode(buf.getvalue()).decode()
Questions fréquentes
Pourquoi ma chaîne Base64 BMP est-elle si longue ?
Le BMP stocke chaque pixel sans compression, et Base64 ajoute encore un tiers. Convertir d’abord en PNG raccourcit généralement la chaîne de façon spectaculaire, sans perdre le moindre détail.
La conversion de BMP en PNG fait-elle perdre de la qualité ?
Non. PNG est un format sans perte : les pixels restent identiques. Seule la façon de les stocker change.
Les navigateurs peuvent-ils afficher un URI data:image/bmp ?
Oui, Chrome, Edge, Firefox et Safari affichent tous le BMP. Les clients de messagerie et de nombreuses plateformes en ligne le gèrent de façon moins fiable : le PNG y est un choix plus sûr.
Le BMP gère-t-il la transparence ?
Un BMP 32 bits peut stocker un canal alpha, mais les logiciels et les navigateurs le traitent de manière incohérente. Si vous avez besoin de transparence, convertissez en PNG ou en WebP.