チュートリアル

ソフトウェアをインストールせずに画像をオンラインで一括変換する方法

koboshiCo-founder
·3 分で読めます
ソフトウェアをインストールせずに画像をオンラインで一括変換する方法
要約

画像の一括変換とは、数十から数百のファイルを一度に処理することです。ここでは、ブラウザベースのツールがサーバーなしでこれをどのように実現するか、どのフォーマットが一括ワークフローに対応しているか、変換中にファイルに実際に何が起きているかを解説します。

旅行から帰ってきて、200 枚の HEIC 写真が手元にある。Windows ノートでは開けず、Web アプリは JPEG を要求し、写真共有サイトは HEIC を完全に拒否する。1 枚ずつ変換することもできる:写真 1 枚につき 4 クリック、200 枚で 800 クリック、午後の半分が消える。あるいは、フォルダをブラウザタブにドロップして、処理が終わるまで放置すればいい。

これが一括変換ツールの存在理由であり、ブラウザベースのものは、あなたが使ってきたデスクトップソフトとは動作が異なる。

一括変換の実際の意味

一括変換は「1 ファイル変換して、繰り返す」ではない。本当の一括パイプラインは、可能な限り 3 つの処理を並列実行する:

  1. 読み取り:各ファイルのヘッダーを解析してフォーマットを確認する。.heic 拡張子は何の証明にもならない。パイプラインは最初の 12 バイトを読み取り、ftyp ボックスの heic/heif/mif1 をチェックし、ピクセルデータに触れる前に不一致ファイルを拒否する。
  2. デコード:ソースを生のピクセルに解凍する。HEIC ファイルの場合、これは libheif の WebAssembly ビルドを実行することを意味する。JPEG と PNG は、ブラウザのネイティブデコーダーが処理する。このステップは CPU バウンドであり、ボトルネックとなる。
  3. エンコード:生のピクセルをターゲットフォーマットに圧縮する。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 JPGPDF to PNGPDF 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.HEICIMG_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 ファイル、同時実行の問題なし。

関連ツール

このサイトのすべての画像コンバーターは一括処理に対応している:

アカウント不要。ファイル単位の課金なし。フォルダをドロップして、結果をダウンロードするだけ。

その他のおすすめ記事