A ComputeDriven projectlive_localThat rung covers the converter at /convert/ — and nothing else on this domain.
The part that works

One position, written every way it can be written.

Type a coordinate in any notation — decimal degrees, degrees-minutes-seconds, degrees-decimal-minutes, UTM or MGRS. It is parsed and re-emitted in all of them, live, in your browser. Nothing is sent anywhere; there is no server to send it to.

Coordinate converterlive_local
The UTM grid, to scale: 60 zones of 6° longitude across, 20 latitude bands of 8° up (band X is 12°). The lit cell is the one your coordinate falls in; the inset is its MGRS 100 km square. That is the whole of what the zone and band letters mean.
Also arithmetic

How far apart, and which way.

Distance and bearing on the WGS84 ellipsoid by Vincenty's inverse method. The sphere-based answer sits next to it, because the gap between the two is the honest measure of how much the Earth's shape matters for your particular pair.

Distance & bearinglive_local
What it will not convert, and why

Two formats are missing on purpose.

The previous version of this site counted six formats "in scope" and implied all six were coming. Five are real and above. Here is the honest account of the other two.

Plus Code

spec

Open Location Code is pure arithmetic and openly specified, so it could join the converter with no data and no cost. It simply is not written yet, and the converter will not show a format it has not checked against a reference value.

Needs: An implementation and a reference-value check. Built: no.

what3words

spec

Permanently unavailable here, not merely unbuilt. The wordlist and the assignment are proprietary and a correct conversion requires a licensed API call, so it cannot be a client-side function and will never appear in this converter.

Needs: A commercial licence and a server. Built: no, and not planned.
The receipt

Checked against three implementations we did not write.

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.

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

These eight rows were recomputed by the build from the same code this page runs, and the build refuses to publish if any of them disagrees with the frozen record. The distance pairs below are held to the same rule.

PairGeodesic distanceInitial bearingFinal bearing
Greenwich → Sydney Opera House16982.637 km60.5603°139.1706°
Seguin → Kathmandu13654.938 km356.5571°183.3829°
Bergen → Longyearbyen2022.646 km6.7502°16.5156°
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.
What you can do here

It is running. Try to break it.