How to exif map previewer — frequently asked questions
- Step 1Drop a JPEG or TIFF — These are the formats
piexifjsparses for EXIF GPS. HEIC, PNG, and WebP will not return coordinates here — convert a HEIC to JPEG first. One file at a time; free tier allows up to 10 MB. - Step 2Wait for the local EXIF parse — The tool reads the GPS IFD and converts the degrees/minutes/seconds rationals to decimal degrees in your browser. No bytes are uploaded. The result is
{hasGps, lat, lon}. - Step 3Read the marker or the no-GPS notice — If GPS is present, a Leaflet/OpenStreetMap map renders at zoom 13 with a marker; the popup shows the coordinates to five decimals. If not, you see No GPS data found in EXIF with the note that the photo was either never geotagged or already stripped.
- Step 4Interpret the result — A pin means the file is carrying that location to anyone you send it to. No GPS means there is nothing to leak — either by intent (Location Services off) or because a platform stripped it.
- Step 5Remove the location if it is sensitive — If the pin lands somewhere you do not want public, run the photo through the EXIF Scrubber to strip the GPS, then drop the clean copy back here to confirm it now reports no GPS.
- Step 6Vet the file if something looks off — If a 'JPEG' refuses to parse, confirm its real type with the Magic-Byte Validator — a renamed or corrupt file can present as the wrong format.
Quick-answer reference
The most-asked questions distilled to one line each.
| Question | Short answer |
|---|---|
| Which formats can it read? | JPEG and TIFF (via piexifjs); not HEIC/PNG/WebP |
| What does it return? | A latitude/longitude map pin — {hasGps, lat, lon} |
| Altitude / direction / time? | No — only latitude and longitude are decoded |
| Does my photo upload? | No — parsing and rendering are 100% in your browser |
| What does OpenStreetMap see? | Tile requests for the map area, never your file |
| How many photos at once? | One; single marker, no batch |
| Free file-size limit? | 10 MB (Pro 100 MB / Pro-media 500 MB / Developer 2 GB) |
| How do I remove the GPS? | EXIF Scrubber, then re-check here |
Why a photo shows 'No GPS data found in EXIF'
The four common causes and what each tells you.
| Cause | What it means | Can you recover the location? |
|---|---|---|
| Location Services off for Camera | The file was never geotagged | No — it was never written |
| Downloaded from a social platform | EXIF stripped on upload (IG/X/WhatsApp/FB) | Only from the original camera file |
| It is a screenshot | Screenshots have no camera EXIF | No — audit the real photo instead |
| Already scrubbed | GPS was deliberately removed | No — and that is the goal |
Cookbook
Common situations and the exact result you should expect. Coordinates are landmarks, not real personal locations.
A geotagged iPhone photo
The default case for an unedited camera original from a phone with Location Services on.
Input: IMG_3310.JPG (exported as unmodified original)
Result:
{
"hasGps": true,
"lat": 37.81990,
"lon": -122.47830
}
Map: marker at zoom 13; popup reads 37.81990, -122.47830.A photo saved from Twitter/X
Social platforms strip EXIF, so the expected result is no GPS regardless of the original.
Input: twitter_download.jpg
Result:
{ "hasGps": false }
UI: "No GPS data found in EXIF.
Either this photo was never geotagged, or GPS was
already stripped."A HEIC straight off a new iPhone
HEIC is not parsed here. Convert to JPEG first, then preview the JPEG.
Input: IMG_4501.HEIC
Result: not parsed by piexifjs's JPEG/TIFF path ->
"No GPS data found in EXIF"
Fix: convert HEIC -> JPEG, then drop the .jpg here.The before/after privacy check
Confirm the EXIF Scrubber actually removed the location by previewing both versions.
Before: preview original -> hasGps: true, marker Scrub: /image-tools/exif-scrubber -> clean copy After: preview clean copy -> "No GPS data found in EXIF" If 'after' still shows a marker, you scrubbed the wrong file.
A 'JPEG' that won't parse
When a file claims to be a JPEG but yields nothing, check its true type — it may be renamed or corrupt.
Input: photo.jpg -> "No GPS data found in EXIF" (unexpected) Check: /security-tools/magic-byte-validator Detected: .png (image/png) Claimed: .jpg -> Extension does not match magic bytes The file is actually a PNG renamed to .jpg; that's why the JPEG EXIF path found nothing.
Edge cases and what actually happens
Photo reports no GPS
By design (often)No GPS means the file is carrying no location — because it was taken with Location Services off, downloaded from a platform that stripped EXIF, is a screenshot, or was already scrubbed. The tool shows No GPS data found in EXIF with that note. This is the desired state if your goal is a clean photo.
HEIC, PNG, or WebP file
Unsupported formatThe previewer parses JPEG and TIFF via piexifjs. HEIC, PNG, and WebP will not return coordinates. Convert a HEIC to JPEG (without re-geotagging) and preview the JPEG; PNG/WebP typically have no camera GPS to read anyway.
Expecting altitude, compass direction, or capture time
Not providedThe tool returns only latitude and longitude ({hasGps, lat, lon}). It does not decode GPS altitude, bearing/direction, or the GPS timestamp. If you need those, use a full EXIF-reader tool — this one is purpose-built for plotting a location.
Wanting to read coordinates without loading the map
Not availableWhen GPS is present the Leaflet/OpenStreetMap map renders and the coordinates appear in the marker popup; there is no map-free coordinate-only mode. The tile requests reveal only the map area to OpenStreetMap, never your file.
File exceeds the size limit
413 rejectedFree tier caps a single image at 10 MB. Larger TIFFs/panoramas are rejected before parsing. Most camera JPEGs are well under the cap; upgrade to Pro (100 MB), Pro-media (500 MB), or Developer (2 GB) for oversized files.
Map tiles do not appear
Tiles blockedThe basemap needs OpenStreetMap's tile CDN. On a network that blocks third-party tiles, the marker may sit on a blank canvas. The EXIF parse and coordinate decode still ran locally — only the visual basemap is missing.
Coordinates look wrong or land in the ocean
Check the sourceA pin near 0,0 usually means a zeroed/corrupt GPS field rather than a real null-island photo, and coordinates can be deliberately faked. The tool faithfully reports the stored bytes; treat surprising results as a prompt to verify against the image content.
Trying to preview multiple photos together
Single-fileThe previewer handles one photo at a time and shows one marker. There is no batch upload or multi-pin view. Preview each file individually; for bulk geotag review you would need a dedicated desktop OSINT/photo tool.
Frequently asked questions
Does my photo get uploaded?
No. EXIF parsing (via piexifjs) and map rendering (via Leaflet) happen entirely in your browser. The only network traffic is OpenStreetMap fetching map tiles for the area around the coordinates — your photo's bytes are never transmitted.
Which file formats are supported?
JPEG and TIFF, because the tool uses piexifjs. HEIC, PNG, and WebP will not return GPS. For a HEIC photo from a recent iPhone, convert it to JPEG first and then preview the JPEG.
Why does my photo show 'No GPS data found in EXIF'?
Usually one of four reasons: Location Services were off for the Camera; the file was downloaded from a platform that strips EXIF (Instagram, X, WhatsApp, Facebook); it is a screenshot, which never had camera EXIF; or the GPS was already removed by a scrubber. If you just scrubbed it, that message is exactly what you want.
Does my iPhone embed GPS by default?
Yes — iOS writes GPS into camera photos unless you turn it off in Settings → Privacy & Security → Location Services → Camera → Never. Until then, every camera photo carries your location, which is what this previewer reveals.
What does OpenStreetMap receive when the map loads?
HTTPS requests for 256×256 map tiles at specific zoom/x/y coordinates, which imply the map area being viewed. OSM's tile servers do not receive your file, your account, or a stored record of your exact pin — only the tile-grid coordinates needed to draw the basemap.
Does it show altitude or the time the photo was taken?
No. The tool decodes latitude and longitude only and returns {hasGps, lat, lon}. Altitude, GPS direction/bearing, and the GPS timestamp are not parsed. It answers one question — where on a map — and nothing else.
Can I view multiple photos' locations at once?
No. The previewer shows one photo and one marker at a time; there is no batch or multi-pin mode. Preview each photo individually. For bulk geotag mapping you would need a dedicated desktop tool.
How precise is the pin?
The map opens at zoom 13 (neighbourhood scale), but the underlying coordinates are full precision and the marker popup shows them to five decimal places — roughly metre-level. Assume the location is precise enough to identify a specific building.
It found my location — how do I remove it?
Run the photo through the EXIF Scrubber, which strips the GPS (and other metadata) and gives you a clean copy. Then drop that copy back into this previewer to confirm it now reports no GPS before you share it.
Why won't my 'JPEG' parse?
It may not actually be a JPEG. Files get renamed or corrupted; a PNG saved as .jpg will not yield JPEG EXIF. Check the real type with the Magic-Byte Validator — if the detected type does not match the extension, that is your answer.
Is there a file-size limit?
Yes — the Security family's free tier caps a single image at 10 MB. Pro raises it to 100 MB, Pro-media to 500 MB, and Developer to 2 GB. Nearly all camera JPEGs fit comfortably within the free 10 MB.
Can GPS coordinates be faked?
Yes. EXIF GPS is editable, and the tool reports what is stored, not whether it is true. If a location looks surprising, corroborate it against the visible content of the image rather than trusting the metadata alone. For the byte-level details, see how EXIF GPS coordinates are stored.
Privacy first
Every JAD Security operation runs entirely in your browser. Files, passwords, and PGP private keys never leave your device — verified by zero outbound network requests during processing.