Geocoding & addresses

Turning address text into coordinates, and coordinates back into places — with the match quality attached.

Three geocoder match types for one address, drawn at the precision each actually gives. the coordinate always comes back — the quality is what you have to ask forrooftop± 5 mstreet interpolation± 50 mlocality centroid± 2 kmAll three are a latitude and a longitude with the same number of decimal places

Geocoding is the one operation on this site that always succeeds. Give a geocoder a street that does not exist and it will return a coordinate for the town; give it a typo and it will return its best guess. The latitude and longitude come back with the same number of decimal places either way, so precision in the output tells you nothing about accuracy.

That makes match quality the whole subject. Every serious geocoder reports what it actually matched — a rooftop, an interpolated point along a street, or the centroid of a locality — and the difference between those is three orders of magnitude on the ground. Carrying that field through to the output is what separates a geocoded dataset you can join on from one you cannot.

Below: the concepts cover how geocoders work and what the match levels mean, the how-to guides cover batch geocoding, reverse geocoding and cleaning address text before you send it, and the fixes are the specific ways a batch comes back wrong.

Learning paths run through this topic too — see the end of this page.

🧭 Start with the concepts

The ideas the how-to guides below assume you already have.

⚙️ Then do the task

Step-by-step walkthroughs with code you can copy and adapt.

Show every how-to guide in this topic

🔧 When it breaks

The errors this topic produces, with the cause explained rather than just the command.

Related topics

Subjects that keep coming up alongside this one, most overlap first.

Keep browsing

Geocoding & addresses sits in Fundamentals. Every topic on the site is listed on the topics index.