iPhoneの写真がSNSで使えない?HEIC形式の問題と変換方法
「iPhoneで撮った写真をWindowsで開こうとしたら開けなかった」「SNSにアップしようとしたらエラーになった」 ──こういったトラブルの原因のほとんどは、iPhoneが採用しているHEIC形式にあります。 この記事ではHEICとは何か、なぜ問題が起きるのか、そしてJPEGへの変換方法を解説します。
正直に言うと、私自身、画像リサイズツール(SizeKit)にHEIC変換機能を実装するまで、HEICという形式をほとんど意識していませんでした。 iPhoneで撮って、そのままSNSに上げて、特に困ったことがなかったからです。 でも、いざ自分のツールで「HEICファイルを受け取って変換する」処理を書こうとした瞬間に、 「なぜ普段は誰も困らないのに、ある日突然このファイルが厄介者になるのか」がはっきり見えてきました。 この記事は、その「普段は平気なのに、特定の瞬間だけハマる」という構造を、開発者目線でできるだけ具体的に解きほぐしていきます。
HEICとは何か
HEIC(High Efficiency Image Container)は、Apple が iOS 11(2017年)から導入した画像形式です。 HEIF(High Efficiency Image Format)という規格をベースに、Appleが採用したコンテナ形式で、 拡張子は .heic になります。
HEICの特徴
- JPEGと同等の画質でファイルサイズが約半分
- 透過(アルファチャンネル)に対応
- 複数の画像を1ファイルにまとめられる(Live Photos等)
- 16ビットカラーに対応(JPEGは8ビット)
- Apple製品間での共有・保存には最適
なぜ普段はHEICで困らないのか
「HEICが互換性で問題になる」と聞くと、「じゃあ毎日トラブルだらけのはずでは?」と思うかもしれません。 でも実際には、iPhoneユーザーの多くがHEICという言葉すら知らないまま、何年も問題なく写真を使えています。 これには明確な理由があります。主要なサービスが、裏側で勝手にJPEGへ変換してくれているからです。
普段、HEICが見えない理由
- X・Instagram・LINEは、アップロード時にサーバー側でJPEGへ自動変換している
- iCloud写真は、Apple以外の環境へ渡すときに互換形式へ変換するオプションが標準で効く
- AirDropやiPhone同士のやり取りでは、そもそも全員がHEICを開けるので問題が起きない
- iPhoneの画面上では拡張子が見えないため、HEICを使っている自覚が生まれない
つまり、ほとんどの人は「Appleと主要SNSが用意した自動変換の安全圏」の中だけで写真を扱っているので、HEICの存在に気づかずに済んでいるのです。 問題が起きるのは、この安全圏から一歩外に出た瞬間──写真の元ファイルそのものを、Apple以外の環境に直接持ち込んだときだけ、と言い換えられます。
安全圏の外:HEICが突然ハマる瞬間
HEICが優れた形式であることは間違いないのですが、Apple以外の環境では互換性の問題が発生します。
⚠ Windowsで開けない
Windows標準の「フォト」アプリはHEICに対応していません。Microsoft StoreからHEICコーデックをインストールすれば開けるようになりますが、多くの人が「開けない」と気づいていません。
⚠ SNSやWebサービスでエラーになる
X(旧Twitter)・Instagram・LINEなど多くのサービスはHEICをJPEGに自動変換しますが、古いシステムや対応していないサービスではアップロードエラーになることがあります。
⚠ メールやチャットで届いた相手が開けない
AndroidユーザーやWindowsユーザーにHEICファイルを送ると、相手側で開けないケースがあります。特にビジネスシーンでは注意が必要です。
⚠ 画像編集ソフトが対応していない
古いバージョンのPhotoshopやLightroomではHEICを開けないことがあります。プラグインで対応できる場合もありますが、手間がかかります。
主要SNSのHEIC対応状況
多くのSNSはHEICのアップロードを受け入れて内部でJPEGに変換しますが、 その変換品質はサービスによって異なります。最初からJPEGで投稿するほうが画質が安定します。
| SNS | HEIC対応 | 備考 |
|---|---|---|
| X(旧Twitter) | △ 自動変換 | 内部でJPEG変換。画質低下あり |
| △ 自動変換 | 変換されるが画質はJPEG直接より劣る場合あり | |
| LINE | △ 自動変換 | トーク内では表示可。転送時に問題あり |
| ◯ 対応 | HEICをそのまま受け付ける | |
| note | ✕ 非対応 | JPEGかPNGに変換してからアップロードが必要 |
HEICをJPEGに変換する方法
方法1:iPhone側でJPEGに設定する(根本解決)
最も確実な方法は、カメラの撮影形式をJPEGに変更することです。
- 「設定」アプリを開く
- 「カメラ」→「フォーマット」を開く
- 「互換性優先」を選択(JPEGで保存されるようになる)
※「高効率」はHEIC、「互換性優先」はJPEGで保存されます。ストレージは多少増えますが互換性が上がります。
方法2:AirDropやメールで送るときに自動変換
「設定」→「写真」→「転送」を「自動」にしておくと、 Apple以外の端末に送信するときに自動でJPEGに変換されます。
- 「設定」アプリを開く
- 「写真」→「MACまたはPCに転送」を開く
- 「自動」を選択
方法3:SizeKit でブラウザ変換(手持ちのHEICファイルを変換)
すでにHEICで保存された写真をJPEGに変換したい場合は、SizeKitが使えます。 ブラウザだけで完結するのでインストール不要、画像がサーバーに送信されることもありません。 HEIC/HEIFファイルをドラッグ&ドロップするだけでJPEGやWebPに変換できます。
SizeKitにHEIC変換を入れて気づいたこと
SizeKitにHEIC対応を実装したとき、私が一番意外だったのは「HEICはブラウザがそのまま表示できない」という点でした。 JPEGやPNGなら <img> タグに渡すだけで表示できますが、 HEICは多くのブラウザ(特にChrome・Firefox・Windows版)がデコードに対応していないため、 画面に出す前にいったんJPEGやPNGへデコードする処理を挟む必要がありました。
この「ブラウザがHEICを開けない」という事実は、そのまま一般のユーザーがつまずくポイントと重なります。 Windowsの「フォト」が開けないのも、note のような投稿サービスが弾くのも、根っこは同じ ──受け取った側がHEICをデコードできないから、なのです。
実装してわかった実用上のポイント
- HEICのデコードは処理が重いため、SizeKitでは変換ライブラリを必要なときだけ読み込む形にしている
- 変換後はJPEG・PNG・WebPのいずれにも書き出せる。SNS用ならJPEG、Web掲載ならWebPが扱いやすい
- すべてブラウザ内(端末上)で処理しているので、写真がサーバーに送られることはない
※ プライバシー観点での詳しい話はスクリーンショットとプライバシーの記事でも触れています。
よくある質問
Q. HEICとHEIFの違いは?
HEIFは規格の名前(High Efficiency Image Format)、HEICはAppleがHEIFベースで作ったコンテナ形式です。実質的に同じものと考えて問題ありません。拡張子は .heic または .heif になります。
Q. HEICをJPEGに変換すると画質は落ちる?
変換自体で大きく画質が落ちることはありませんが、JPEGは非可逆圧縮のため理論上は若干の劣化があります。品質90〜95%で変換すれば実用上は問題ありません。
Q. Androidで撮った写真はHEICにならない?
AndroidはデフォルトでJPEGまたはWebPを使用するため、HEIC形式にはなりません。一部の高性能Androidカメラアプリで設定できる場合はありますが、デフォルトでは採用されていません。
Q. MacではHEICをそのまま開ける?
macOS High Sierra(10.13)以降なら標準の「プレビュー」アプリでHEICを開けます。また、iPhone→Macへの転送時はiCloudを使えば自動的に対応します。
Q. 「互換性優先」に設定すると今までのHEIC写真も変わる?
いいえ。この設定は「これから撮る写真」の保存形式を変えるだけで、すでにHEICで保存済みの写真は変換されません。過去の写真をJPEGにしたい場合は、SizeKitのような変換ツールを使うか、Apple以外の端末へ転送する際の自動変換を利用してください。
Q. HEICのままのほうがストレージは節約できる?
はい。HEICは同じ画質ならJPEGより約半分のサイズなので、iPhone内に大量の写真を保管するなら「高効率(HEIC)」のほうが容量を節約できます。普段はHEICで保存し、外部に渡すときだけJPEGに変換する、という使い分けが合理的です。
Q. ブラウザでHEICが表示されないのはなぜ?
Chrome・Firefox・Windows版Edgeなど多くのブラウザはHEICのデコードに対応していないためです。SafariはHEICを表示できますが、これはApple製だからです。Webに載せる画像としてHEICは不向きで、JPEG・PNG・WebPのいずれかに変換しておく必要があります。
まとめ
HEICはApple製品内で使う分には優秀な形式ですが、外部との共有やSNS投稿を想定するならJPEGに変換しておくのが無難です。 根本的に解決したい場合はiPhoneのカメラ設定を「互換性優先」に変更するのが一番手軽。 すでにHEICで保存された写真を変換したい場合は、SizeKitのブラウザ変換機能をお試しください。
HEIC → JPEG をブラウザで変換
インストール不要・サーバー送信なし。HEIC/HEIFファイルをドラッグ&ドロップするだけで変換できます。
ツールを使う →こばやん
東京在住のエンジニア・個人開発者。SizeKit 開発者。 プロフィール · Stellars Lab