GeoMaps logoGeoMaps
All articles
geocoding

How to Convert Addresses to Latitude and Longitude (Free, in Bulk)

By GeoMaps Team · November 7, 2026 · 9 min read
How to Convert Addresses to Latitude and Longitude (Free, in Bulk)

You have a spreadsheet of addresses (customers, stores, job sites, members) and something downstream wants coordinates instead: Google Earth, a GIS tool, a route planner, a database column. Turning addresses into latitude and longitude is called geocoding, and for a list of a few dozen or a few thousand rows you shouldn't have to look each one up by hand.

This guide covers five ways to convert addresses to lat/long in bulk, what each one is good for, and how to check the results before you trust them.

Quick answer: For up to 100 addresses, paste them or upload a CSV/Excel file into the free batch geocoder and download the file with latitude and longitude columns added. For US-only lists up to 10,000 rows, the free US Census Geocoder works well. For larger lists, or when you just want the addresses on a map, import the spreadsheet into a mapping tool that geocodes for you.

What "converting an address to lat/long" actually means

A geocoder takes a written address ("233 S Wacker Dr, Chicago, IL 60606") and returns a point: latitude 41.8787, longitude -87.6360. Two things decide how useful that point is:

  • Match quality. A good geocoder tells you *what* it matched. That might be the exact building (a rooftop or address-point match), a position along the street, or just the city or ZIP code when it couldn't find the street. A city-level match sits in the middle of town, which is fine for a state-wide heat map and useless for routing.
  • Precision. Coordinates are written in decimal degrees. Five decimal places is about 1 meter, four is about 11 meters. More digits than six add nothing.
Decimal placesExampleRoughly identifies
241.88A town or district (~1 km)
441.8787A building lot (~11 m)
541.87874A doorway (~1 m)
641.878738Survey grade; more than any address match supports

Before you start: clean the addresses

Most failed lookups are data problems, not geocoder problems. Five minutes here saves a second run.

  • Keep the parts in separate columns or one consistent format. "Street, City, State ZIP" in one column works. So do separate Street / City / State / ZIP columns, as long as the tool can combine them.
  • Add the country if your list isn't all in one country. Without it, "Paris" may land in Texas, or a European address may be forced into the US.
  • Move suite and unit numbers out of the street line ("Ste 400", "Unit 12B"), or at least after the street. Some geocoders fail on them.
  • PO boxes don't have a location. They geocode to the post office or the ZIP code at best.
  • Fix obvious typos and missing ZIPs in the rows you care most about.

5 ways to convert addresses to latitude and longitude

1. A free online batch geocoder (fastest for short lists)

The GeoMaps batch geocoder handles up to 100 addresses per run, free and without signup. Paste one address per line, or upload a CSV or Excel file. When the address is split across columns, the tool finds the Street, City, State and ZIP columns and combines them in order.

A spreadsheet of 12 Chicago venues uploaded to the batch geocoder, with the Street, City, State and ZIP columns detected and combined
A spreadsheet of 12 Chicago venues uploaded to the batch geocoder, with the Street, City, State and ZIP columns detected and combined

Click Geocode and each address is looked up in turn. The results come back on a map and in a table, and every row is labelled with what it matched: Address, Street, City / area or No match. Download the result as CSV or Excel: your original columns plus latitude, longitude, match quality and the matched address.

Results: 10 exact address matches, 1 street-level and 1 city-level match, shown on a map and in a table with latitude and longitude
Results: 10 exact address matches, 1 street-level and 1 city-level match, shown on a map and in a table with latitude and longitude

In the example above, the two weak rows were weak on purpose. "W Fullerton Ave, Chicago" has no house number, so the best possible answer is a point on the street. "Evanston, IL" has only a city, so the point lands in the middle of Evanston. A geocoder that labelled those as exact matches would be lying to you, so check that whichever tool you use reports match quality.

The free tool uses OpenStreetMap data (via the Photon geocoder), and your browser sends the addresses straight to that service; GeoMaps never receives them. OpenStreetMap's house-number coverage varies by area, so expect some rows to match only to the street.

Best for: quick one-off lists, up to 100 rows at a time.

2. The US Census Geocoder (free, US addresses only)

The US Census Bureau runs a free geocoder that accepts a batch file of up to 10,000 US addresses at a time. Upload a CSV in the format it asks for (an ID, then street, city, state and ZIP) and download the matched coordinates.

It's good for US street addresses, but there are limits: it doesn't cover addresses outside the US, the input format is strict, and many rows can come back as "No_Match" or "Tie" without much explanation.

Best for: US-only lists of hundreds to thousands of rows when you're comfortable cleaning up the unmatched ones.

3. Excel's Geography data type (cities and ZIP codes, not streets)

In Microsoft 365, select a column of place names and choose Data → Geography. Excel then adds Latitude and Longitude fields to each cell. It's built in and fast, but it only recognizes *places*: countries, states, cities, postal codes. It won't geocode a street address.

Best for: country-, city- or ZIP-level coordinates for a dashboard or a rough map.

4. Google Sheets with a script or an add-on

Google Sheets has no built-in geocoding function. People use an Apps Script that calls Google's geocoder, or a Marketplace add-on that wraps one. Both work, but scripts run into daily quotas on large sheets. Google's Maps Platform terms also restrict how long you may store geocoded coordinates, and showing them on non-Google maps, so read the terms before building a permanent dataset this way.

Best for: small sheets that will be shown on a Google map anyway.

5. Skip the coordinates: import the addresses into a mapping tool

Often the coordinates are only a means to an end: you want the addresses *on a map*. In that case, let the mapping tool geocode for you. In GeoMaps you upload the CSV or Excel file (or connect Google Sheets or your CRM), and the address columns are detected and mapped automatically:

Uploading the same spreadsheet in GeoMaps: Street, City, State and ZIP are detected and mapped to the address fields automatically
Uploading the same spreadsheet in GeoMaps: Street, City, State and ZIP are detected and mapped to the address fields automatically

Every row is then geocoded with commercial address data and placed on the map. You can color markers by any column, filter, search nearby, plan routes and share the map. The original addresses stay visible in each pin's popup, so a misplaced pin is easy to spot.

Geocoded accounts across Chicago, colored by status, with one account's popup showing its address and fields
Geocoded accounts across Chicago, colored by status, with one account's popup showing its address and fields

Connected sources (Google Sheets and CRMs like Attio, Close or Copper) stay in sync: new or changed addresses are geocoded on the next sync, with no re-export. You can try GeoMaps free for 14 days, no credit card required.

Best for: when the goal is a map of your data, not a column of numbers.

Which method should you use?

MethodVolumeCostCoverageMatch quality shown?
Free batch geocoderUp to 100 per runFreeWorldwide (OpenStreetMap)Yes, per row
US Census GeocoderUp to 10,000 per fileFreeUS onlyYes (match type)
Excel Geography typeAnyIncluded in Microsoft 365Places only, no streetsNo
Google Sheets + script/add-onSmall, quota-limitedFree tier, then paidWorldwideDepends on the script
Import into GeoMapsThousands14-day free trial, then Pro from $20/mo billed yearly ($25 monthly)Worldwide, commercial dataPins + addresses on the map

How to check your results

Don't paste a fresh column of coordinates into anything important without these three checks:

  1. 1Sort by match quality. Anything that matched only the city or ZIP code is not at the address. Fix those rows (usually a typo or a missing house number) and run them again.
  2. 2Look at them on a map. A point in the ocean, in the wrong state or on "Null Island" (0, 0) jumps out on a map and hides in a table.
  3. 3Check the column order. Most spreadsheets and Google Maps say "latitude, longitude" (41.87, -87.63). GeoJSON and many developer tools say "longitude, latitude". Swapped columns put Chicago in Antarctica.

Turning coordinates into map files

Once your spreadsheet has latitude and longitude columns, it can become any map format. Use the free converters to turn it into KML for Google Earth, KMZ, a Shapefile for GIS, or GeoJSON for web maps. Not sure what a file contains? Open it in the map file viewer.

FAQ

How do I convert an address to latitude and longitude for free?
Paste the address (or a list of up to 100) into a free batch geocoder such as the one at geomaps.co/batch-geocoder, then download the results as CSV or Excel. For a single address you can also right-click the place in Google Maps; the coordinates are the first item in the menu.
How do I get latitude and longitude for a whole Excel file?
Upload the file to a batch geocoder, pick the address column (or the Street, City, State and ZIP columns), and download the file again with latitude and longitude columns added. Excel's built-in Geography data type only works for cities, states and postal codes, not street addresses.
Why did some of my addresses match only the city or the street?
The geocoder couldn't find that exact house number, usually because of a typo, a missing number, a unit number in the street line, or a gap in the geocoder's address data. Check those rows, correct them and run them again.
How many decimal places should latitude and longitude have?
Five decimal places (about 1 meter) is plenty for addresses. Four (about 11 meters) is fine for most maps. Extra digits don't make a geocoded address more accurate.
Is latitude or longitude first?
In everyday use, latitude comes first ("41.88, -87.63"). Some formats, including GeoJSON, put longitude first, so check the column order when you move coordinates between tools.
Can I geocode more than 100 addresses at once?
Yes. Run the free tool in batches of 100, use the US Census Geocoder for US lists up to 10,000 rows, or import the whole spreadsheet into GeoMaps, which geocodes every row and puts it on a map (free for 14 days with the trial).

Put your first map together in 10 minutes.

Try GeoMaps free for 14 days. No credit card required.