Extract GPS Location from Video Metadata

Paste an MP4/MOV video's bytes (base64 or hex) and read the embedded GPS location — latitude, longitude, altitude, and a map link. Reads the QuickTime ©xyz atom and Apple's ISO 6709 location key. Runs entirely in your browser, no upload, no sign-up.

Try:
GPS report

About this tool

Video GPS Metadata Extractor reads the GPS location that phones and cameras embed in an MP4 or MOV video's metadata and turns it into plain coordinates you can use: latitude, longitude, altitude (when present), and a ready-made map link. It parses the container's box tree directly in pure Rust — there is no ffmpeg, no external service, and nothing is uploaded. Everything runs locally in your browser as WebAssembly.

Two metadata layouts carry a video's location, and this tool reads both:

Because only the metadata region matters, you don't have to paste the whole file. A truncated head that reaches the moov box is enough — useful for large videos.

How to get the bytes

The page takes the file's bytes as base64 or hex, so you never upload the video itself. A quick way to produce them from a terminal:

# base64 of the first 256 KB (usually reaches moov on phone videos)
head -c 262144 clip.mov | base64

# or hex of the same head
head -c 262144 clip.mov | xxd -p

Paste the result, choose the matching Input encoding, and read the report.

Worked example

Paste the base64 of a San Francisco iPhone clip and you get:

GPS location found: 1

#1  ©xyz (udta)
  ISO 6709    +37.7749-122.4194
  Latitude    37.7749
  Longitude   -122.4194
  Map         https://www.openstreetmap.org/?mlat=37.7749&mlon=-122.4194#map=15/37.7749/-122.4194

Switch Output to JSON for a structured object with count and a locations array (each entry has source, iso6709, latitude, longitude, optional altitude, and map_url) — handy for scripting or feeding another tool.

Options

Limits

FAQ

Is my video uploaded anywhere?

No. The tool is compiled to WebAssembly and runs entirely in your browser. You paste the file's bytes as base64 or hex, and the parsing happens on your device — nothing is sent to a server, so it is safe for private or unpublished footage.

Which videos actually contain a GPS tag?

Videos recorded on a phone or action camera with location services enabled. iPhone .mov clips and many Android .mp4 clips write a QuickTime ©xyz location atom; newer Apple files use the com.apple.quicktime.location.ISO6709 key. If location tagging was off when recording, or the file was re-encoded by an editor or social platform, the tag is usually stripped and the tool reports none found.

Do I have to paste the whole file?

Usually not. Only the moov/metadata region is parsed, so a truncated head of the file that reaches the moov box is enough — e.g. head -c 262144 clip.mov | base64. Some cameras place moov at the end of the file; if a short head finds nothing, paste more of the file (or all of it).

What is the ISO 6709 string in the output?

ISO 6709 is the standard format QuickTime stores the coordinate in, e.g. +37.7749-122.4194/ — signed decimal latitude then longitude, with an optional altitude in metres and a trailing /. The tool shows this raw string alongside the parsed latitude, longitude, and altitude so you can verify the source value.

Does it read GoPro or dashcam movement tracks?

No. This extracts the single static location tag written in the file's metadata. Continuous per-frame GPS — such as GoPro's GPMF telemetry track — is a separate proprietary binary stream and is not decoded here.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool video-gps-metadata-extractor "AAAAFGZ0eXBxdCAgAAACAHF0ICAAAAAubW9vdgAAACZ1ZHRhAAAAHql4eXoAEhXHKzM3Ljc3NDktMTIyLjQxOTQv"

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/video-gps-metadata-extractor/?input=AAAAFGZ0eXBxdCAgAAACAHF0ICAAAAAubW9vdgAAACZ1ZHRhAAAAHql4eXoAEhXHKzM3Ljc3NDktMTIyLjQxOTQv&input_format=base64&output=report

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.