Geocode CSV
Add latitude and longitude to every row in a CSV file using OpenStreetMap Nominatim. Select the address column, click start, and download the enriched file when done. Your browser sends the selected addresses to OpenStreetMap Nominatim to find coordinates. Other file columns remain on your device.
Drop your .csv file here
or click to browse · max 50 MB
How to use the Geocode CSV tool
- Prepare a CSV of up to 20 rows with one column that holds the full address, for example "10 High Street, Leeds, UK". Split addresses in several columns should be combined into one first.
- Drop the CSV into the box. The tool shows the row count, column count and an estimated run time.
- Pick the column that holds the addresses from the Address Column list.
- Click Start Geocoding. Each address is sent to OpenStreetMap Nominatim, one per second. You can cancel at any point and keep the rows finished so far.
- Check the Geocoded and Failed counts, preview the first 10 rows, then click Download CSV to save geocoded.csv with latitude and longitude added as the last two columns.
Worked example
You have a short list of places and need coordinates to plot them on a map. One address is misspelled.
Input: places.csv
id,name,address
1,Tower,"Eiffel Tower, Paris"
2,Opera,Sydney Opera House
3,Typo,zzqx nowhere 99999Settings
- Address Column: address
Output: geocoded.csv
id,name,address,latitude,longitude
1,Tower,"Eiffel Tower, Paris",48.8582599,2.2945006
2,Opera,Sydney Opera House,-33.857198,151.2151234
3,Typo,zzqx nowhere 99999,,Only the three address values were sent to Nominatim. The id and name columns never left the browser. Two addresses matched, so the summary shows 2 geocoded and 1 failed. The unmatched row keeps its data with blank coordinates. Coordinates come from OpenStreetMap and can shift slightly when the map is edited.
Frequently Asked Questions
How do I add latitude and longitude to a list of addresses?
Put the addresses in one column of a CSV, drop the file on this page, pick that column and click Start Geocoding. When it finishes, download geocoded.csv. It has all your original columns plus latitude and longitude.
Is my data sent anywhere?
Yes, but only the address column. Your browser sends each value in the column you select to OpenStreetMap Nominatim, a public geocoding service, to look up coordinates. Nominatim can see those addresses and your IP address. Your other columns stay in your browser and are not sent to SmartQueryTools or to Nominatim. Only geocode addresses you are comfortable sharing with that service.
Why is there a 20-row limit?
Nominatim is a free service run by volunteers, and its usage policy allows at most one request per second with no heavy bulk use. The tool waits about 1.1 seconds between requests and caps each run at 20 rows to stay within that policy. For thousands of addresses, use a commercial geocoding service.
Why did some addresses come back blank?
A row gets empty latitude and longitude when Nominatim finds no match or the request fails. Typos, missing city or country, and apartment or unit numbers are common causes. Add the city and country, remove unit numbers, and run the failed rows again.
Which point does the geocoder return for an address?
The tool keeps the first result Nominatim returns. For a building this is usually its location on OpenStreetMap. For a vague input such as a city name it is the centre point of that place. Coordinates are decimal degrees in WGS 84, the system used by GPS and most web maps.
Related tools
Concatenate Columns
Join street, city and country columns into one address column before geocoding.
Split CSV
Break a long address list into smaller files.
First N Rows of CSV
Keep the first 20 rows of a larger file.
Filter CSV
Pull out the rows that failed so you can fix and re-run them.
Join Files
Attach the new coordinates back to a larger dataset by ID.
CSV to JSON
Turn the geocoded file into JSON for a web map.
Privacy Policy
How the optional geocoder handles your addresses.