Coordinate Formats and How to Convert Between Them

After reading this you will know what decimal degrees, DMS, UTM, MGRS, geohash and Plus Codes each measure, how they relate on the WGS84 ellipsoid, and how to convert a point from one to another without losing precision.

A single point on Earth can be written a dozen different ways. A hiking GPS shows N 37°25.184', a survey plan lists 10S 551590 4139362, a mapping API returns 37.4197, -122.0841, and a delivery app hands you a Plus Code like 849VCWC8+R9. They all describe the same spot near Mountain View, California. The formats differ in what they optimize for: readability, metric distance, short shareable codes, or grid references you can shout over a radio.

The Coordinate Converter parses any of these and shows all the others at once, with a map so you can check the result by eye. This guide explains the systems and the math that ties them together.

The formats and what each one measures

Decimal degrees (DD)
Latitude and longitude as signed decimals, for example 37.4197, -122.0841. Positive is north and east, negative is south and west. This is the native format of almost every mapping library.
Degrees, minutes, seconds (DMS)
The same angles split into 60ths: 37° 25' 10.9" N. One arcminute is 1/60 of a degree, one arcsecond is 1/60 of a minute. Common on nautical charts and older maps.
UTM (Universal Transverse Mercator)
A projection that cuts the world into 60 zones, each 6° of longitude wide, and gives a position in meters as an easting and a northing. Distances and areas are nearly true inside a zone.
MGRS (Military Grid Reference System)
UTM repackaged as a compact grid label: a zone, a latitude band letter, a two-letter 100 km square, then equal numbers of easting and northing digits. Example: 10S EG 51590 39362.
Geohash
A base-32 string that encodes a rectangular cell. Each extra character shrinks the cell by a factor of 32 in area. 9q9hvu7 covers roughly 150 m by 150 m.
Plus Code (Open Location Code)
A base-20 code from Google, using a 20-character alphabet that avoids vowels. Each pair of characters narrows the cell. 849VCWC8+R9 is about 14 m by 14 m.

Decimal degrees and DMS are the same numbers in different clothing, so converting between them is exact. UTM and MGRS involve a map projection, so those conversions carry a tiny modelling error, always well under a meter inside a zone. Geohash and Plus Codes are cell systems: they do not name a point, they name a box, and the box size depends only on the code length.

When to use which format

Use decimal degrees for anything you will feed to software: it sorts, subtracts and interpolates cleanly. Use DMS when a human will read it off a chart or a monument. Use UTM when you need real distances in meters, for example computing that two points 300 m apart are 300 m apart, which lat/lon cannot do directly because a degree of longitude shrinks toward the poles.

Use MGRS when a short grid label must be spoken or handwritten in the field. Use a geohash when you want cells that nest and sort as strings, which makes them handy as database keys for proximity queries. Use a Plus Code when you want a short address for a place that has no street address.

UTM and MGRS are not global coordinates on their own. The numbers 551590 4139362 mean nothing without the zone 10S. If you store easting and northing but drop the zone, you have thrown the point away.

The conversion that has real math in it: lat/lon to UTM

DD to DMS is just arithmetic on 60. The interesting step is the transverse Mercator projection behind UTM and MGRS. It wraps a cylinder around the Earth touching a central meridian, then flattens it. The tool uses the Krüger series on the WGS84 ellipsoid.

The scale factor along the central meridian is deliberately set below 1 so that error is shared across the zone rather than piled at the edges:

k_0 = 0.9996

Here k_0 is the constant by which distances on the central meridian are shrunk. At the center of a zone the map is 0.04 percent too small; near the 3° edge it is about 0.1 percent too large. The two errors balance so the worst case stays tiny.

To place the easting on a positive axis, UTM adds a false easting so the central meridian sits at 500,000 m:

E = 500000 + k_0 \cdot x

where x is the signed distance in meters east of the central meridian before the offset. A point west of the meridian has negative x and an easting below 500,000. In the southern hemisphere a false northing of 10,000,000 m is added so northings never go negative.

Which zone applies comes straight from longitude:

Z = \left\lfloor \frac{\lambda + 180}{6} \right\rfloor + 1

\lambda is longitude in degrees, and \lfloor \cdot \rfloor is the floor function. For \lambda = -122.0841 you get \lfloor 57.99/6 \rfloor + 1 = \lfloor 9.665 \rfloor + 1 = 10.

Converting the demo point every way

Start from the tool's default point, decimal degrees 37.4197, -122.0841, and reproduce each output.

  1. DMS latitude. The whole degrees are 37. The remainder 0.4197 × 60 = 25.182 arcminutes, so 25 minutes. The remainder 0.182 × 60 = 10.9 arcseconds. Result: 37° 25' 10.9" N.
  2. DMS longitude. Whole degrees 122. 0.0841 × 60 = 5.046, so 5 minutes. 0.046 × 60 = 2.8 arcseconds. Result: 122° 05' 02.8" W.
  3. UTM zone. From the formula above, zone 10. The latitude band for 37° N is S, giving 10S.
  4. UTM easting and northing. The Krüger series gives easting 551590 and northing 4139362, both in meters. The easting exceeds 500,000 because the point is east of zone 10's central meridian at 123° W.
  5. MGRS. Take the 100 km square containing the point, which is EG, then the last five digits of easting and northing: 10S EG 51590 39362.
  6. Geohash and Plus Code. Encoding to 7 geohash characters gives 9q9hvu7 (about 150 m). The Plus Code at standard length is 849VCWC8+R9 (about 14 m).

Reading precision: digits versus meters

Every format lets you truncate, and every truncation is a decision about how big a box you accept. In decimal degrees the fifth decimal place is worth about 1.1 m of latitude, because one degree of latitude is roughly 111,320 m and 111320 / 100000 \approx 1.11. Longitude spacing shrinks with the cosine of latitude, so at 37° N one degree of longitude spans 111320 \cdot \cos 37° \approx 88900 m.

Cell size by code length at mid-latitude
FormatLengthCell widthCell height
Decimal degrees4 decimals~8.9 m~11 m
Decimal degrees5 decimals~0.89 m~1.1 m
Geohash6 chars~1220 m~610 m
Geohash7 chars~153 m~153 m
Plus Code10 chars~14 m~14 m
Plus Code11 chars~3.5 m~2.8 m

The chart below shows how geohash cell area collapses as you add characters. Because each character adds 5 bits (32 = 2 to the 5th), area falls by a factor of 32 per character.

Cell area drops about 32-fold per character, from roughly 490 million square meters at length 4 to about 36 square meters at length 9.

A geohash of length 6 covers about 1220 m by 610 m; length 7 covers about 153 m square; length 8 covers about 38 m by 19 m. Each added character narrows the cell roughly 32-fold in area.

Common mistakes

The frequent errors are not in the math but in the input.

Sign versus hemisphere letter. A west longitude can be written -122.0841 or 122.0841 W, never both. Writing -122 W means east of Greenwich, which flips the point to China. The parser reads the letter if present and ignores the sign, but check your source.

Swapped order. Decimal degrees are almost always latitude then longitude, but GeoJSON stores longitude then latitude. If your point lands in the ocean off West Africa near 0, 0 or looks mirrored, you probably swapped them.

Latitude out of range. Latitude runs from -90 to 90. A value like 122.08 in the latitude slot is a swapped pair, not a valid point.

MGRS skips the latitude band letters I and O on purpose, because they look like the digits 1 and 0. If a converted band is one letter off from what you expected, suspect a hand-copied I where an H or J belongs.

Related tools

Once you have clean coordinates, other tools take them further. Drop a batch of points into the GeoJSON & CSV Map Viewer to see them plotted. Find the exact other side of the planet with the Antipode Finder. Compare the shortest path against a constant-bearing route in Great Circle vs Rhumb Line. For time questions at a location, see Solar Time vs Clock Time and the Day & Night World Map. To turn a shape into a decorative chart, try the Old Map Renderer.

Frequently asked questions

Why does my UTM easting change when I move a tiny distance east or west across a zone boundary?

At a zone boundary the central meridian changes, so the easting resets. A point just west of 120° W sits near the east edge of zone 10 with a large easting, while a point just east sits near the west edge of zone 11 with a small easting. The distance moved is meters, but the label jumps because it is measured from a different meridian.

Are geohash and Plus Code the same idea?

They share the concept of a nested cell that shrinks per character, but the alphabets and layouts differ. Geohash uses base 32 and interleaves latitude and longitude bits, so cells alternate between wide and square as you add characters. Plus Codes use base 20 and always split latitude and longitude symmetrically, giving squarer cells.

How accurate is the UTM conversion?

The Krüger series on WGS84 is accurate to well under a meter anywhere inside a zone's normal 6° width. The scale factor error is at most about 0.1 percent, and the tool corrects for it, so the residual is far below the meter you care about for most work.

Can I click the map instead of typing?

Yes. Clicking a point converts in the other direction, filling in all formats from the location you picked. This is the fastest way to grab a coordinate for a spot you can see but cannot name.

Does anything leave my browser?

No. The conversion runs entirely in your browser. Coordinates you paste and points you click stay on your device.