To reverse geocode in Google Sheets, install the free InstaMaps add-on and use the =REVERSE_GEOCODE(lat, lng) formula. Typing =REVERSE_GEOCODE(A2, B2) converts the decimal coordinates in those cells into a formatted street address using the Google Maps database.
This guide is for field technicians, real estate analysts, and logistics coordinators who receive raw GPS pings from mobile applications or tracking hardware but require human-readable addresses. By the end of this tutorial, you will have a batch processing column that turns hundreds of latitude and longitude points into clean map locations.
- →InstaMaps is a free Google Sheets add-on that converts coordinates to addresses.
- →Use the =REVERSE_GEOCODE(A2, B2) formula to translate latitude and longitude into a street address.
- →The free tier allows 100 lookups per day, expanding to 1,000 lookups with a free email unlock.
- →Use =POSTCODE(A2, B2) to extract specific location data without parsing the full address.
- →Plot your batch of coordinates on a live, shareable URL using the =INSTAMAP() formula.
What you need before you start
To follow this tutorial, you need a Google Sheets document containing decimal coordinates and the InstaMaps add-on installed. InstaMaps is a free Google Workspace add-on that provides custom mapping and geocoding formulas. It runs entirely inside your spreadsheet, meaning you do not need to export your data to third-party servers to convert coordinates.
To install it, navigate to Extensions > Add-ons > Get add-ons, search for InstaMaps, and install it. Once installed, you access the formula builder via Extensions > InstaMaps > Formulas. The sidebar lets you insert formulas without typing, which helps prevent syntax errors. The add-on provides a free tier of 100 lookups per day, and expanding this to 1,000 lookups per day requires a free email unlock.
Step 1: Convert single coordinates to an address
The primary function for translating GPS points into physical locations is =REVERSE_GEOCODE(). If your spreadsheet contains a latitude in column A and a longitude in column B, click cell C2 and enter the formula =REVERSE_GEOCODE(A2, B2).
Press Enter, and the cell will populate with the closest known street address to those coordinates, pulling directly from the Google Maps database. For users processing multiple rows, you can apply the formula to a whole column by providing an array range. Typing =REVERSE_GEOCODE(A2:A50, B2:B50) into cell C2 will automatically populate down to row 50.
The function returns a single line address, such as '1600 Amphitheatre Parkway, Mountain View, CA 94043, USA', preparing your data for human review or mail merges.
Step 2: Extract specific components like postcodes
Often, you do not need an entire street address. If you are plotting regional sales territories or calculating delivery zones, a specific component like the postcode or county is more useful. Instead of running a full reverse geocode and then using text formulas to parse out the postcode, InstaMaps includes targeted formulas.
If you want just the postal code for a set of coordinates, use =POSTCODE(A2, B2). Similarly, you can extract administrative boundaries using =COUNTY(A2, B2), =CITY(A2, B2), or =STATE(A2, B2). These functions return clean text strings without secondary formatting requirements. This reduces spreadsheet bloat and speeds up processing times when you are auditing large sets of field data.
Step 3: Map your new addresses automatically
Once you have translated your coordinates into addresses or postcodes, the next logical step is visualising that data. InstaMaps handles this natively with the =INSTAMAP() function.
In an empty cell, type =INSTAMAP(A2:A50, B2:B50). The cell will generate a live, hosted map URL. Clicking this link opens a shareable web map displaying all your coordinate points. The map updates automatically when the underlying sheet changes. If you delete rows or add new coordinates, the hosted map reflects those changes without requiring you to regenerate the link. This is useful for dispatchers who need to share live route updates with drivers who do not have access to the underlying spreadsheet data.
Worked example: Mapping a 200-home farm survey
Consider an agricultural consultant auditing a 200-acre farm with 5 separate irrigation crews. The crews use a mobile application that logs raw GPS pings for 47 broken sprinkler heads. The consultant receives a sheet with 47 rows of coordinates in columns A and B, but no physical landmarks or addresses.
The consultant needs to dispatch the correct crews to the nearest access roads. First, they select cell C2 and enter =REVERSE_GEOCODE(A2:A48, B2:B48). This instantly populates the column with the nearest physical addresses to those 47 sprinkler heads. Next, they use =POSTCODE(A2:A48, B2:A48) in column D to group the repairs by postal sector. Finally, they generate a visual reference for the crew foremen by typing =INSTAMAP(A2:A48, B2:B48) in cell E1. The foremen receive the map URL, see the 47 points plotted visually, and plan their 5 crew routes based on the postcode grouping.
Limits and honest alternatives
InstaMaps provides a free tier of 100 lookups per day, which increases to 1,000 lookups per day with a simple email verification. This quota is shared across all InstaMaps functions within the document. If you have a spreadsheet with 5,000 rows of historical coordinates, you will need to process them in batches across several days, or verify your email and process 1,000 per day.
If your business model requires processing 50,000 rows daily, a free Google Sheets add-on is not the right tool. In that scenario, a paid enterprise API like the Google Maps Platform is genuinely better, as it allows for higher query volumes and direct database integration. However, for standard field operations, ongoing address validation, and teams of 5 to 50 people, the 1,000 daily limit covers standard operational needs without incurring monthly API billing costs.
Map your Salesforce accounts in under 5 minutes — no admin setup.
Common Questions
You can drag the =REVERSE_GEOCODE() formula down the column, or input an array range like =REVERSE_GEOCODE(A2:A50, B2:B50) to process the batch automatically. This pulls the nearest address for all coordinate pairs in the specified range.
The base tier provides 100 lookups per day. You can verify your email within the add-on to increase this limit to 1,000 free lookups per day. This covers the vast majority of standard daily field operations.
Use the =POSTCODE() formula instead of standard reverse geocoding. Typing =POSTCODE(A2, B2) returns only the postal code, saving you from having to parse a full text string to find the exact sector.
GPS coordinates often fall between properties or on unnamed roads. The geocoder snaps to the nearest known address point in the Google Maps database, which might be slightly down the street or across the road from the exact physical ping.
Install InstaMaps to translate latitude and longitude into readable street addresses directly inside your spreadsheets.
Install InstaMaps free