手軽屋
ツール一覧

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が無視されることがあります。

Exifを読まないソフトでは、写真本体が横長JPGとして記録されている事実だけが見えるため、「横向き」に見えるわけです。

確実に直す方法——「実体ピクセルを回転」

根本解決は、Exif情報に頼らず画像のピクセル自体を回転して保存し直すこと。本サイトの 画像の回転・反転 ツールがちょうどそれを行います。手順は次のとおり。

  1. /img-rotate/ を開いて、横向きに見えるJPGをドラッグ&ドロップ。
  2. プレビューで写真がどう表示されるか確認(Exifが効くブラウザでは縦表示、効かない場合は横向き)。
  3. 横向きに見える場合は「↻ 右に90°」または「↺ 左に90°」を押して、見た目を縦に直す。
  4. 「JPGで保存」をクリック。新しいJPG(92%品質)がダウンロードされ、これは実体ピクセルが縦になった状態。
  5. 新しい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の扱いが変わります。

一度本ツールで「実体ピクセルを正しい向き」に直しておけば、上記のどの経路でも横向き問題は起きません。

業務での実用ワークフロー

  1. iPhone・Androidで撮影した写真をPCに転送。
  2. 本ツール /img-rotate/ で1枚ずつプレビュー。横向きなら回転、縦なら何もせず保存。
  3. 個人情報(位置情報など)を削除したい場合は Exif削除
  4. ファイルサイズを抑えたい場合は 画像圧縮
  5. Word・PowerPointへ貼り付け、または相手へメール送付。

画像の回転・反転ツール → /img-rotate/

本記事は MDN Web Docs CSS image-orientation、MDN Web Docs CanvasRenderingContext2D.rotate()、MDN HTMLCanvasElement.toBlob() を参照しています。