ブラウザでの HEIC 変換のしくみ
ブラウザは単独では HEIC を開けません。この形式は HEVC コーデックを使用していますが、Chrome・Firefox・ほとんどのデスクトップブラウザにはデコーダーが含まれていないため、このページが自前のデコーダーを持ち込みます。HEIC 関連ツールの多くが採用しているオープンソースライブラリ libheif を WebAssembly にコンパイルしたものが、最初に「変換」を押したときに読み込まれ、すべてのデコードをローカルで行います。以下がすべてブラウザのタブ内で実行される 4 ステップのパイプラインです。
- 1 つ以上の HEIC または HEIF ファイルをドロップします。ページは各ファイルをメモリ上の Blob として読み込むため、サーバーへのコピーもディスクへの書き込みも発生しません。
- 初回変換時に libheif WebAssembly デコーダーが一度だけダウンロードされ(約 1.3 MB)、キャッシュに残ります。2 回目以降の変換は待ち時間なしで始まります。
- libheif が HEVC 圧縮画像を生のピクセルデータにデコードし、JPG または PNG に再エンコードします。JPG の場合は品質スライダーがエンコーダーの圧縮設定に直結し、PNG 出力は常にロスレスです。
- 各変換結果のサムネイルとファイルサイズが表示され、写真ごとのダウンロードボタンと、バッチ全体をまとめた単一 ZIP が提供されます。ZIP は、タブ内で動作する 8 KB のライブラリ fflate によってメモリ上で構築されます。
HEIC を JPG に変換する理由
- HEIC は Apple のデフォルト形式ですが、それ以外の環境では至る所で壁にぶつかります。Windows でプレビューするには有料のコーデックパックが必要で、多くのウェブフォームはそもそも拒否し、古い写真ソフトは破損ファイルとして扱います。JPG はほぼあらゆる環境で開けます。
- 写真のプライバシーが守られます。医療写真、顧客の物件、パスポートのスキャン——これらは見知らぬクラウド変換サービスを通すべきではありません。本ツールではデコードがブラウザ内で行われるため、画像がデバイスの外に出ることはありません。
- バッチ変換で手間が大幅に省けます。週末の旅行で撮った写真が数百枚の HEIC ファイルになることもあります。まとめてドロップし、「変換」を一度押して、1 つの ZIP をダウンロードするだけで済みます。
- 品質とサイズを自分でコントロールできます。スライダーで少しの画質と大幅に小さいファイルサイズを調整でき、バッチをメール送信したりファイルサイズ上限のある CMS にアップロードする際に役立ちます。
主な活用シーン
iPhone の写真を Apple 形式に対応していない場所に送る必要が生じるときは常に、HEIC 変換が必要になります。よく見られる 3 つのパターンを紹介します。
- Windows や Android ユーザーとの iPhone 写真共有。AirDrop は HEIC のまま送れますが、非 Apple デバイスや古いメールクライアントに届いた瞬間に開けなくなります。事前に JPG に変換しておけば、誰でも開けます。
- ウェブフォームやマーケットプレイスへのアップロード。求人サイト、行政の申請フォーム、オークションサイト、保険の請求アップロード——多くがいまだに HEIC を拒否します。JPG に変換するだけで、弾かれていたファイルが受理されるようになります。
- 編集や印刷用の写真準備。古いバージョンの Photoshop・Lightroom や一部の印刷サービスは HEIC を扱えません。PNG に変換すれば編集用のフルクオリティが保たれ、JPG に変換すれば印刷所が受け付けてくれる小さいファイルになります。
実践例:カメラロールを共有可能な ZIP に変換
旅行から帰ってきて 40 枚の HEIC 写真があり、家族は全員 Windows ラップトップを使っているとします。全員が開けるファイルを渡す最速の方法はこれです。
40 ファイルすべてを一度にアップロードゾーンにドロップします。出力は JPG のまま、品質を 0.85 に設定します——写真がシャープに見えつつ、HEIC 元ファイルよりはるかに小さくなります。すべて変換をクリックします。デコーダーが一度読み込まれ、バッチを順番に処理します。写真 1 枚あたり通常 1〜2 秒です。終わったら、.zip をダウンロードをクリックして、メールで送れるか共有フォルダに置けるアーカイブをまとめて取得します。一連の処理はすべてブラウザ内で完結し、ネットワーク通信はページ本体の読み込みと一度限りのデコーダーダウンロードだけです。写真がサーバーに触れることはありません。
なぜブラウザは最初から HEIC を開けないのですか?
HEIC はピクセルを HEVC(H.265)圧縮で格納していますが、これは特許で保護されたコーデックであり、ブラウザに標準搭載されることはほぼありません。Apple は iOS と macOS に組み込んでいますが、Chrome・Firefox・ほとんどの Windows ソフトウェアには HEIC デコーダーが含まれていません。そのため HEIC ファイルは壊れた画像アイコンとして表示されるか、そもそも開けないのです。本ツールは独自のデコーダー(オープンソース libheif ライブラリの WebAssembly ビルド)を読み込むことでこの問題を回避しているため、ブラウザがネイティブで何をサポートしているかに関係なく変換が動作します。
写真はどこかにアップロードされますか?
されません。すべてのデコードと再エンコードは、libheif WebAssembly エンジンを使ってブラウザのタブ内で行われます。写真データはサーバーに送信されず、一時的なアップロードも、クラウド経由の通信も発生しません。ご自身で確認することもできます。DevTools を開き、ネットワークパネルに切り替えて変換を実行してください。表示されるのは初回のページ読み込み、一度限りのデコーダーダウンロード、そして広告の通信だけです。写真のデータがタブの外に出ることはありません。
JPG と PNG のどちらを選べばよいですか?
写真には JPG を選んでください——汎用のデフォルト形式で、品質スライダーでファイルを小さく保てます。メール、SNS、ほとんどのアップロードフォームが JPG を想定しています。ロスレスのコピーが必要な場合は PNG を選んでください。たとえば画像をさらに編集する予定があって圧縮のアーチファクトを焼き込みたくない場合や、スクリーンショットのように鋭いエッジと均一な色面が多い写真の場合です。PNG はロスレスのためファイルが大きくなるので、一般的な写真であれば品質 0.85 の JPG がほとんどの場合ベターな選択です。
Live Photos やマルチ画像 HEIC ファイルはどうなりますか?
Live Photos、バースト撮影、一部の Apple エクスポートなど、一部の HEIC ファイルは 1 つのコンテナ内に複数の画像を含んでいます。デコーダーが複数のフレームを検出すると、本ツールはそれぞれを変換し、数字のサフィックスを付けて命名します(photo-1.jpg、photo-2.jpg など)。これにより 1 枚も失わずに済みます。特定のファイルが破損していたり libheif が読めないコーデックのバリアントを使用していたりする場合、そのファイルにエラーが表示され、残りのバッチは処理を続けます。1 枚の不良ファイルで全体の変換が止まることはありません。
iPhone の写真をドロップし、JPG または PNG を選んで変換。すべてタブ内で完結します。アップロード不要、アカウント不要、サーバーの待機なし。