npx skills add ...
npx skills add useosint/osint-skills --skill geolocate-from-pixels
Geolocate and chronolocate a photo or video from visual evidence alone — plate and phone number formats, road markings, utility poles, bollards, signage typefaces, architecture and vegetation for place; shadow direction and length with SunCalc for time and date. Use when asked where or when a picture was taken, to verify a claimed location without GPS or EXIF, or to match a scene against Google Earth, Street View, Yandex Panoramas, Mapillary or KartaView. Applies to GEOINT and conflict monitoring, insurance and claims verification, journalism fact-checking, and evidence review. Reference at useosint.com/skills/geolocate-from-pixels.
npx skills add useosint/osint-skills --skill geolocate-from-pixels
Every photograph taken outdoors contains enough information to place it. The constraint is never the image; it is your patience and your reference knowledge.
The beginner mistake is searching before inventorying. People see a mountain, type "mountain with two peaks" into a search box, and get nothing. The method is the opposite: extract every clue first, rank them by how much of the planet each one eliminates, and only then start searching — because the clue that pins the country is usually not the one your eye went to.
Work down this list. Each row eliminates far more of the world than the one below it, so a single row-one clue is worth twenty row-six clues.
| Tier | Clue | What it buys you |
|---|---|---|
| 1 | Readable proper nouns — business names, street names, municipal logos, school names | Often an instant pin. A business name plus a country is a map query, not an investigation. |
| 1 | Phone numbers on signage and vehicles | Country and frequently city, from prefix and digit-grouping convention. |
| 1 | Language and script, then orthography | Script narrows to a family; specific diacritics, letter forms and spelling conventions narrow to one country and sometimes one region. |
| 2 | Licence plate format — shape, colour, band, character layout | Country, often issuing region. Visible from a long way off, survives compression. |
| 2 | Driving side | Splits the world roughly a third to two thirds. Read it from parked-car steering wheels, not just from traffic. |
| 2 | Road markings — centre-line colour, dash rhythm, edge lines | Yellow versus white centre lines alone cuts most of the world. |
| 3 | Utility pole construction and insulator style | Regionally conservative and rarely changed. One of the most reliable tells in the frame. |
| 3 | Bollards, guardrails, kerb painting, chevron markers | Nationally standardised, nationally distinctive. |
| 3 | Traffic signal mounting, lens arrangement, backboards | Overhead versus pole-side, horizontal versus vertical, extra lenses — all national conventions. |
| 4 | Signage typeface and road-sign standard | Which sign standard a country adopted, and its specific alphabet. |
| 4 | Satellite dish elevation and azimuth | Constrains latitude, and the orbital slot indicates which service region. |
| 5 | Architecture, roofing material, window and balcony conventions, rooftop tanks and heaters | Region and climate band. |
| 5 | Vegetation and biome | Latitude band, climate, hemisphere. Careful: ornamental planting is global. |
| 6 | Terrain and horizon profile | Only useful once you have a candidate region — then it is decisive. |
Every variation and what it implies: reference/regional-indicators.md.
find-the-original-image to read underexposed or small detail.| Source | Reach for it when |
|---|---|
| Google Earth (desktop) | Default satellite work. The historical-imagery timeline is the reason to use the desktop client over the browser: it dates construction, demolition and earthworks. |
| Google Street View | Default street-level, in the countries it covers. Time-machine feature gives you dated captures of the same spot. |
| Yandex Maps and Panoramas | Russia, Belarus, Kazakhstan, Central Asia, the Caucasus, Turkey. Panorama coverage and satellite detail there routinely exceed Google's, and Yandex's imagery is sometimes from a different date, which is useful on its own. |
| Mapillary | Crowdsourced street-level. Covers roads, tracks and countries Street View cars never drove. Often the only street-level imagery for rural areas and much of Africa, South Asia and the Balkans. |
| KartaView | Second crowdsourced street-level set with different contributor geography. Check it when Mapillary is empty. |
| Bing Maps aerial and Streetside | A different capture date and sometimes a better angle. Oblique views help with building heights. |
| Apple Maps | Look Around coverage and high-quality 3D in major cities. |
| Esri World Imagery, with its Wayback archive | Versioned historical basemap imagery — a second, independent historical timeline when Google's is thin. |
| Copernicus/Sentinel browsers | Sentinel-2 optical at ten-metre resolution with a revisit measured in days. Too coarse for a building, ideal for dating a change: a fire scar, a flood, a new dirt road, a filled reservoir. |
| Landsat archive (USGS) | Thirty-metre resolution but a multi-decade record. For "when did this quarry appear". |
| NASA FIRMS | Thermal anomaly detections with timestamps. Dates fires, flares and large explosions to within hours. |
| Declassified historical imagery via USGS EarthExplorer | Pre-satellite-era-commercial coverage for very old questions. |
| National and municipal orthophoto portals | Frequently far higher resolution than any global provider, and dated. Search for the country's cadastral or survey agency viewer. |
| OpenStreetMap plus Overpass | Query by feature type rather than browsing. Also the only source for many footpaths, power lines and small structures. |
| Panorama generators from elevation models | Synthesises the horizon as seen from a given coordinate and bearing, for ridgeline matching. |
is-this-photo-real.Always report a radius with a coordinate. A bare six-decimal coordinate implies sub-metre certainty you do not have.
An image is circulated as an attack on a fuel depot "in country A". No metadata.
Inventory: white centre line, right-hand traffic, concrete utility poles with a single horizontal crossarm and stubby brown insulators, a warning sign in a Latin script with a diacritic that does not exist in country A's language, one shop sign partly legible, low scrubby vegetation, bare deciduous trees, snow patches in shadowed ground only, a mountain ridge on the left horizon.
The diacritic already contradicts the claim — that is the finding that matters. Script and orthography narrow to two neighbouring countries. The pole and insulator style matches one of them.
The shop sign OCRs to a fragment. Searching the fragment as a business name gives a chain with outlets in one province. Overpass query for fuel depots within that province returns eleven candidates.
First candidate looks right in satellite view — same tank count. Killed by the falsification test: the access road approaches from the wrong side and the ridge would be behind the camera. Dead end, and a good one, because it was cheap.
Fourth candidate matches on tank arrangement, the perimeter fence corner, and the ridgeline profile generated from elevation data for that viewpoint. Street-level crowdsourced imagery from a nearby road shows the same pole line.
Chronolocation: shadow azimuth and a shadow-length ratio off the fence post give mid-morning and a solar elevation consistent with two date bands. Snow in shade only, plus bare deciduous trees, selects the late-winter band over the early-autumn one. A weather archive for the nearest station shows precipitation days earlier and clear skies that morning, consistent.
Result: location confirmed, 100 m radius, in country B not country A. Date probable to a two-week window. Time of day probable, mid-morning local.
| What you got | Send to |
|---|---|
| Coordinates and radius | where-was-this-taken, write-the-intel-brief |
| Business name, chain, municipal body | x-ray-a-company, who-really-owns-it |
| Phone number from signage | whose-number-is-this |
| Company website on a sign or vehicle | who-owns-this-domain, recon-a-domain-passively |
| Named individuals visible or credited | find-anyone |
| Suspected composite or generated scene | is-this-photo-real |
| Need for earlier copies to date the scene | find-the-original-image, read-deleted-pages |
| Aircraft or vessel identifiable in frame | track-planes-and-ships |
| Multiple locations to relate to one another | graph-the-network |
Reading public imagery and public map data is passive and lawful. Two limits are real. First, geolocating a private individual's home, school or routine from their own posted photographs is the core mechanic of stalking, and the fact that the technique is impressive does not make the output legitimate; do it for missing-persons work, authorized investigation, threat assessment, or to show someone their own exposure, and not otherwise. Publish a rounded location or a region rather than a doorstep coordinate. Second, in conflict work, publishing a precise location can endanger the people in the frame or make them a target. Both of these are judgement calls you must make explicitly and record. See ../../ETHICS.md.