Все статьи
Форматы изображений

BMP — история формата и стоит ли использовать

Формат BMP от Microsoft: структура, преимущества, недостатки. Почему BMP почти не используется в вебе.

27 марта 2025
5 мин чтения
ConvertHub
Обновлено 07.09.2026
#bmp#bitmap#история

Нужен прямо сейчас? Инструмент для этой задачи:

Введение

BMP — один из старейших растровых форматов изображений, тесно связанный с историей операционных систем Windows. Разработанный Microsoft в конце 1980-х годов, формат был долгое время стандартом для хранения графики в Windows и до сих пор поддерживается всеми современными операционными системами. Однако за десятилетия развития веба и мобильных технологий BMP превратился из актуального инструмента в исторический раритет, который упоминается преимущественно в учебниках и ретроспективах.

Что такое BMP формат и почему он почти не используется сегодня? Главное отличие BMP от современных форматов — отсутствие эффективного сжатия. BMP-файл хранит пиксельные данные как есть, что приводит к колоссальным размерам: одна фотография в разрешении 1920×1080 может весить 6 МБ в BMP и 350 КБ в JPG при идентичном визуальном качестве. В эпоху, когда мегабайты трафика стоят денег и замедляют загрузку сайтов, такой расточительность нет места.

В этой статье мы разберём историю BMP, его техническое устройство, сравним с современными форматами и поможем понять, в каких редких случаях BMP всё ещё может быть полезен. Если вы работаете с современным вебом, скорее всего, BMP вам не понадобится — но понимать его особенности стоит, чтобы не столкнуться с ним неожиданно.

История BMP

Формат BMP (Device-Independent Bitmap) был разработан Microsoft в конце 1980-х годов для операционной системы Windows 2.0. Идея заключалась в создании универсального формата хранения растровых изображений, не зависящего от конкретного устройства вывода. До BMP изображения часто хранились в форматах, специфичных для видеокарты или монитора, что создавало проблемы совместимости.

В Windows 3.0 (1990 год) BMP стал основным форматом для хранения обоев рабочего стола, иконок и графики. Вместе с расширением OS/2 (где был свой вариант BMP от IBM) формат закрепился в индустрии. В 1995 году с выходом Windows 95 формат получил поддержку 24-битного цвета (TrueColor), и до появления JPG и PNG в конце 1990-х BMP оставался основным форматом для качественной графики в Windows.

С появлением JPG (1992), PNG (1996), GIF и более поздних форматов BMP начал терять позиции. Веб-разработчики быстро поняли, что размер файлов имеет значение, и перешли на сжимающие форматы. К середине 2000-х BMP стал экзотикой, используемой разве что для совместимости со старым ПО.

Техническое устройство BMP

Структура файла

BMP-файл состоит из четырёх основных частей:

  • BMP Header (14 байт) — сигнатура формата, размер файла, смещение к пиксельным данным.
  • DIB Header (40+ байт) — информация об изображении: ширина, высота, глубина цвета, метод сжатия, разрешение, цветовая палитра.
  • Color Palette (опционально) — таблица цветов для индексированных изображений (1-, 4-, 8-битных).
  • Pixel Data — собственно пиксельные данные, обычно без сжатия.

Глубина цвета

BMP поддерживает несколько вариантов глубины цвета:

  • 1 бит — чёрно-белое изображение (2 цвета).
  • 4 бита — 16 цветов (EGA/VGA-эра).
  • 8 бит — 256 цветов с палитрой.
  • 16 бит — HighColor (65 536 цветов), редко используется.
  • 24 бита — TrueColor (16,7 млн цветов), стандарт для современных BMP.
  • 32 бита — TrueColor + Alpha (с прозрачностью), используется редко.

Сжатие

Поддерживается несколько режимов сжатия, но на практике 99% BMP-файлов создаются без сжатия (BI_RGB). Это и есть причина огромных размеров файлов. Доступные методы сжатия:

  • BI_RGB — без сжатия. Самый распространённый вариант.
  • BI_RLE8 — Run-Length Encoding для 8-битных изображений. Эффективен для графики с большими однотонными областями.
  • BI_RLE4 — RLE для 4-битных изображений.
  • BI_JPEG, BI_PNG — встроенные JPEG и PNG (появились в Windows 98, почти не используются).

Размер файлов: BMP против других форматов

Чтобы понять масштаб проблемы, сравним размеры одного изображения 1920×1080 в 24-битном цвете:

ФорматРазмерОтн. BMPСжатие
BMP (без сжатия)6,2 МБ100%Нет
BMP (RLE)3–5 МБ50–80%Lossless
PNG-243–5 МБ50–80%Lossless
TIFF (LZW)2–4 МБ40–65%Lossless
JPG (q=85)350 КБ5–6%Lossy
WebP (q=85)250 КБ4%Lossy
AVIF (q=60)180 КБ3%Lossy

Как видно, BMP без сжатия в 17 раз тяжелее JPG и в 35 раз тяжелее AVIF. Для веба это катастрофа: один BMP-файл может грузиться дольше, чем вся остальная страница.

Сколько весит BMP: таблица размеров

Вес несжатого BMP считается в уме, по формуле: ширина × высота × байт на пиксель + 54 байта заголовка (14 байт BMP-заголовка и 40 байт DIB-заголовка). Для стандартного 24-битного файла на пиксель приходится 3 байта. Кадр 1000×1000 весит 1000 × 1000 × 3 + 54 = 3 000 054 байта — чуть меньше трёх мегабайт на квадратную картинку. 8-битный кадр (256 цветов) — делите результат на три, плюс 1024 байта на палитру.

Нюанс: каждая строка пикселей дополняется нулями до кратности четырём байтам. Для ширин вроде 1000 или 1920 добавка нулевая, для «неудобных» вроде 999 — до трёх байт на строку.

Размер кадраBMP 24-бит (по формуле)JPG (примерно)PNG (примерно)
1000×10003 000 054 Б ≈ 2,9 МБ100–200 КБ500–700 КБ
1920×10806 220 854 Б ≈ 6,2 МБ250–500 КБ3–5 МБ
4000×300036 000 054 Б ≈ 36 МБ1,5–4 МБ10–25 МБ

Столбец BMP — точная арифметика, от содержимого кадра она не зависит. Диапазоны JPG и PNG — ориентировочные оценки для обычной фотографии: итог зависит от содержимого и выбранного качества. На графике с плоскими заливками PNG сжимается в разы сильнее, чем на фото.

Преимущества BMP

1. Простота

BMP — один из самых простых форматов для чтения и записи. Структура файла тривиальна, не требует сложных алгоритмов декодирования. Это делает его удобным для обучения программированию графики и для встраиваемых систем с минимальными ресурсами.

2. Универсальная поддержка

BMP открывается практически в любой программе на любой операционной системе. Windows, macOS, Linux, мобильные ОС — все поддерживают BMP «из коробки». Это важно для совместимости со старым ПО.

3. Отсутствие потерь

BMP без сжатия хранит пиксели как есть, без какой-либо потери качества. Каждый пиксель восстановится точно при открытии. Это полезно для задач, где критична точность: научные изображения, документальная графика.

4. Быстрая загрузка

Без сжатия файл читается «как есть» в память, без вычислений. Для встроенных систем с медленным CPU это может быть преимуществом: проще прочитать 6 МБ, чем декодировать сложный алгоритм.

Недостатки BMP

1. Огромный размер файлов

Главный недостаток. BMP без сжатия неэффективно использует пространство в 5–20 раз по сравнению со сжатыми форматами. Это делает его непригодным для веба, мобильных приложений, облачных хранилищ.

2. Нет поддержки прозрачности (в большинстве реализаций)

Хотя формат технически поддерживает 32-битный режим с альфа-каналом, на практике большинство программ создаёт 24-битные BMP без прозрачности. Это серьёзное ограничение для современного веба.

3. Нет поддержки анимации

BMP — статичный формат. Для анимации нужны другие форматы: GIF, APNG, анимированный WebP.

4. Нет поддержки в браузерах (практически)

Технически браузеры могут показывать BMP, но на практике это редкость. BMP не входит в стандартный набор форматов для веба, и большинство веб-разработчиков его не используют.

5. Нет поддержки метаданных

BMP не поддерживает EXIF, IPTC, XMP. Это делает его непригодным для фотографий, где важна информация о камере, настройках, геолокации.

6. Ограниченная цветовая глубина

BMP не поддерживает 16-битный цвет на канал (как TIFF или PSD), что ограничивает его применение в профессиональной фотографии.

Когда BMP ещё может быть полезен

Несмотря на все недостатки, у BMP остаются узкие ниши:

  • Обучение программированию. Простой формат, удобный для изучения основ работы с изображениями.
  • Встроенные системы. Микроконтроллеры, IoT-устройства, где нет ресурсов на декодирование сложных форматов.
  • Совместимость со старым ПО. Иногда единственный формат, который принимает старая программа.
  • Системные иконки Windows. Некоторые системные иконки Windows до сих пор используют BMP-подобные форматы.
  • Скриншоты в специализированных задачах. Быстрый захват экрана без сжатия, когда важна скорость, а не размер.

Во всех остальных случаях — а это 99% реальных задач — лучше использовать современные форматы.

Когда BMP до сих пор нужен, а когда — нет

На практике BMP до сих пор легитимно живёт там, где сжатие запрещено или нечем делать. ПО промышленных и медицинских сканеров часто сохраняет сырые кадры именно в BMP: устройству проще выгрузить массив пикселей, чем кодировать JPEG. Отдельные регламенты и ТЗ прямо требуют «хранить данные без сжатия» — выбор тогда обычно между BMP и TIFF. В прошивках микроконтроллеров декодер JPEG может не влезть в память, когда читатель BMP — пара десятков строк кода.

СитуацияБрать BMP?Чем заменить
Фото для сайта, соцсетей, мессенджеровНетJPG или WebP
Вложение в письмоНетJPG; если важно качество — PNG в ZIP
Скан документа для архиваНетPDF для отправки, TIFF для хранения
Кадр с медицинского или промышленного сканераДа, если требует ПОTIFF — если ПО его принимает
Требование ТЗ «без сжатия»ДаTIFF lossless, если регламент не запрещает
Прошивка с готовым BMP-декодеромДаСырой дамп пикселей без заголовка
Обои на компьютере без интернетаМожноPNG — тот же результат вдвое меньше

Конвертация BMP

Если у вас есть BMP-файлы и нужно использовать их в вебе или современных приложениях, их следует конвертировать. Самый универсальный вариант — конвертация в PNG: BMP в PNG сохранит пиксели без потерь и уменьшит размер в 2–5 раз. Обратная операция — PNG в BMP — может понадобиться для совместимости со старым ПО.

Для фотографий лучше конвертировать BMP в JPG, WebP или AVIF. Это даст уменьшение размера в 10–30 раз при визуально идентичном качестве. При конвертации BMP в JPG выбирайте качество 85 — этого достаточно для большинства задач.

Современные альтернативы BMP

PNG

Прямой наследник BMP для lossless-сценариев. Поддерживает сжатие без потерь, прозрачность, 16-битный цвет. Размер файла в 2–5 раз меньше BMP. Универсально поддерживается в вебе и ПО.

WebP lossless

Современная альтернатива PNG. Lossless-сжатие на 20–25% эффективнее PNG. Поддерживается во всех современных браузерах.

AVIF lossless

Самый эффективный lossless-формат на сегодня. На 40–50% меньше PNG. Поддержка браузерами — около 93%.

TIFF

Для профессиональной фотографии и печати. Поддерживает 16-битный цвет, CMYK, ICC-профили, multi-page. Сжатие LZW даёт уменьшение в 1,5–2 раза.

BMP и SEO

Использование BMP на сайте — гарантированное убийство производительности и позиций в поиске. Яндекс и Google учитывают скорость загрузки как фактор ранжирования, и BMP-файлы могут увеличить время загрузки страницы в десятки раз. Поисковые боты также могут игнорировать BMP-изображения при индексации, потому что не всегда распознают их как веб-совместимые.

Если на вашем сайте есть BMP-файлы, замените их как можно скорее. Это даст мгновенный прирост скорости и может улучшить позиции в выдаче.

Как избежать BMP в workflow

Большинство программ по умолчанию не создают BMP, но некоторые старые утилиты (Paint в старых версиях Windows, некоторые сканеры) могут сохранять в BMP. Чтобы избежать этого:

  • Используйте современные редакторы: Photoshop, GIMP, Affinity Photo.
  • При сканировании выбирайте PNG или TIFF вместо BMP.
  • В скриптах и автоматизации явно указывайте целевой формат.
  • Регулярно проверяйте сайт на наличие BMP-файлов.

Частые вопросы

BMP — что это за формат простыми словами?

Это картинка, сохранённая «как есть»: каждая точка записана своими тремя байтами цвета, без упаковки. Похоже на чемодан, где вещи лежат насыпью, а не скручены: достаётся мгновенно, места занимает в разы больше. Формат придумала Microsoft для Windows в конце 1980-х, открывается он до сих пор почти везде.

Почему BMP-файлы такие большие?

Потому что сжатия нет совсем. Кадр 1920×1080 — это около двух миллионов пикселей по 3 байта каждый: 6,2 МБ, даже если половина кадра — однотонное небо. JPG находит повторяющиеся участки, выбрасывает незаметные глазу детали и укладывается в 300–500 КБ.

Чем открыть BMP на телефоне?

Обычной галереей. Android открывает BMP штатно — подойдут Google Фото или любой сторонний просмотрщик. На iPhone картинка откроется в «Фото», но при редактировании или отправке система может пересохранить её в HEIC или JPG. Чтобы привести BMP к привычному формату, проще всего браузерный конвертер BMP в PNG.

Заключение

BMP — исторический формат, который сыграл важную роль в развитии цифровой графики, но сегодня почти не используется в реальных проектах. Его главные недостатки — отсутствие эффективного сжатия, огромные размеры файлов, отсутствие поддержки прозрачности и метаданных — делают его непригодным для современного веба.

Стоит ли использовать BMP сегодня? В 99% случаев — нет. Современные форматы (PNG, WebP, AVIF, JPG) превосходят BMP по всем параметрам: размеру, скорости загрузки, поддержке функций. BMP имеет смысл только в узких нишах: обучение программированию, встроенные системы, совместимость со старым ПО.

Если у вас есть BMP-файлы, сконвертируйте их в современные форматы. Конвертер BMP в PNG — самый простой способ перевести файлы без потерь, а PNG в BMP поможет в редких случаях обратной совместимости. Переход с BMP на современные форматы — это инвестиция в скорость вашего сайта, комфорт пользователей и позиции в Яндексе.

Попробуйте эти инструменты

Похожие статьи