旅行から帰ってきて、200 枚の HEIC 写真が手元にある。Windows ノートでは開けず、Web アプリは JPEG を要求し、写真共有サイトは HEIC を完全に拒否する。1 枚ずつ変換することもできる:写真 1 枚につき 4 クリック、200 枚で 800 クリック、午後の半分が消える。あるいは、フォルダをブラウザタブにドロップして、処理が終わるまで放置すればいい。
これが一括変換ツールの存在理由であり、ブラウザベースのものは、あなたが使ってきたデスクトップソフトとは動作が異なる。
一括変換の実際の意味
一括変換は「1 ファイル変換して、繰り返す」ではない。本当の一括パイプラインは、可能な限り 3 つの処理を並列実行する:
- 読み取り:各ファイルのヘッダーを解析してフォーマットを確認する。
.heic拡張子は何の証明にもならない。パイプラインは最初の 12 バイトを読み取り、ftypボックスのheic/heif/mif1をチェックし、ピクセルデータに触れる前に不一致ファイルを拒否する。 - デコード:ソースを生のピクセルに解凍する。HEIC ファイルの場合、これは libheif の WebAssembly ビルドを実行することを意味する。JPEG と PNG は、ブラウザのネイティブデコーダーが処理する。このステップは CPU バウンドであり、ボトルネックとなる。
- エンコード:生のピクセルをターゲットフォーマットに圧縮する。JPG は品質 90 でエンコード、PNG は DEFLATE を使用、WebP はブラウザの内蔵エンコーダーで処理する。
デスクトップソフトも同じ 3 ステップを実行する。違いは CPU サイクルがどこで消費されるかだ:どちらにせよあなたのマシン上だが、ブラウザタブではインストーラーも管理者権限も不要で、デスクトップに一時ファイルが散らかることもない。
対応フォーマットの組み合わせ
すべてのフォーマットが他のすべてのフォーマットにうまく変換できるわけではない。重要なマトリックスは以下だ:
| 変換元 | JPG へ | PNG へ | WebP へ | ICO へ |
|---|---|---|---|---|
| HEIC | 対応 | 対応 | 対応 | 非対応 |
| JPG | 非対応 | 対応 | 対応 | 対応 |
| PNG | 対応 | 対応 | 対応 | 対応 |
| WebP | 対応 | 対応 | 非対応 | 対応 |
| BMP | 対応 | 対応 | 対応 | 対応 |
空白のセルは機能不足ではない。HEIC から ICO は無意味な変換だ:数 MB の写真を 256×256 のアイコンファイルに縮小すれば、写真としての意味をすべて失う。ツールは無意味な経路をスキップする。
PDF ページは別のパイプラインを通る。各ページは PDF.js でキャンバスにレンダリングされ、ターゲットフォーマットにエンコードされる。PDF to JPG、PDF to PNG、PDF to WebP コンバーターは全ページを自動的に一括処理する。
ワークフローの手順
1. すべてを一度にドロップ
コンバーターページを開く。ファイルマネージャーからフォルダをドロップゾーンにドラッグする。クリックしてファイルピッカーを開き、複数ファイルを選択することもできる。Ctrl+A もここでは有効だ。
ドロップゾーンはブラウザのドラッグイベントから直接 FileList オブジェクトを読み取る。アップロードは一切発生しない。ファイルは File オブジェクトとしてメモリに保持される。これは単に、名前・サイズ・拡張子から推測された MIME タイプを持つ、ディスク上のブロブへの参照に過ぎない。
2. 検証を実行させる
各ファイルはデコード前にチェックされる。HEIC ファイルの場合、バリデーターは前述のように ftyp ボックスを読み取る。その他のフォーマットでは、ブラウザの createImageBitmap() の呼び出しが成功(有効な画像)するか、例外をスロー(破損または誤ラベルのファイル)する。
無効なファイルには赤いマーカーと理由が表示される:「有効な HEIC ファイルではありません」「未対応のフォーマットです」「ファイルが 200 MB を超えています」。これらは他のファイルの処理をブロックしない。有効なファイルは処理キューに入る。
3. 出力フォーマットを選択
各コンバーターページは特定の出力フォーマットを対象としている。HEIC から JPG が必要なら、HEIC to JPG ページを使う。代わりに HEIC から PNG が必要なら? HEIC to PNG。出力フォーマットはページごとに固定されており、UI をシンプルに保つ:ドロップダウンも混乱もない。
品質設定はフォーマット固有だ。JPG は品質スライダー(10–100、デフォルト 90)を提供する。PNG は常にロスレスなので、スライダーは不要だ。WebP は JPEG とは異なる挙動の品質スライダーを使用する:WebP の 80 は、写真的なコンテンツでは JPEG の 92 にほぼ相当する。
4. 待つ(短時間)
処理時間は 3 つの要素に依存する:ファイル数、ファイルサイズ、そして CPU だ。8 コアのモダンなノート PC は、每秒約 2–4 回の HEIC から JPG への変換を処理する。200 枚の iPhone 写真のフォルダは 2 分以内に完了する。
各ファイルは requestAnimationFrame で分割されたチャンクで実行されるため、UI は応答性を保つ。プログレスバーはファイル単位の進捗を表示し、バイト単位ではない:各ファイルはサイズに関係なく 1 目盛りずつ進む。
5. ダウンロード
2 つのオプションがある:
個別ダウンロード:各変換済みファイルが個別にダウンロードされる。ブラウザのダウンロードマネージャーがこれをネイティブに処理し、どこでも動作する。
ZIP アーカイブ:すべての変換済みファイルが 1 つの .zip にパックされる。ストリーミング ZIP 実装でメモリ内に構築され、ファイルはオンザフライで圧縮され、一時ストレージは不要。
元のファイル名は拡張子のみ変更されて引き継がれる。IMG_4021.HEIC は IMG_4021.jpg になる。
品質とサイズのトレードオフ
フォーマット変換はファイルサイズに関する選択を意味する:
| 変換 | 典型的なサイズ変化 | 品質に関する注意 |
|---|---|---|
| HEIC → JPG (q90) | 約 2 倍大 | 通常のズームでは視覚的に同一 |
| HEIC → PNG | 約 5–8 倍大 | ロスレスだが、写真には過剰 |
| HEIC → WebP (q80) | 約 1.2 倍大 | 同等の品質で JPEG より小さい |
| PNG → JPG (q90) | 約 3–5 倍小 | 透過部分は白背景になる |
| BMP → JPG (q90) | 約 10–20 倍小 | BMP は生ピクセルを保存、JPG が圧縮 |
| JPG → PNG | 約 5–10 倍大 | 品質向上なし。単に劣化を止めるだけ |
HEIC から PNG への変換は人々が陥りがちな罠だ。HEIC はすでに非可逆である。非可逆から可逆に変換しても品質は回復しない。現在の状態を 5 倍のファイルサイズで凍結するだけだ。Web 向けの写真なら、HEIC から JPG または WebP が正直な道だ。編集ソフトに取り込む写真なら、PNG は意味がある。その後の保存で世代損失を防ぐからだ。同様の論理はあらゆる場面に当てはまる。完全な説明は非可逆 vs 可逆圧縮ガイドを参照。
ブラウザ vs デスクトップ vs サーバー
| ブラウザベース | デスクトップソフト | サーバー/クラウド | |
|---|---|---|---|
| インストール | 不要 | ダウンロード + インストール | 不要 |
| プライバシー | ファイルはローカルに留まる | ファイルはローカルに留まる | ファイルがサーバーにアップロードされる |
| 速度 | WebAssembly(ネイティブに近い) | ネイティブ | ネットワークアップロード + キュー + ダウンロード |
| 一括サイズ | メモリ制限(~500+ ファイル) | ディスク制限 | 無料枠ではしばしば上限あり |
| 更新 | 常に最新 | 手動更新 | 常に最新 |
ブラウザベースのコンバーターは、ほとんどの人にとって最適な位置にある:インストール不要、アップロード不要、そして速度は十分に速い。ここ 5 年以内に製造されたデバイスでは、ネイティブとの差はほとんど知覚できない。
WebAssembly の詳細は重要だ。HEIC デコーダーは、WASM サンドボックス内で実行されるコンパイル済み C ライブラリ(libheif)である。ファイルシステムアクセスもネットワークアクセスもなく、データをどこかに送信する手段は一切ない。ブラウザはこれらの境界をアプリケーションレベルではなく、エンジンレベルで強制する。このアーキテクチャの詳細については、WebAssembly 解説とブラウザプライバシー詳細を参照。
一括変換がうまくいかない場合
いくつかの要因が一括処理を停止させる:
- 誤ったコンバーターへの異種フォーマットの混入。 JPEG を HEIC to JPG ページにドロップしてしまう。バリデーターがこれらを検出してスキップする。拒否されたファイルには明確なラベルが付くので、正しいコンバーターに振り分けられる。
- 超大規模バッチでのメモリ枯渇。 2,000 枚の 24 MP の RAW ファイルを処理すると、最終的にブラウザのメモリ制限に達する。解決策はバッチを数百ファイルずつのチャンクに分割することだ。典型的なスマホ写真(12 MP、約 2 MB HEIC)なら、1 回の実行で 500 枚以上でも問題ない。
- Safari のダウンロード動作。 Safari は Chrome や Firefox よりも同時ダウンロードを積極的に制限する。個別ダウンロードは問題なく動作する。ZIP ダウンロードはこの問題を完全に回避する:1 ファイル、同時実行の問題なし。
関連ツール
このサイトのすべての画像コンバーターは一括処理に対応している:
- HEIC 変換:HEIC to JPG · HEIC to PNG · HEIC to WebP
- JPG 変換:JPG to PNG · JPG to WebP · JPG to ICO
- PNG 変換:PNG to JPG · PNG to WebP · PNG to ICO
- WebP 変換:WebP to JPG · WebP to PNG · WebP to ICO
- BMP 変換:BMP to JPG · BMP to PNG · BMP to WebP · BMP to ICO
- PDF ページ抽出:PDF to JPG · PDF to PNG · PDF to WebP
アカウント不要。ファイル単位の課金なし。フォルダをドロップして、結果をダウンロードするだけ。

