locking 51.5074° N, 0.1278° W
sleuth. last lock
field notes · 01

a photograph remembers where it was

Every JPEG your phone saves is a small lie of omission. The pixels are the photo; everything else — the camera, the timestamp, and often the exact latitude and longitude — is folded into a metadata block most people never see. It's called EXIF, and once you know how to read it, half of "geolocation" becomes unremarkable.

EXIF lives as a set of TIFF structures embedded after the JPEG's start-of-image marker. The main image-file directory (IFD0) holds camera and timestamp; a second, GPS-specific directory holds the coordinates. Each value is stored as a rational — two unsigned integers, numerator over denominator — so a coordinate looks like 51/1, 30/1, 26/100 rather than a clean decimal.

Exif IFD Pointer (0x8769) → IFD0 GPS Info IFD Pointer (0x8825) → GPS IFD GPSLatitude (0x0002) 3 rationals: deg, min, sec GPSLatitudeRef (0x0001) "N" or "S" GPSLongitude (0x0004) 3 rationals: deg, min, sec GPSLongitudeRef (0x0003) "E" or "W" decimal = deg + min/60 + sec/3600

The catch is that the GPS block only survives when nothing strips it. Post to a social network, forward it in a messaging app, or even re-save through some editors, and the block quietly vanishes. That's why a photo straight from your camera roll will often pin instantly, while the same photo pulled from a group chat comes up empty.

We read this in the browser for a reason: the bytes never leave your machine for the GPS step. It's the one part of geolocation that isn't guesswork — it's arithmetic.