BMP

¿Qué es un archivo BMP?

Mapa de bits de Windows sin comprimir. Archivos gigantescos que todavía sueltan los escáneres y el software antiguo.

Qué es BMP

BMP es un formato binario, que solo significa algo para un programa que lo conoce. Guarda una rejilla de píxeles, así que se ablanda en cuanto lo amplías más allá de su propia resolución. Se usa para mover datos entre programas.

La extensión es .bmp y el nombre completo, Windows Bitmap. Ambos importan menos que lo que el archivo puede contener, y de eso trata el resto de esta página.

De dónde viene BMP

Microsoft lo publicó en 1987.

A un formato que lleva tanto tiempo siendo legible se le puede confiar algo que quieras recuperar dentro de diez años.

La especificación está publicada, pero por su dueño

Está escrita y se puede implementar, aunque quien decide cómo será la próxima versión es el fabricante. En la práctica basta para que el archivo siga abriéndose; no basta para confiarse.

Es un formato heredado

Sigue abriéndose en todas partes y los programas antiguos aún lo escriben, pero ya no se construye nada nuevo a su alrededor. Convierte lo que quieras conservar y no lo elijas para algo que empieza hoy.

No se tira nada

BMP guarda su contenido exactamente. Volver a guardarlo no cambia nada, así que puedes abrirlo, editarlo y guardarlo tantas veces como quieras sin acumular daño; eso es lo que lo convierte en un formato de trabajo y no de entrega.

No puede ser transparente

BMP no tiene dónde anotar la transparencia. Lo que en el original se transparentaba se rellena con un color sólido al convertir: blanco, salvo que se elija otra cosa.

Qué color puede describir

Hasta 8 bits por canal. Puede trabajar en RGB y una paleta indexada.

Ocho bits por canal es lo que muestra una pantalla y lo que lleva casi cualquier formato de entrega.

Qué abre BMP

Microsoft Paint, GIMP y IrfanView lo leen, y también la mayoría de programas del mismo tipo.

Cuando un archivo no se abre, el formato rara vez es el problema: lo más habitual es que el programa sea anterior al formato. Convertir a algo más antiguo es la salida fiable, y para eso está el resto de este sitio.

Abrirlo en el navegador

Cualquier navegador actual lo lee.

Eso lo convierte en algo que puedes poner en una página o adjuntar a un mensaje sin preguntarte qué tiene instalado el otro lado.

Es un formato de entrega

BMP está pensado para entregarse, no para trabajar dentro. Editar uno es posible y rara vez agradable; lo sensato es cambiar el original y volver a exportar.

Qué sale mal con él

Las quejas recurrentes: los archivos son grandes para lo que contienen.

Nada de esto es motivo para evitar el formato. Son las cosas que conviene conocer antes de que una de ellas te sorprenda, que es una afirmación distinta y más útil.

No comprime nada, así que el tamaño es una multiplicación

Un BMP guarda cada píxel como un valor de color literal, uno detrás de otro, sin nada ingenioso aplicado encima. Eso hace que el tamaño sea previsible al byte: ancho por alto por bytes de cada píxel, más una cabecera pequeña. Una imagen de 1.920 por 1.080 a 24 bits por píxel ocupa unos 6,2 MB tanto si muestra una fotografía como si muestra un rectángulo blanco.

Esa única propiedad explica todas las quejas sobre el formato. Una captura de pantalla que como PNG ocuparía 200 kB ocupa varios megabytes como BMP. Una página escaneada, decenas. No ha fallado nada: el formato nunca tuvo un mecanismo para hacer nada más pequeño, y en 1990 eso era un intercambio razonable a cambio de ser trivial de leer.

Las filas se guardan de abajo arriba

Un BMP almacena por convención sus filas empezando por la parte inferior de la imagen. El motivo es histórico, coincidía con el sistema de coordenadas del hardware gráfico para el que se diseñó el formato, y es la razón de que un BMP escrito por código ingenuo aparezca a veces volteado en vertical.

La cabecera puede declarar el orden contrario usando una altura negativa, y algunos programas lo escriben así. Las dos formas son válidas, que es un buen resumen del formato: lo bastante simple como para implementarlo en una tarde, con la variación suficiente como para que las implementaciones no se pongan de acuerdo en los bordes.

La cabecera tiene varias versiones y no todas se leen igual

La cabecera original de 1990 ocupa 40 bytes y describe dimensiones, profundidad de color y poco más. Versiones posteriores la extienden a 108 y a 124 bytes para añadir información de espacio de color y un canal alfa, y unas cuantas herramientas escriben todavía una anterior a todas ellas.

La mayoría de los lectores resuelven los casos comunes y algunos no resuelven los extendidos. Si un BMP se abre en un programa y otro lo rechaza, la explicación habitual es un desajuste de versión de cabecera y no un archivo dañado; y es también la razón de que un archivo salido de un instrumento científico derrote de vez en cuando al software de imagen corriente.

La transparencia existe sobre el papel y no en la práctica

Las variantes de 32 bits tienen sitio para un canal alfa y las cabeceras extendidas saben describirlo. En el mundo real el soporte es lo bastante irregular como para que no se pueda depender de él: muchos lectores ignoran el cuarto byte por completo y muestran la imagen opaca.

Aquí eso se resuelve de una manera concreta y conviene decirla: nuestro codificador escribe BMP de 24 bits, sin canal alfa. Si la imagen de origen tiene zonas transparentes, se aplanan antes sobre un color de fondo que puedes elegir en la propia página, con blanco por defecto, y si escribes un valor que no sea de la forma #RGB o #RRGGBB se vuelve al blanco. Si lo que necesitas es un fondo transparente de verdad, el contenedor correcto es PNG.

Las variantes comprimidas que no usa nadie

BMP sí define dos codificaciones por longitud de racha, para imágenes de 4 y de 8 bits, que comprimen las series de píxeles idénticos. Funcionan y casi nadie las usa, porque solo se aplican a profundidades de color bajas y porque, cuando la compresión empezó a importar, PNG ya existía y lo hacía mejor en todos los casos.

Así que el BMP que te encuentres estará casi con total seguridad sin comprimir. Darlo por supuesto es razonable, y es también la razón de que convertirlo a PNG produzca de manera tan fiable una reducción de tamaño enorme sin perder nada.

De dónde suele salir el archivo que tienes delante

Escáneres y software de escaneo, sobre todo los antiguos y los industriales. Equipos médicos y de laboratorio, que prefieren formatos triviales de escribir e imposibles de malinterpretar. Utilidades de Windows y capturadores de pantalla de cierta edad. Sistemas embebidos y visión artificial, donde un decodificador es un riesgo y los píxeles en crudo son una ventaja.

Y programas escritos en los años noventa que nunca han tenido un motivo para cambiar. El hilo común es preferir la simplicidad al tamaño, que para un aparato que escribe en un disco local es defendible y para un archivo que hay que enviar por correo no lo es.

Sigue vivo dentro del propio Windows

El portapapeles de Windows usa una estructura derivada de BMP para las imágenes, así que copiar una foto entre dos aplicaciones mueve algo muy próximo a este formato. Los archivos de icono contienen datos BMP. Partes de la interfaz lo siguen usando internamente.

Por eso el formato no ha desaparecido ni va a desaparecer: más que un formato de archivo, es la forma en que Windows representa una imagen sin comprimir, con la posibilidad de envolverla en un archivo cuando hace falta.

Hacia qué formato conviene sacarlo

A PNG en casi todos los casos. Es sin pérdida, así que cada píxel llega exactamente como estaba, y además comprime: una captura o un esquema suelen quedarse en una fracción pequeña del BMP sin ningún cambio visible. No hay argumento en contra salvo software anterior a 1996.

A JPG solo cuando la imagen sea una fotografía y el tamaño importe más que la exactitud, porque va a descartar detalle para adelgazar. Para un documento escaneado, una captura, un diagrama o un dibujo de línea, PNG es estrictamente mejor y JPG empeorará los bordes del texto. Ten en cuenta además que al escribir un BMP no hay control de calidad que ajustar: no existe tal cosa en el formato.

Archivos grandes que no hace falta subir a ninguna parte

El motivo para convertir un BMP es casi siempre que pesa demasiado para moverlo, lo que convierte en mala idea resolverlo subiéndolo a un conversor: la subida es la parte lenta, y muchos servicios imponen un límite de tamaño que un escaneo grande sin comprimir supera de largo.

Convertir en el navegador elimina esa subida: no se transmite nada, y una carpeta de escaneos se procesa sin colas ni cupos diarios. Sí hay un techo, y en este formato conviene saber dónde está: 100 MB por archivo y 100 archivos por tanda. A tres bytes por píxel, un BMP de 24 bits llega a esos 100 MB alrededor de los 35 megapíxeles, que es justo por encima de lo que ocupa un A4 escaneado en color a 600 puntos por pulgada. Y como los aparatos que producen BMP suelen ser escáneres e instrumental médico, que el archivo no salga del equipo vale tanto como la velocidad.

Los datos, en un solo sitio

Identificadores y procedencia del formato BMP.
Extensión.bmp, .dib
Tipo de medioimage/bmp
Publicado porMicrosoft
Primera publicación1987