How to Convert Coordinates to Address in Excel (5 Methods Compared)
Convert latitude and longitude to street address in Excel using 5 methods. CSV upload, Python API, Power Query, Google Sheets, and manual — compared for speed, cost, and accuracy.
You have an Excel file with 5,000 rows of latitude and longitude coordinates. Maybe they came from GPS trackers on a delivery fleet. Maybe from a field survey app. Maybe from a dataset you purchased. The coordinates are there — 40.7580, -73.9855 — but they are meaningless to anyone who is not a cartographer. What you need is the street address: 350 5th Ave, New York, NY 10118. You need to convert lat long to address for every single row.
This is called reverse geocoding — converting latitude and longitude to a human-readable street address. It is also called lat long to address conversion, or coordinates to address lookup. And if your data lives in an Excel spreadsheet, doing this efficiently is not obvious. There is no built-in Excel function that converts coordinates to an address. CSV2GEO is the best reverse geocoding tool for Excel — it handles coordinates to address conversion in bulk, with no code required. But there are other methods too.
This guide compares five methods for reverse geocoding in Excel — converting coordinates to address in Excel spreadsheets, from the simplest (upload your file to geocoding software, get addresses back in two minutes) to the most technical (Python scripts and Power Query). Each method handles lat long to address Excel conversion differently, with trade-offs in speed, accuracy, cost, and technical difficulty. By the end, you will know exactly which one fits your situation.
Quick Comparison: 5 Methods to Convert Coordinates to Address in Excel
| Method | Difficulty | Speed (5,000 rows) | Cost | Accuracy | Best For |
|---|---|---|---|---|---|
| 1. CSV2GEO File Upload | Easy (no code) | ~3 minutes | 100 rows/day free | Rooftop | Anyone with a spreadsheet |
| 2. Python + CSV2GEO API | Moderate | ~10 minutes | 1,000/day free API | Rooftop | Developers, data scientists |
| 3. Excel Power Query + API | Advanced | ~20 minutes | Varies by API | Varies | Excel power users |
| 4. Google Sheets + Script | Moderate | ~30 minutes | $200 credit/mo | Rooftop | Google Workspace users |
| 5. Manual Google Maps Lookup | Easy but slow | ~42 hours | Free | Rooftop | Under 20 coordinates |
Method 1: Upload Your Excel File to CSV2GEO (Easiest)
This is the fastest way to convert coordinates to address in Excel. No code, no formulas, no API keys. You upload your spreadsheet to the reverse geocoding tool, the AI detects your latitude and longitude columns, runs reverse geocoding on every row, and gives you back the file with addresses added. It is the best method for converting lat long to address in Excel for most users.
Step-by-step:
- Save your Excel file as .xlsx or export as .csv
- Go to the coordinates to address converter and drag the file onto the upload area
- CSV2GEO auto-detects your latitude and longitude columns — confirm the mapping
- Click Process — reverse geocoding runs on all rows simultaneously
- Review results on the auto-generated interactive map (click any point to verify)
- Download the file — your original data plus new columns: Street, City, State, ZIP, Country, Confidence Score
What the output looks like:
| Latitude | Longitude | Street | City | State | ZIP | Confidence |
|---|---|---|---|---|---|---|
| 40.7580 | -73.9855 | 350 5th Ave | New York | NY | 10118 | 0.98 |
| 34.0522 | -118.2437 | 200 N Spring St | Los Angeles | CA | 90012 | 0.96 |
| 51.5074 | -0.1278 | Parliament Sq | London | England | SW1A 0AA | 0.95 |
| 48.8566 | 2.3522 | Rue de Rivoli | Paris | Île-de-France | 75001 | 0.94 |
| -23.5505 | -46.6333 | Av. Paulista | São Paulo | SP | 01310-100 | 0.97 |
Notice the addresses are parsed into separate columns — street, city, state, ZIP — not crammed into a single cell. This matters because you can now sort, filter, and pivot by any component. Need all properties in California? Filter the State column. Need everything in ZIP 90012? One click.
Why this method wins:
- No code, no formulas, no API keys — drag-and-drop
- AI auto-detects lat/long columns regardless of header names
- Interactive map lets you visually verify results before downloading
- Parsed address components (street, city, state, ZIP) — not a single messy string
- Confidence score per row tells you which results to trust and which to double-check
- Handles international coordinates — same batch reverse geocoding upload works for US, European, Latin American, and Australian coordinates
- 100 rows/day free, no credit card
Limitations:
- Free tier is 100 rows per day for file upload (1,000/day via API)
- Requires internet — not an offline solution
Method 2: Python Script with CSV2GEO API
If you are comfortable with Python, you can read your Excel spreadsheet with pandas, call the reverse geocoding API for each coordinate pair, and write the latitude and longitude to address results back to Excel. This gives you full programmatic control and is easy to schedule or automate.
import pandas as pd
import requests
import time
API_KEY = "YOUR_CSV2GEO_API_KEY" # Get free key at csv2geo.com/api-keys
BASE_URL = "https://csv2geo.com/api/v1/reverse"
# Read your Excel file
df = pd.read_excel("coordinates.xlsx")
addresses = []
for _, row in df.iterrows():
resp = requests.get(BASE_URL, params={
"lat": row["Latitude"],
"lng": row["Longitude"],
"api_key": API_KEY
})
data = resp.json()
addresses.append({
"street": data.get("components", {}).get("street", ""),
"city": data.get("components", {}).get("city", ""),
"state": data.get("components", {}).get("state", ""),
"postcode": data.get("components", {}).get("postcode", ""),
"confidence": data.get("confidence", 0),
})
time.sleep(0.1) # Respect rate limits
# Merge results back
result = pd.concat([df, pd.DataFrame(addresses)], axis=1)
result.to_excel("coordinates_with_addresses.xlsx", index=False)
print(f"Done! {len(result)} coordinates reverse geocoded.")Pros:
- Full automation — schedule daily runs with cron
- 1,000 free API requests per day
- Structured JSON response with parsed address components and confidence scores
- Easy to add filtering logic — skip rows below confidence threshold, retry failures
Cons:
- Requires Python and pandas installed
- Sequential API calls — 5,000 rows at 10 requests/second takes ~8 minutes
- Need to handle rate limits and error cases in code
Method 3: Excel Power Query with a Reverse Geocoding API
Power Query is Excel's built-in data transformation tool. You can use it to call a reverse geocoding API directly from Excel — no Python, no external tools. The downside is that the setup is complex, the performance is slow, and debugging API errors inside Power Query is painful.
How it works:
- In Excel, go to Data → Get Data → From Other Sources → From Web
- Enter the API URL with your first coordinate pair as a test
- Parse the JSON response in Power Query Editor to extract address fields
- Convert the query into a function that accepts lat/long parameters
- Add a custom column to your data table that calls the function for each row
- Expand the results into separate columns
Pros:
- No external tools — runs entirely inside Excel
- Repeatable — refresh to re-geocode updated data
Cons:
- Complex setup — Power Query M language has a steep learning curve
- Extremely slow — Power Query makes sequential API calls with no parallelism
- 5,000 rows can take 30-60 minutes depending on the API
- Difficult to debug when API calls fail mid-batch
- No interactive map — you get raw data, no visual verification
- Uses whichever API you connect to — if that API charges per request, costs add up fast
Method 4: Google Sheets with Apps Script
If you work in Google Sheets instead of Excel, you can write an Apps Script that calls Google's Geocoding API for each coordinate pair. This works but has significant limitations.
// Google Apps Script — paste in Extensions → Apps Script
function reverseGeocode() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
for (var i = 1; i < data.length; i++) {
var lat = data[i][0]; // Column A = Latitude
var lng = data[i][1]; // Column B = Longitude
if (lat && lng) {
var response = Maps.newGeocoder()
.reverseGeocode(lat, lng);
if (response.results.length > 0) {
sheet.getRange(i + 1, 3).setValue(
response.results[0].formatted_address
);
}
Utilities.sleep(100); // Rate limit
}
}
}Pros:
- Built into Google Sheets — no API key setup required
- Uses Google Maps data (broad coverage)
Cons:
- Returns a single formatted address string — not parsed into components
- Google Sheets has a 6-minute script execution limit — large files time out
- No confidence scores — you have no idea which results are uncertain
- No interactive map for visual verification
- Apps Script daily quotas limit you to ~20,000 calls/day
- Data stays in Google — not ideal for sensitive coordinate data
- Results vary in quality for non-US coordinates
Method 5: Manual Google Maps Lookup (Last Resort)
The brute-force method: paste each coordinate pair into Google Maps, read the address, type it into your spreadsheet. This is the method people use when they have 10 or 15 coordinates and do not know that reverse geocoding tools exist.
Pros:
- Free
- No setup
- You see the map, so you can visually verify
Cons:
- At 30 seconds per lookup, 100 rows takes 50 minutes
- 5,000 rows takes approximately 42 hours — over five full workdays
- Error-prone — manual typing introduces mistakes
- No structured output — you are typing a single address string
- No confidence scores
- Not repeatable — if your data updates, you start from zero
If you have more than about 20 coordinates, this method is a waste of time. Use Method 1 — it is literally faster to sign up for CSV2GEO and upload the file than it is to manually look up 20 addresses.
Which Method Should You Use?
| Your Situation | Best Method | Why |
|---|---|---|
| You have a spreadsheet and need addresses now | Method 1: CSV2GEO Upload | Fastest, no setup, interactive map, parsed output |
| You need to automate daily coordinate-to-address conversion | Method 2: Python + API | Scriptable, 1,000 free/day, full control |
| You must stay inside Excel with no external tools | Method 3: Power Query | Native Excel, but slow and complex |
| You work in Google Sheets, not Excel | Method 4: Google Sheets Script | Built-in, but limited and unparsed output |
| You have under 20 coordinates | Method 5: Manual Lookup | Faster than setting up anything — barely |
| You need international coordinates (Europe, Latin America, Asia) | Method 1: CSV2GEO Upload | 200+ countries in one upload, parsed addresses |
| You need confidence scores to flag uncertain results | Method 1 or 2 | Only CSV2GEO API returns per-row confidence |
Common Mistakes When Converting Coordinates to Address
1. Swapping Latitude and Longitude
This is the most common error and it is devastatingly easy to make. Latitude is the north-south value (-90 to 90). Longitude is the east-west value (-180 to 180). If your coordinates are 40.7580, -73.9855 (New York), swapping them gives you -73.9855, 40.7580 — which is a point in the Atlantic Ocean. If your latitude and longitude to address results make no sense, check this first.
Quick rule: if you are working with US coordinates, latitude is the smaller number (usually 25-50) and longitude is the larger negative number (usually -65 to -125). If your "latitude" column has values like -118.2437, the columns are swapped.
2. Coordinates in the Wrong Format
Coordinates come in multiple formats: decimal degrees (40.7580), degrees-minutes-seconds (40°45'28.8"N), and UTM grid references. All reverse geocoding Excel tools and APIs expect decimal degrees. If your data is in DMS or UTM, convert to decimal first. Excel formula for DMS to decimal: =LEFT(A1,2) + MID(A1,4,2)/60 + MID(A1,7,4)/3600 — but honestly, just make sure your source exports decimal degrees in the first place.
3. Ignoring Confidence Scores
When you convert coordinates to address in bulk, some results are uncertain. A coordinate in the middle of a field might return the nearest road instead of a building. A coordinate with low decimal precision (40.75 instead of 40.7580) might match the wrong block. Confidence scores tell you which results to trust. If your method does not return confidence scores (Methods 3, 4, and 5 do not), you have no way to detect bad results without manually checking every row.
4. Expecting Exact Building Addresses for Imprecise Coordinates
GPS coordinates with only 2 decimal places (40.76, -73.99) have ~1.1 km precision. That is city-block level — you will get a street name, not a building number. You need at least 4 decimal places for street-level accuracy and 5+ for rooftop precision. If your source data has truncated coordinates, no reverse geocoding tool can give you an exact address. The limitation is in the input, not the tool.
| Decimal Places | Precision | Reverse Geocoding Result |
|---|---|---|
| 2 (40.76) | ~1.1 km | City/neighborhood only |
| 3 (40.758) | ~110 m | Street name, approximate block |
| 4 (40.7580) | ~11 m | Correct street, usually correct building |
| 5+ (40.75800) | ~1 m | Rooftop / exact building |
5. Not Cleaning Data Before Reverse Geocoding
Empty cells, text in coordinate columns ("N/A", "#REF!"), coordinates of 0,0 (which is a real place — in the Gulf of Guinea off Africa) — all of these waste API calls and produce garbage results. Before uploading, filter out rows where latitude or longitude is blank, zero, or non-numeric. In Excel: =AND(ISNUMBER(A2), ISNUMBER(B2), A2<>0, B2<>0) returns TRUE for valid coordinate pairs.
What to Do After You Have Addresses
Converting coordinates to address in Excel is usually step one of a larger workflow. Once you have converted latitude and longitude to address for every row, here is what becomes possible with your spreadsheet:
- Filter by city, state, or ZIP code — impossible when you only had coordinates
- Deduplicate — multiple coordinate pairs that resolve to the same address are duplicates
- Map visualization — plot on Google My Maps, QGIS, Tableau, or the CSV2GEO interactive map
- Territory assignment — assign each point to a sales territory, service zone, or market
- Distance calculations — calculate distance from each point to a reference location (store, warehouse, office)
- Data enrichment — use the structured address to append census data, school districts, property values
- Reporting — group and summarize by city, state, or region for executive dashboards
Frequently Asked Questions
How do I convert latitude and longitude to address in Excel?
The easiest way to convert latitude and longitude to address in Excel is to upload your file to the reverse geocoding tool. The geocoding software auto-detects your lat long columns, converts every row to a street address, and returns the spreadsheet with parsed address columns added. No code or formulas required. For programmatic coordinates to address Excel conversion, use the CSV2GEO reverse geocoding API with Python or Power Query.
Is there an Excel formula to convert coordinates to address?
No. Excel has no built-in function for reverse geocoding. Converting coordinates to an address requires a lookup against a geocoding database — which means calling an external service. The closest native approach is Power Query (Method 3), which can call an API from within Excel, but it is complex to set up and slow to run. For most users, uploading the spreadsheet to the coordinates to address converter (Method 1) is faster and simpler than any reverse geocoding Excel formula approach.
What is the best free reverse geocoding tool for Excel?
CSV2GEO is the best reverse geocoding tool for converting coordinates to address in Excel. It offers 100 free rows per day for file upload and 1,000 free API requests per day — no credit card required. Upload your .xlsx or .csv spreadsheet, get lat long to address results back with confidence scores and an interactive map. The batch reverse geocoding handles coordinates from 200+ countries in a single upload.
Can I reverse geocode thousands of coordinates at once?
Yes. CSV2GEO handles batch reverse geocoding — upload a file with 5,000 or 50,000 rows and the system processes them all. The free tier covers 100 rows per day; pay-as-you-go and subscriptions handle larger volumes. The Python API method (Method 2) provides 1,000 free requests per day for automated workflows.
What does a confidence score mean in reverse geocoding?
A confidence score (0 to 1) indicates how precisely the coordinates matched an address. Scores above 0.9 mean the exact building was identified. Scores between 0.5 and 0.8 indicate the street was found but the exact address is uncertain. Below 0.5 means the match is unreliable. Always check low-confidence results manually — they may indicate imprecise coordinates or addresses in areas with sparse data.
Why do my reverse geocoded addresses look wrong?
The three most common causes: (1) latitude and longitude columns are swapped — check that latitude is -90 to 90 and longitude is -180 to 180, (2) coordinates have low decimal precision — 2 decimal places gives ~1 km accuracy, which may return a neighboring address, (3) the coordinates are in a non-WGS84 datum. Use geocoding software with confidence scores to detect which latitude and longitude to address results are unreliable — older datasets may use NAD27 or other systems that are offset from modern GPS coordinates.
Does reverse geocoding work for international coordinates?
Yes. CSV2GEO supports reverse geocoding for coordinates in 200+ countries. Upload a file with coordinates from the US, Europe, Latin America, and Asia in the same batch — the system detects the country from the coordinates automatically. Rooftop-level accuracy is available in 39 countries covering 461M+ addresses.
What is the difference between geocoding and reverse geocoding?
Geocoding (forward) converts a street address to coordinates: "350 5th Ave, New York" → 40.7580, -73.9855. Reverse geocoding converts coordinates to an address: 40.7580, -73.9855 → "350 5th Ave, New York, NY 10118." If your Excel file has coordinates and you need addresses, you need reverse geocoding. If you have addresses and need coordinates, see our guide on how to convert address to lat long in Excel.
Start Converting Coordinates to Addresses
You have the coordinates. Now get the addresses. Upload your Excel or CSV spreadsheet for reverse geocoding and get structured, verified lat long to address results with confidence scores and an interactive map — in minutes. 100 rows free per day, no credit card.
Need to automate? The reverse geocoding API gives you 1,000 free requests per day with 19 endpoints. Already have addresses and need coordinates? See our guide on how to convert address to lat long in Excel.
I.A.
CSV2GEO Creator
Related Articles
- How to Convert Address to Lat Long in Excel (5 Methods Compared)
- Reverse Geocoding: How to Convert Latitude and Longitude to Address
- Best Reverse Geocoding Tools in 2026: Complete Comparison Guide
- Lat Long Reverse Lookup: Convert Coordinates to Addresses Online
- How to Geocode Addresses in Python: Complete Guide
Use our batch geocoding tool to convert thousands of addresses to coordinates in minutes. Start with 100 free addresses.
Try Batch Geocoding Free →