0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

iPhone の HEIC 写真がアップロードで弾かれるときの JPG 変換手順 — 変換後は向きとサイズも確認する

0
Posted at

応募フォームや課題提出システムに 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(図映)の日本語版で試しました。

  1. HEIC を選ぶと、ネイティブにデコードできない旨の案内と「ロードデコーダ」ボタンが出るので、初回はこれを押します。ダウンロードされるのは libheif ベースの WASM デコーダで、写真そのものは送信されません
  2. 読み込み前は画面下部に「サーバー処理が必要 · HEIC このブラウザではデコードできません」と出ていますが、デコーダの読み込み後は、ブラウザ内で即時処理され元画像はアップロードされない旨の表示に変わります
  3. 出力形式は WebP が選択された状態なので、手動で JPG を選んでから「変換して保存」を押します(一度に選べるのは 1 枚です)

初回に表示される「ロードデコーダ」の案内(赤枠)。サンプル:Wikimedia Commons の iPhone 6 撮影 CC0 写真を macOS の sips で HEIC 化したもの(実機の撮って出しではありません)

手順 4:変換後にサイズと向きを確認する

HEIC から JPG にすると、ファイルが小さくなるとは限りません。

変換完了時の表示。745.1 KB → 1.01 MB(+38%)で、元画像より大きい旨の警告が出ている(赤枠)。同じ CC0 サンプル

出力 品質 サイズ 元との差
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/ から開けます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?