リファレンス

EXIFデータとは何か

EXIFは、カメラがすべての写真に書き込む構造化データの塊です。大半は一生使いません。実際に役立つのはごく一部——その意味をまとめました。

EXIFの由来

EXIFはExchangeable Image File Formatの略で、1995年に標準化されました。デジタルカメラが撮影条件を、どのプログラムでも読み戻せる形で記録するためです。その後も拡張が重ねられたため、どの携帯電話も測定したことのない項目まで含まれています。

実務上の帰結として、EXIFは大きくて疎らな入れ物です。数百の枠があり、埋まるのは数十。空の枠はエラーではありません。

重要な項目

いつ撮影されたか

項目意味
DateTimeOriginalシャッターが切られた瞬間。一般に言う「日付」はこれです。
DateTimeDigitized画像が保存された時刻。スマートフォンでは実質同じです。
OffsetTimeOriginalタイムゾーンのオフセット(例:−04:00)。これがないと時刻は曖昧です。
SubsecTimeOriginal秒未満の値。連写の順序付けに使われます。

どこで撮影されたか

項目意味
GPSLatitude / GPSLongitude度・分・秒で記録された座標。N/SとE/Wは別項目です。
GPSAltitude海抜高度(メートル)。上下を示す参照バイト付き。
GPSImgDirectionカメラが向いていた方位。どの面を撮ったかを知るのに有用です。
GPSHPositioningError端末自身による精度の見積もり(メートル)。読まれることは少ないが価値があります。
GPSDateStamp / GPSTimeStamp衛星由来のUTC時刻。端末の時計とは独立しています。

最後の組は知っておく価値があります。GPS時刻は端末の時計ではなく衛星から来るため、時刻設定が狂った端末に対する照合材料になります。

何で撮影されたか

項目意味
Make / Modelメーカーと機種(例:Apple / iPhone 16 Pro)。
LensModel複数カメラのどのレンズか。焦点距離と開放F値も含みます。
Softwareファイルを書いたOSまたはアプリのバージョン。編集すると変わります。

どう露出されたか

項目意味
FNumber絞り値。多くのスマートフォンレンズでは固定です。
ExposureTimeシャッター速度(秒)。通常は分数で表されます。
ISOSpeedRatingsセンサー感度。配列として保存されるため、表示が崩れることがあります。
FocalLength実際の焦点距離(ミリメートル)。
FocalLenIn35mmFilm35mm換算値。多くの人が感覚をつかめる数字です。
Flashフラッシュが発光したか、その理由を表すビットフィールド。

あると思われがちで、ない項目

ソフトを入れずに読む方法

iPhone

「写真」で画像を開いて上にスワイプします。撮影日、座標があれば地図、そしてレンズ・絞り・シャッター・ISO・寸法を含むカメラ行が表示されます。必要な項目のほとんどはこれで足ります。

Mac

プレビュー ▸ ツール ▸ インスペクタを表示 から ⓘ タブへ。EXIFとGPSのサブタブに、「写真」が見せない項目も含めた生の値が並びます。

まとめて見る

Metadata Engraverは見つかった項目をすべて一覧し、任意の項目を画像に描画できます。役に立つのは後者です。インスペクタで読める項目は共有した瞬間に消えますが、画像に描き込まれた項目は消えません。

EXIFが脆い理由

2つの性質が、EXIFを見た目より頼りないものにしています。

簡単に失われる。画像を再エンコードする処理は、塊ごと破棄しうります。SNSへの投稿、メッセージアプリ、一部の編集ソフトがそうです。どの経路が何を削除するかは写真から位置情報が消える理由にまとめました。

簡単に変えられる。EXIFは単純なデータ構造です。無料のツールが数秒で任意の項目を、日付や座標も含めて書き換えます。メタデータを証拠として扱うなら決定的に重要です——タイムスタンプが何を証明するかを参照してください。

だからといって無価値ではありません。カメラが「そう信じた」内容を記録する便利な仕組み——たいてい正しく、ときどき大きく外れます。

よくある質問

すべての写真にEXIFはありますか?

カメラやスマートフォンで撮った写真にはほぼあります。スクリーンショット、ソフトが生成した画像、削除するサービスを経たファイルにはほとんどない場合があります。EXIFがない写真は壊れているのではなく、記録されなかっただけです。

ISOは本当に配列で保存されるのですか?

はい。ISOSpeedRatingsは配列として定義されています(複数値を報告するカメラがあるため)。最初の要素を取り出さずに表示するソフトでは ISO: ( 46 ) のように出ます。これは表示上の不具合で、データが変なわけではありません。

あわせて読みたい