¿Qué es el formato BMP?
BMP (Bitmap) es un formato de imagen rasterizada desarrollado por Microsoft para Windows en 1988. Su característica principal es almacenar píxeles sin compresión, garantizando máxima fidelidad pero a costa de tamaños de archivo enormes.
Un BMP de 1920×1080 píxeles a 24 bits ocupa exactamente 5,93 MB sin compresión. El equivalente JPG de calidad media ocupa ~200 KB y el PNG sin pérdida ~1-2 MB.
Variantes y profundidad de color
| Variante | Bits/píxel | Colores | Uso |
|---|---|---|---|
| BMP 1-bit | 1 | 2 (monocromo) | Iconos monocromos legacy |
| BMP 4-bit | 4 | 16 | Gráficos DOS |
| BMP 8-bit | 8 | 256 | Imágenes con paleta |
| BMP 24-bit | 24 | 16,7 M | Estándar actual |
| BMP 32-bit | 32 | 16,7 M + alpha | ARGB con transparencia |
BMP vs otros formatos
| Característica | BMP | PNG | JPG | WebP |
|---|---|---|---|---|
| Compresión | Sin pérdida (sin comp.) | Sin pérdida | Con pérdida | Ambas |
| Tamaño de archivo | Muy grande | Grande | Pequeño | Muy pequeño |
| Canal alpha | 32-bit ARGB | ✅ | ❌ | ✅ |
| Soporte web | ❌ | ✅ | ✅ | ✅ |
Convertir BMP a otros formatos
Con ImageMagick
# BMP a PNG
magick imagen.bmp imagen.png
# BMP a JPG
magick imagen.bmp -quality 85 imagen.jpg
# BMP a WebP
magick imagen.bmp -quality 80 imagen.webp
# Batch: múltiples BMP a PNG
for f in *.bmp; do magick "$f" "${f%.bmp}.png"; done
Con FFmpeg
# BMP a PNG
ffmpeg -i imagen.bmp imagen.png
# Secuencia de BMP a vídeo MP4
ffmpeg -framerate 24 -pattern_type glob -i "*.bmp" \
-c:v libx264 -pix_fmt yuv420p video.mp4
Con Python (Pillow)
from PIL import Image
import pathlib
# Conversión individual
img = Image.open("imagen.bmp")
img.save("imagen.png")
# Batch: todos los BMP de una carpeta a PNG
for bmp in pathlib.Path(".").glob("*.bmp"):
Image.open(bmp).save(bmp.with_suffix(".png"))
¿Cuándo usar BMP?
Úsalo cuando:
- Trabajas con herramientas Windows legacy que requieren BMP.
- Procesas frames de vídeo en pipelines donde la velocidad de escritura importa más que el tamaño.
No lo uses para:
- Web (usa WebP, PNG o JPG).
- Distribución o almacenamiento.
Conclusión
BMP es un formato legacy mantenido por compatibilidad con Windows. Para cualquier uso moderno — web, almacenamiento, edición — PNG, JPG o WebP son siempre la mejor opción.
Casos de uso avanzados
Optimización web a escala: sitios e-commerce con miles de productos pueden reducir bandwidth costs 60-80% migrando de JPG a AVIF o WebP. Cloudflare Images, Imgix y Cloudinary ofrecen transformación on-the-fly basada en Accept header del cliente — sirviendo AVIF a Chrome/Edge modernos, WebP a Safari/Firefox, JPG fallback a navegadores legacy. Print-ready output: convertir RGB a CMYK con perfil ICC (US Web Coated SWOP v2 para offset comercial, FOGRA39 para europeo) garantiza que los colores impresos coincidan con preview en pantalla calibrada. PDFs/X-1a y X-4 son los formatos exigidos por imprentas profesionales. Foto profesional: workflow Adobe consiste en RAW (input cámara) → DNG (archivado) → PSD (edición no-destructiva) → TIFF (deliverable) → JPG/WebP (web/social). Cada etapa preserva diferentes capacidades. Vector graphics: SVG es preferido para logos, iconos, ilustraciones planas — escala infinitamente sin pérdida y se anima con CSS/JavaScript. Para UIs modernas, los icon fonts (Font Awesome) están siendo reemplazados por SVG sprites por mejor accesibilidad y customización.
Mejores prácticas y consejos profesionales
Selección de formato según contenido: fotografías → JPG (calidad 85-95) o WebP (calidad 80-90); gráficos con texto/líneas finas → PNG o WebP lossless; ilustraciones planas → SVG; iconos UI → SVG; screenshots → PNG; HDR → AVIF o JPEG XL. Color profile management: siempre embebe el perfil ICC en archivos profesionales (Adobe RGB para fotografía pre-impresión, sRGB para web, Display P3 para Apple ecosystem). Sin perfil embedded, los visualizadores asumen sRGB que puede causar shifts de color visibles. Resolución vs tamaño: para web display, 72 DPI es suficiente; para impresión profesional, 300 DPI mínimo. Lazy loading + responsive images: combina <img loading="lazy" srcset> con AVIF/WebP fallback chain para bandwidth saving sin sacrificar UX. Metadata privacy: archivos JPG de smartphone contienen GPS, modelo de cámara, fecha exacta — usa exiftool -all= para limpiar antes de subir a redes sociales si privacidad importa.
Compatibilidad y consideraciones técnicas
KaijuConverter soporta más de 30 formatos de imagen (JPG, PNG, WebP, AVIF, HEIC/HEIF, GIF, BMP, TIFF, SVG, ICO, PSD, RAW múltiples vendors, JPEG XL) usando ImageMagick 7.x, libvips, y format-specific libraries (libpng, libjpeg-turbo, libwebp, libavif, librsvg). Procesamos imágenes hasta 100 MB con resoluciones hasta 16384×16384 píxeles y profundidades de 8/10/12/16-bit por canal. EXIF y metadata: leemos toda la información embedded (cámara, lente, GPS, datos de captura, ICC profile) y la migramos al output cuando el formato destino lo soporta — crítico para workflows profesionales que dependen de provenance tracking. HDR: soportamos PQ y HLG transfer functions para AVIF/JPEG XL/HEIC HDR (rec.2020 color space). Performance: una conversión típica JPG→WebP de 5 MB tarda 1-3 segundos; HEIC→JPG de iPhone 12 Mpix tarda 2-5 segundos; PSD multi-layer→PNG flat puede requerir 5-15 segundos según complejidad. Privacidad: cifrado TLS 1.3, contenedores Docker aislados, eliminación automática tras 2 horas con multi-pass overwrite.
Conversiones relacionadas
Lo más habitual al trabajar con imágenes son estas direcciones de conversión: