Legacy File Converter のロゴLegacy File Converter
購入アプリを入手
歴史レッスン8 分で読める

歴史レッスン:.bmp ファイルとは? Paint が有名にした非圧縮の Windows 画像

Windows ビットマップ — ディスク上のデバイス非依存ビットマップ。BM シグネチャ、下から上へ並ぶ行、そして多くが非圧縮のため大きいままのファイル。

·Legacy File Converter チームより
紺色の背景に、パレットと小さなフロッピーディスクの横でクリーム色のピクセルグリッドの巻物がこぼれ出る CRT モニター、ロゴなし

TL;DR

.bmp は Windows ビットマップで、デバイス非依存ビットマップ(DIB)の一般的なディスク上の形式です。ピクセルを特定のディスプレイ アダプターに結び付けることなく、Windows がプログラム間で受け渡せる画像レイアウトです。ファイルは通常、型フィールドが 0x4D42(ASCII の 「BM」)でなければならない 14 バイトの BITMAPFILEHEADER で始まり、続いて DIB ヘッダー(最も多いのは Windows 3.0 時代の 40 バイトの BITMAPINFOHEADER)、省略可能なカラーテーブル(インデックス画像向けの RGBQUAD エントリのパレット)、そしてピクセル配列が並びます。行は通常ボトムアップで、24 ビットのピクセルはしばしば BGR 順、スキャンラインは4 バイト境界にパディングされます。既定の保存方式は BI_RGB(非圧縮)で、そのため BMP ファイルは JPG や PNG と比べて巨大に見えます。省略可能なランレングス符号化(RLE — 画素ごとではなく同じ値の連なりを保存する方式)は、一部の 4 ビット・8 ビット画像向けに BI_RLE4 / BI_RLE8 として存在します。それ以前の 12 バイトの BITMAPCOREHEADER レイアウトは Windows 2.0 / OS/2 時代と重なり、後の BITMAPV4HEADER / BITMAPV5HEADER は色空間とプロファイルのフィールドを追加します。Microsoft Paint / Paintbrush が長らく BMP を既定の保存形式にしていたため、こうしたレガシーファイルは 2026 年になっても見つかります。Legacy File Converter は、Windows 上でローカルに .bmp を JPG、PNG、PDF に変換します — アップロードは一切行われません。

.bmp ファイルとは?

.bmp ファイルは Windows ビットマップ画像です。核となる考え方はデバイス非依存ビットマップ(DIB)で、特定のモニターのハードウェア固有の癖を焼き込まずに、GDI(Graphics Device Interface)を使うプログラム間でWindows が受け渡せるラスターです。Microsoft の Bitmap Storage ガイダンスは、ビットマップは確立されたビットマップ ファイル形式で拡張子 .bmp として保存すべきだとしています。ディスク上では、その形式は BITMAPFILEHEADER に DIB 情報ヘッダー、省略可能なカラーテーブル、そしてビットマップのビット列が続いたものです。

平たく言えば、.bmp は Windows が DIB をフロッピー、ハードディスク、メールの添付ファイルに載せる方法です。アプリが CF_DIB クリップボード形式でビットマップを貼り付けるときや、アイコンやカーソルが関連するビットマップ構造を埋め込むときにも、同じ系譜が現れます。日常的な検索「.bmp ファイルとは」は、たいてい巨大なスクリーンショット、古い Paint の落書き、あるいは JPG にならなかったスキャナーの出力を前にした人が行っています。

BMP は別の写真コーデックではありません

.bmp は「名前を変えた JPEG」ではありません。Windows の古典的なビットマップ コンテナーで、通常は非圧縮のピクセルとヘッダーから成ります。同じ写真が JPG や PNG よりも BMP のほうがはるかに大きくなることが多いのはそのためです。

.dib ファイルは .bmp と同じですか?

これは Wikipedia が略語の 1 行に圧縮している混乱です。DIB はデバイス非依存ビットマップという概念と、メモリ上・交換用のレイアウトを指します。BMP は、その DIB の前に BITMAPFILEHEADER を付けて作られた、人々がダブルクリックするおなじみのファイルです。Microsoft はディスク上の話をビットマップの保存と BITMAPxxxHEADER 構造の項目で文書化しており、コミュニティやフォーマットの資料には、関連する DIB ペイロードに使われる .dib 拡張子も記されています。

つまり、同じ系統で、バイトが重なり、ラベルが違うだけです。.dib は競合するカメラ形式ではありません。.dib を .bmp に(またはその逆に)名前変更しても、受け取る側のアプリが期待するバイト列とすでに一致している場合にしか役立ちません — PNG を JPG に変えるような変換手順ではないのです。この記事は Windows ビットマップの歴史にとどまり、あらゆる珍しい OS/2 やプリンタードライバーの派生形を独立した製品機能だと主張するものではありません。

「BMP」のほかの意味

グラフィックス以外では、「BMP」は Unicode の基本多言語面(Basic Multilingual Plane)を意味することがあり、また「ビットマップ」をあらゆるラスターの意味でゆるく使う人もいます。ディスク上の .bmp ファイルは Windows ビットマップ / DIB ファイル形式であり、それらの別の略語ではありません。

BMP ファイルはなぜこんなに大きいのですか?

サイズの衝撃を正面から受け止めましょう。24 ビット BMP として保存した 1920×1080 のスクリーンショットを開くと、ファイルはおおよそ幅 × 高さ × 3 バイトの色データにパディングと小さなヘッダーを加えたもの — しばしば数メガバイト — になります。通常の圧縮フィールドが BI_RGB、つまり非圧縮の RGB(またはパレット インデックス)だからです。各スキャンラインは、バイト長が4 の倍数(DWORD アライン)になるようパディングされ、わずかにかさが増えます。

Windows 3.0(1990 年)は、今も主流の 40 バイトの BITMAPINFOHEADER を普及させ、8 ビットおよび 4 ビット/ピクセルの画像向けにランレングス符号化の選択肢 BI_RLE8 と BI_RLE4 を追加しました。繰り返されるパレット インデックスを、画素ごとではなく「個数と値」の組として保存する方式です。これはアイコンや単純なマンガには効きますが、現代のトゥルーカラー写真を小さなファイルに変えるわけではありません。後のヘッダー バージョンは、特定の GDI プリンター経路向けに BI_JPEG / BI_PNG の圧縮値を予約していますが、普通のデスクトップ BMP が魔法のように縮むわけではありません。

Microsoft Paint がこの習慣を決定づけました。Windows 3.0 より前、同梱の Microsoft Paint は独自のモノクロ .msp ファイル(PRONOM x-fmt/214)を使っていました。Windows 3.0 はその Paint を Paintbrush に置き換え、MSP を開けるものの保存は BMP または PCX でした。その後何年も、Paint の手軽な「落書きを保存」の流れは非圧縮のビットマップをディスクに積み上げ続けました — 2026 年のハードディスクなら問題ありませんが、1990 年代の 1.44 MB フロッピーでは苦痛であり、「単純な」BMP のメール添付が JPG を大きく上回るときには、今も驚かされます。

意図的な非圧縮

BI_RGB は、ピクセル配列が展開された状態で保存されることを意味します。大きな BMP ファイルはたいてい形式が求めたとおりに動いているだけで、実は壊れた JPG というわけではありません。

バイトの仕組み:BM、ヘッダー、パレット、ボトムアップの行

Microsoft の BITMAPFILEHEADER は 14 バイトです。bfType フィールドは 0x4D42 でなければならず、これはリトルエンディアンで書かれた ASCII 文字 「BM」 です。bfSize はファイルサイズ(バイト単位)、bfOffBits はファイル ヘッダーの先頭からピクセル ビットまでのオフセットです。予約フィールドはゼロでなければなりません。その直後に DIB ヘッダーが続き、その後にインデックス ビット深度向けの RGBQUAD 色の配列であるカラーテーブル(パレット)が任意で置かれ、最後にビットマップ データが来ます。

どの DIB ヘッダーなのか。Microsoft は 4 つの基本型を挙げています。BITMAPCOREHEADER(12 バイト — 初期の Windows 2.0 / OS/2 互換のコア)、BITMAPINFOHEADER(40 バイト — Windows 3.x 以来の主力)、BITMAPV4HEADER(Windows 95 / Windows NT 4.0 時代に関連する色空間・ガンマの拡張)、BITMAPV5HEADER(ICC プロファイルのリンク / 埋め込みを含むさらなるフィールドで、Windows 98 / Windows 2000 に関連)です。情報ヘッダーのサイズ フィールドが、読み手にどの構造を見ているのかを教えてくれます。BITMAPINFOHEADER には、幅、高さ、プレーン数(1)、ピクセルあたりのビット数、圧縮、画像サイズ、メートルあたりのピクセル数での解像度、パレットの使用状況が記録されます。

向きは古典的な落とし穴です。非圧縮 RGB レイアウトでは、正の biHeight はボトムアップ DIB を意味し、原点は左下で、最初に保存される行が画像の最下段になります。負の高さはトップダウン(原点は左上)を意味します。24 ビットのピクセルは通常 RGB ではなく BGR の 3 つ組として保存されます。1 ビット、4 ビット、8 ビットのインデックス画像はパレットを参照し、それより深いものは色を直接保存することが多いです。ヘッダーとピクセルだけという単純さが、Windows が行き渡った場所すべてに BMP が広がった理由であり、行が上から始まると思っている人が生のダンプを見て今も混乱する理由でもあります。

BM はシグネチャであり、ブランドのステッカーではありません

最初の 2 バイトは構造上のものです。リーダーは BITMAPFILEHEADER の残りを信頼する前に BM を確認します。そのシグネチャを、ファイル形式とは無関係な「BMP」という略語と混同しないでください。

Windows、OS/2、そしてこの形式が定着した理由

BMP の初期の物語は、Windows と OS/2 が共有していた Microsoft / IBM の時代にあります。フォーマットの歴史家は、プログラム可能なパレットを持つ DIB が Windows 2.x と OS/2 Presentation Manager で足並みをそろえていたと指摘しますが、どちらが先に DIB を「発明」したかについては資料によって見解が分かれます。長年 Microsoft のエンジニアを務めた Raymond Chen は、Windows 2.0 が相互運用性を促すために OS/2 のビットマップ形式を採用したと書いています。Charles Petzold や当時の記事は、DIB が Windows 3 で目立って登場し、それ以前の Presentation Manager のビットマップを拡張したものだと説明することがよくあります。起源の神話には留保を付けておきましょう。ディスク上のファイルにとって重要なのは、12 バイトのコアヘッダーと後の 40 バイトの BITMAPINFOHEADER の両方が足跡を残したこと、そして Windows 3.0 が現代的な BMP を、Windows ユーザーが実際に保存する既定のデスクトップ ラスターにしたことです。

そこからこの形式が定着したのは、プラットフォームに組み込まれていたからです。Paint/Paintbrush、クリップボードの CF_DIB、リソース ビットマップ、ドライバーやスクリーンショットのツール、そしてピクセルを可逆かつ単純にダンプする必要があった数え切れないほどのインストーラー。写真は JPG が勝ち、圧縮とアルファを備えた Web グラフィックスは PNG が勝ち、BMP は無骨な道具として残りました — 書き出しは簡単で、パディングや行の順序を無視すれば壊れやすく、数十年後でも読めます。

.bmp ファイルが 2026 年になってもディスクに残っている理由

2026 年になっても、.bmp のレガシーファイルは、古い Paint のフォルダー、スキャナーの既定設定、エンジニアリングの出力、ゲームや UI のアセット パック、メールのアーカイブ、そして PNG に移行しなかった「ビットマップとして保存」という習慣から現れます。それらは謎めいたものではなく、Windows の古典的なディスク上の DIB レイアウトです — 多くは非圧縮で、多くはボトムアップで、ヘッダーが普通であればフォトやブラウザーで今も開きます。困りごとは、サイズ、細かいアップローダー、そして人々に別の形式を見つけたと思わせる、たまに現れる .dib のラベルです。

Legacy File Converter は、サポートされているファイルの種類で対応画像のひとつとして Windows ビットマップ / .bmp を挙げており、Windows 上でローカルに .bmp を JPG、PNG、PDF に変換します — アップロードは一切行われません。この記事は歴史にとどまり、ヘッダーを 16 進編集するためのハウツーではありません。隣接する画像形式のレッスンは、歴史レッスン:.jfif ファイルとは?、歴史レッスン:.tga ファイルとは?、歴史レッスン:.wmf ファイルとは?、歴史レッスン:複数ページの .tif ファイルとは? をご覧ください。

古いファイルを開く準備はできましたか?

無料で始めて、買い切りの $79.95 Standard ライセンスで無制限変換を解除。Windows インストーラーをダウンロード — 最大 10 ファイルまで全機能。

無料トライアル

アプリの全機能 · 最大 10 ファイル

Windows 10 または 11

これまでどおりの無料トライアル — Windows インストーラーをダウンロードして、PC 上でローカルに変換できます。

無料トライアルを開始 — インストーラーをダウンロード

直接 Windows インストーラー · オフライン MSI

安全ですか? — 発行元、インストーラー、SmartScreen のヘルプ

Standard を購入 — $79.95

Windows 10 または 11 が必要です。サブスクリプションなし。100% Windows ネイティブ。