A ComputeDriven projectlive_localThat rung covers the converter at /convert/ — and nothing else on this domain.
The question this site exists to answer

What can we actually know from a coordinate?

Less than the industry implies, and the honest amount is worth having. A latitude and longitude is a position — and position rewrites exactly into every grid system ever standardised. That part is arithmetic, it is settled, and it works here. Everything else people want from a coordinate — the county, the elevation, the timezone, the address — is not in the coordinate at all. It is in a dataset, and we do not have one.

Open the converter  How it was checked

5
Formats converting
8 × 3
Witnessed reference values
0
Location pages
0
API endpoints
$0
And no account
The answer, in two halves

One half is arithmetic. The other half is somebody else's database.

The split is not a limitation of this site. It is the actual structure of the problem, and most coordinate sites blur it because the blurred version sells better.

Knowable from the number alone

Every equivalent notation, the UTM zone and latitude band, the MGRS 100 km square, the grid convergence and point scale, and the geodesic distance and bearing to any other coordinate. No lookup, no network, no licence.

Not knowable — needs a dataset

Which country or county it falls in, its elevation, its timezone, the nearest street or town, what is built there. None of that is a property of the number. Each is a separate lookup against data somebody had to collect, licence and keep current.

What this site will not do

Guess. Where a fact needs data we do not hold, the page says so and stops, rather than showing a plausible value. That rule is enforced by the build, not by good intentions.

The boundary, stated rather than blurred

What a coordinate does not tell you.

Every item below is a thing people reasonably expect a coordinate site to answer, and not one is derivable from the number. Each needs a dataset with a licence, a size and a refresh cadence attached. None of it is built here, and the rung on each card says so.

Which country, state, county

spec

A point-in-polygon test against administrative boundaries. Cheap to compute, and entirely dependent on which boundary set you use — different sources disagree, especially at coastlines and disputed borders.

Needs: An administrative boundary set (OSM relations, Natural Earth, or a national cadastre) plus a spatial index. Built: no.

Elevation

spec

A raster sample — and a question about which vertical datum you meant. Height above the ellipsoid and height above mean sea level differ by tens of metres in places, and most sites never say which one they returned.

Needs: A DEM (SRTM 30 m, Copernicus) and a geoid model to convert between datums. Built: no.

Timezone

spec

Another polygon test, against boundaries that are political and change by legislation — not a function of longitude, however often that shortcut is taken.

Needs: A timezone boundary set plus the IANA database, refreshed whenever a legislature moves a clock. Built: no.

The address, or the name of the place

spec

Reverse geocoding, and the least honest thing a coordinate site does. There is often no single right answer: a place has a centroid, a label point, an administrative seat and a polygon, and the major sources pick different ones. Everyone silently returns one of them.

Needs: A geocoder run on our own hardware — the public one explicitly forbids this use. Built: no.
How this was checked

A converter that lies is worse than a page with no converter.

UTM and MGRS are fiddly enough that a wrong implementation looks right — it round-trips perfectly and lands within a few kilometres of the truth. Round-tripping proves nothing on its own, so this one was checked against three implementations written by other people.

UTM vs PROJ 9.5.1
max 7 × 10⁻⁹ m

Worst disagreement in forward easting or northing of any single one of the 4,000 points, in metres. The inverse transform agrees to the same order.

MGRS vs NGA GEOTRANS
0 mismatches / 4,000

Every 5-digit MGRS string produced here is character-for-character identical to the one GEOTRANS produces for the same point.

Distance vs GeographicLib
max 7.5 × 10⁻⁵ m

Over 1,500 random pairs. Initial and final bearings agree to within 1 × 10⁻⁵ arcseconds.

Reproduce it
node check.mjs

No dependencies and no network. It reads src/coord.mjs and asserts it against the frozen records below, so the arithmetic and the published tables cannot drift apart.

The eight published reference points

Chosen to cover both hemispheres, the equator, a central meridian, and both documented zone irregularities — southwest Norway, where zone 32 is widened, and Svalbard, where zones 32, 34 and 36 do not exist. Every row below was recomputed by the build from the same code the converter runs, and refused to publish unless it matched the frozen record.

Reference pointLatitudeLongitudeUTMMGRS
Null Island — the equator on zone 31’s central meridian0.00003.000031N 500000.00 0.0031NEA0000000000
Greenwich Royal Observatory51.4779-0.001530U 708213.49 5707235.6630UYC0821307235
Seguin, Texas29.5688-97.964414R 600313.02 3271453.8514RPT0031371453
Sydney Opera House-33.8568151.215356H 334900.57 6252288.7556HLH3490052288
Bergen, Norway — where zone 32 is widened60.39005.320032V 297230.22 6700510.1832VKN9723000510
Longyearbyen, Svalbard — where zone 32 does not exist78.220015.630033X 514357.74 8682999.1733XWG1435782999
Ushuaia, Argentina-54.8019-68.303019F 544805.10 3927029.8819FEV4480527029
Kathmandu, Nepal27.717285.324045R 334769.78 3067000.0145RUL3476967000

Status of this surface

Status
live_local — The converter and the distance tool run end to end in a browser on a developer machine. Nothing else on this domain is implemented.
Last verified
2026-08-17
Source
check.mjs in this repository, against eight reference points that PROJ 9.5.1 and NGA GEOTRANS independently confirmed.
Limit
This establishes that the arithmetic is correct. It does not establish that anyone has used it, that it behaves the same in a browser other than the one it was tested in, or that a single other thing described on this site exists. It has not been exercised on the deployed domain, so the rung is live_local and not live_deployed.
Next rung
live_deployed — Deploy, then load https://gpscoord.com/convert/ and convert one coordinate there. The domain currently answers every path with the same homepage, so until that check runs it is unknown whether the route resolves at all.

Still zero, and still worth printing

Location pages
0. Checked 2026-08-16: /tokyo, /us/texas/seguin, /airport/KJFK, /zip/78155 and a nonsense path all return HTTP 200 and the same homepage. The domain has a catch-all, not an index.
API endpoints
0. Checked 2026-08-16: /api/v1/geocode responds content-type: text/html. No latency figure is published, because none has been measured.
Formats converting
5 — Decimal degrees, Degrees / minutes / seconds, Degrees / decimal minutes, UTM, MGRS. Counted by running them, and by refusing to publish this page when any of the 8 reference rows disagrees.

Retraction — a fabricated coordinate on this site

Until this revision the API example printed "utm": "14R 597842 3270738" and "mgrs": "14RPU9784270738" as the grid references for 29.5688, −97.9644. Both are wrong. The correct values, in the table above, are 14R 600313.02 3271453.85 and 14RPT0031371453. The published easting was off by 2,471 m, the northing by 715 m, and the MGRS square letters were wrong as well.

Where it came from matters. A pass over this site one revision ago removed six unsupported numbers and reported that every remaining number had a witness. These two survived, because they sat inside a code sample labelled "the response shape we intend" — and a shape does not look like a claim. It was a claim, and it was false. Writing the converter is what caught it: the first thing the working arithmetic did was contradict the page it was written for.

The fix is structural rather than careful. Every grid reference on this site is now recomputed at build time by the same code the converter runs, and the build refuses to emit a page whose tables disagree with the frozen record. A number can no longer be typed onto this site by hand.

What you can do here

Two rungs, two different invitations.

A page may only ask you to do what its evidence has earned. The converter has been run and checked, so it asks you to use it and to re-run the check. The rest has not been built, so it cannot ask you to run anything at all.

Proposed pricing — not set, not approved, nothing is for sale
Free
$0
100 calls/day
Pro
$19
5K calls/day
Enterprise
$79
50K calls/day

These numbers price an API that does not exist. They are kept visible only so the intent can be argued with. There is no checkout, no waitlist and no mailing list — there would be nothing to send you.

Tell us this page is wrong

A number here with no witness is a defect, and we would rather hear it than ship it.

This site has already published a fabricated coordinate and had to retract it above. The most useful thing anyone can send is an input and the value they expected. It goes straight to a person; there is no mailing list, and nothing here is stored on this domain.

It posts to formspree.io when you press the button, carrying what you typed and nothing else. If you would rather leave a public trace, the issue tracker is the other route and it works just as well.