応募フォームや課題提出システムに iPhone の写真をアップロードしようとして「対応していないファイル形式です」と表示される、あるいはアップロードは完了したのにプレビューが表示されない、というケースはよくあります。多くの場合、写真の形式が HEIC であることが原因です。この記事では、HEIC かどうかの確認から JPG への変換、変換後に確認すべき点までを手順としてまとめます。変換まわりの数値は、公開サンプル 1 枚で実際に試した結果です。
前提:検証に使ったサンプルと環境
- 元画像:Wikimedia Commons の CC0 写真(iPhone 6 で撮影、3264×2448)
- HEIC 化:macOS 26.5 標準の
sipsで変換し、EXIF の向きを縦(6)にしたもの(745.1 KB)。iPhone で直接撮影したファイルではありません - ブラウザ:Playwright 同梱の Chromium 149 / Firefox 151 / WebKit 26.5(macOS 上)
HDR やライブフォトなど、iPhone の実機写真にしかない要素はこのサンプルに含まれていないため、本記事では扱いません。
手順 1:HEIC かどうかを確認する
HEIC は iOS 11 以降の iPhone で標準になっている写真形式で、JPEG より少ない容量で同程度の画質を保存できます。拡張子が .heic / .HEIC なら該当します。Windows では拡張子が既定で非表示なので、エクスプローラーの「表示」から「ファイル名拡張子」をオンにしてください。Mac では「情報を見る」の種類が「HEIF イメージ」になっています。
なお Apple のサポート文書によると、iPhone から Mac や PC に取り込む際に JPEG へ自動変換されることがあり、「設定 › アプリ › 写真」の「Mac または PC に転送」で「元のフォーマットのまま」を選ぶと変換されません。同じ iPhone の写真でも、アップロードできる人とできない人がいるのはこのためです。
手順 2:なぜ開けないのかを把握する
画像を表示するには、その形式のデコーダが必要です。iOS と macOS には HEIC のデコーダが組み込まれていますが、Windows では Microsoft の案内どおり「HEIF 画像拡張機能」と「HEVC ビデオ拡張機能」の両方が必要で、HEVC のほうは有料の場合があります。
ブラウザについては上記サンプルで確認しました。<img> での表示は Chromium 149 と Firefox 151 で失敗し、WebKit 26.5 のみ成功(2448×3264、向きも正しい)でした。WebKit が表示できるのは macOS のシステムデコーダを使っているためで、実際の Safari・Windows・スマートフォンでは未検証です。Chromium 系ブラウザでプレビューを生成するフォームであれば、この段階で処理できないことになります。
手順 3:JPG に変換する
Mac の場合は「プレビュー」で開き「ファイル › 書き出す」で JPEG を選ぶか、ターミナルで sips -s format jpeg x.heic --out out/ を実行します(複数ファイルをまとめて変換できます)。
Mac がない場合は、ブラウザ内で変換するツールが使えます。ここでは imging(図映)の日本語版で試しました。
- HEIC を選ぶと、ネイティブにデコードできない旨の案内と「ロードデコーダ」ボタンが出るので、初回はこれを押します。ダウンロードされるのは libheif ベースの WASM デコーダで、写真そのものは送信されません
- 読み込み前は画面下部に「サーバー処理が必要 · HEIC このブラウザではデコードできません」と出ていますが、デコーダの読み込み後は、ブラウザ内で即時処理され元画像はアップロードされない旨の表示に変わります
- 出力形式は WebP が選択された状態なので、手動で JPG を選んでから「変換して保存」を押します(一度に選べるのは 1 枚です)
手順 4:変換後にサイズと向きを確認する
HEIC から JPG にすると、ファイルが小さくなるとは限りません。
| 出力 | 品質 | サイズ | 元との差 |
|---|---|---|---|
| JPG | 88(既定) | 1.01 MB | +38% |
| JPG | 80 | 742.2 KB | ほぼ変わらず |
| WebP | 84(既定) | 423.2 KB | 43% 減 |
同じ写真を 4032×3024 に拡大した版(840.1 KB)では、JPG 品質 88 で 1.32 MB(+61%)、品質 80 で 982.9 KB(+17%)でした。アップロード先に「1 MB まで」などの制限がある場合は、品質を 80 前後に下げると収まりやすくなります。WebP は小さいのですが、受け付けないフォームも多いので注意してください。
向きについては、imging の出力 JPG は画素が 2448×3264 に回転済みで、EXIF の Orientation は 1 でした。一方 sips の出力は画素が 3264×2448 の横向きのまま Orientation = 6 が付いており、ビューアが EXIF を読んで縦に表示する形です。EXIF の向きを無視するシステムでは横倒しになる可能性がありますが、個別のシステムでは確認できていないため、アップロード前にファイルを開いて目視確認するようにしています。
今後 HEIC で撮らないようにする設定
「設定 › カメラ › フォーマット」で「互換性優先」を選ぶと、Apple の説明どおり以降に撮影する写真は JPEG、ビデオは H.264 で保存されます。すでに撮影済みの写真は HEIC のままなので、それらは手順 3 で変換が必要です。
変換に使ったツールは https://imging.ai/ から開けます。

