iPhone写真がPCで横向きになる——Exif回転情報を確実に直す
スマホで縦向きに撮ったはずの写真が、PCに送ったら横向きになっていた——よくある現象ですが、原因は画像が壊れたわけではなく、画像本体ではなく付帯情報(Exif)に「向き」が記録されているためです。仕組みと、確実に直すための実践手順を整理します。
なぜスマホ写真は横向きで保存されるのか
iPhone・Androidの内蔵カメラは、端末を縦に持っても横に持っても、センサー側はいつも同じ向きでピクセルを記録します。つまりJPGの中身は常に「横長」で、その上に「撮影時、端末はどの向きだったか」というExif情報(Orientationタグ)を貼り付ける、という仕組みです。
ExifのOrientation値は1〜8の8パターンで、たとえば「1=正立」「6=時計回りに90度回転して表示」「3=180度回転」など、画像をどう向けて表示すべきかを指示しています。iPhoneで縦に撮った写真は、内部的には横長JPG+「6(時計回りに90度回して見せて)」というメタデータ、というセットです。
Exifを「読むソフト」と「読まないソフト」
MDN Web Docsの「image-orientation」CSSプロパティの解説によると、現代のブラウザは初期値from-imageでExifの回転情報を尊重します。つまりWebブラウザは正しく縦に表示します。一方、以下のような場面ではExifが無視されることがあります。
- ・Windowsの古い「フォト」ビューワーや一部のサードパーティ画像ビューワー
- ・PowerPoint・Wordへの貼り付け時(バージョンによる)
- ・古いブラウザや、Exif削除されたサーバ経由の画像
- ・自作スクリプトでcanvasに描画する場合(Orientationを別途処理しない限り横倒し)
- ・印刷用ソフト・古い画像編集ソフト
Exifを読まないソフトでは、写真本体が横長JPGとして記録されている事実だけが見えるため、「横向き」に見えるわけです。
確実に直す方法——「実体ピクセルを回転」
根本解決は、Exif情報に頼らず画像のピクセル自体を回転して保存し直すこと。本サイトの 画像の回転・反転 ツールがちょうどそれを行います。手順は次のとおり。
- /img-rotate/ を開いて、横向きに見えるJPGをドラッグ&ドロップ。
- プレビューで写真がどう表示されるか確認(Exifが効くブラウザでは縦表示、効かない場合は横向き)。
- 横向きに見える場合は「↻ 右に90°」または「↺ 左に90°」を押して、見た目を縦に直す。
- 「JPGで保存」をクリック。新しいJPG(92%品質)がダウンロードされ、これは実体ピクセルが縦になった状態。
- 新しいJPGはExif対応・非対応どのソフトでも縦表示される。
本ツールはCanvasに描き直して保存するため、保存後の画像からはExif情報自体が消えます。Orientationタグも消えるので、回転後にExif対応ソフトが「Orientation=1(正立)」として扱い、二重回転されることもありません。
気をつけたい落とし穴
Exif対応のブラウザで「縦に見える」状態のまま回転ボタンを押すと、すでに正しい縦に対してさらに90度回転をかけてしまい、結果として横倒しのJPGができてしまいます。本ツールはMDN Web Docs仕様のimage-orientation: from-imageに従ってExifを尊重して表示するため、プレビューで縦に見えるなら「すでに正しい」。何もせずに「JPGで保存」だけ押せば、実体ピクセルが縦になったJPGとして書き出されます。
要点は「プレビューと同じ向きで保存される」と覚えておくこと。プレビューが横ならボタンで縦に直してから保存、プレビューがすでに縦なら何もせず保存——これだけです。
メール・LINE・Cloud経由の挙動の違い
スマホからメール・LINE・Slack・Google Drive・iCloud経由で写真を共有すると、サービスごとにExifの扱いが変わります。
- ・iMessage / AirDrop:Exifも実体ピクセルもそのまま転送。
- ・LINE:自動圧縮で画質が落ちる代わりにExifが消えることがある。受け取り側で横向きになる場合あり。
- ・Gmail添付:基本的にExifも含めてそのまま転送。受け取り側のソフトが非対応だと横向きに。
- ・Slack:プレビューはExifを尊重するが、ダウンロードした実ファイルはそのまま(横長)。
- ・Google Drive:プレビューはExifを尊重、ダウンロードはそのまま。
- ・iCloud写真ストリーム経由でMac受信:Exifを尊重するため縦表示。
一度本ツールで「実体ピクセルを正しい向き」に直しておけば、上記のどの経路でも横向き問題は起きません。
業務での実用ワークフロー
- iPhone・Androidで撮影した写真をPCに転送。
- 本ツール /img-rotate/ で1枚ずつプレビュー。横向きなら回転、縦なら何もせず保存。
- 個人情報(位置情報など)を削除したい場合は Exif削除。
- ファイルサイズを抑えたい場合は 画像圧縮。
- Word・PowerPointへ貼り付け、または相手へメール送付。
画像の回転・反転ツール → /img-rotate/
本記事は MDN Web Docs CSS image-orientation、MDN Web Docs CanvasRenderingContext2D.rotate()、MDN HTMLCanvasElement.toBlob() を参照しています。