CSV Offline Geocoder (City / Country Level)

Add lat/lon to a CSV city column using an embedded gazetteer — no API.

Ad placeholder (leaderboard)

Mapping a spreadsheet of locations usually means sending every address to an online geocoding API — which is a privacy problem for customer, patient, or supplier lists. This tool instead carries an embedded gazetteer of major cities and country centroids, so it adds coordinates to your CSV entirely in your browser with no API call.

How it works

For each data row the geocoder runs a small matching pipeline:

  1. Normalize the city value (lowercase, collapse whitespace) and, if present, resolve the country column to an ISO country code, accepting names and common aliases like UK or USA.
  2. City lookup. It searches the embedded city table, preferring a match in the stated country so that cities sharing a name are disambiguated.
  3. Country fallback. If no city matches, it returns the centroid (approximate geographic center) of the country. If even that fails, the row is marked none.

It appends three columns — lat, lon, and geo_match — and produces a valid RFC 4180 CSV you can copy out.

Example

A row Acme Ltd, London, United Kingdom resolves to 51.5074, -0.1278 with geo_match = city. A row whose city is unknown but whose country is Armenia falls back to the Armenia centroid with geo_match = country. A row like Atlantis, Nowhere yields empty coordinates and geo_match = none.

Notes

Because the dataset is embedded and compact, this is a regional-scale geocoder: ideal for clustering customers by metro, plotting a country breakdown, or sanity-checking a list — not for routing to a doorstep. The big advantage is that your address data never leaves the browser, making it safe for sensitive lists that an online API would expose.

Ad placeholder (rectangle)