Which option fits
| You need | Use | Limit |
|---|---|---|
| Street-level pins you can click, share or embed | Google My Maps | 2,000 rows per layer, 10,000 places per map |
| Countries, states or cities shaded or sized by a number | Sheets geo chart | Not for street addresses |
| A quick picture of where your rows are, inside the spreadsheet | A static map image (for example from an add-on) | Not interactive |
Google My Maps: free, interactive pins
Google My Maps can import a Google Sheet directly, and it can geocode addresses itself, so you don't need coordinates first.
- Make sure your sheet has a header row and a column with addresses, or latitude and longitude columns. Keep it under 2,000 rows. For more, split it into several tabs or files.
- Go to google.com/maps/d and click Create a new map.
- In the layer panel, click Import, choose Google Drive and select your spreadsheet (then the tab).
- Pick the column(s) that position the pins: an address column, or Latitude and Longitude.
- Pick the column to use as the pin title, for example a name.
- Style the pins under Uniform style. For example, choose Style by data column to colour pins by category.
- Share it with the Share button, or embed it on a site from the menu (⋮ → Embed on my site; the map must be public).
Every column in the sheet appears in the pin's pop-up. Remove anything private, such as phone numbers or notes, before importing a map you'll share. Google's help page lists the file types and limits.
Prepare the sheet for My Maps
My Maps reads your first row as column titles and needs at least one column it can place: latitude and longitude, an address, a place name, or shapes as WKT text in a column named WKT. A few minutes of preparation saves a lot of re-importing:
- One row per place, no merged cells, no blank rows, no totals at the bottom.
- Complete addresses. “12 High St” could be in hundreds of towns. Include the city, state or region, and country, in one column or in separate ones (you can tick several columns when importing).
- A map tab with only public columns. Every imported column shows up in the pop-up and in the map’s data table. Instead of deleting columns from your main sheet, build a separate tab with a formula that copies just what you want to show:
This copies columns A, C, D and E (for example name, address, city, category) of the active rows, with the header row, and stays in sync with the main sheet. Import that tab.=QUERY(Customers!A1:H, "select A, C, D, E where H = 'Active'", 1) - Size limits. Google’s help says not to import files with more than 2,000 rows. A layer holds up to 2,000 places and a map up to 10 layers and 10,000 places. There’s also a limit of 20,000 data-table cells per map, so 2,000 rows × 10 columns already uses it all: fewer columns let you map more rows.
Keeping the map up to date
A My Maps layer is a snapshot: editing the spreadsheet doesn't move the pins. To update, open the layer's menu (⋮) and choose Reimport and merge, then Replace all items. That keeps your layer styles. If your addresses don't change often, this is fine. If they change daily, you need a mapping tool that syncs with Sheets, which is usually paid.
The three reimport options
Reimport and merge (in the layer menu) offers three choices. Pick the one that matches what changed:
| Option | What it does | Use it when |
|---|---|---|
| Replace all items | Deletes the layer’s places and imports the sheet again. Style rules are kept, but anything you edited by hand on the map (moved pins, photos, notes) is lost. | The sheet is the master copy and you never edit pins on the map. |
| Update matching items | You choose the column(s) that identify a row. Places that still match keep their photos and styles and get the new data; new rows are added; places with no matching row are deleted. | You have a stable ID column (customer number, store code) and you add photos or tweaks on the map. |
| Add more items | Imports the rows as new places and leaves the existing ones alone. | You append a new batch, such as this month’s new customers, from a separate tab or file. |
“Update matching items” only works well with a column that never changes for a given place. Names and addresses get corrected, so add an ID column before the first import if you think you’ll use it.
A map that updates itself, free: Data Studio
If the map must follow the spreadsheet without reimporting, Google’s free reporting tool Data Studio (until recently called Looker Studio) can draw a Google Maps bubble map straight from a sheet:
- Create a report and add your spreadsheet with the Google Sheets connector.
- In the data source, set the type of your location field to Geo → Address. Or, more reliably, make one column of coordinates in the sheet with
=B2&","&C2(latitude, comma, longitude) and set its type to Geo → Latitude, Longitude. - Insert a Google Maps → Bubble map and choose that field as the location. Add a dimension such as name or category for the tooltip and colour.
- Share the report, or embed it on a website.
Google’s limits: a bubble map shows up to 1 million points from a latitude-longitude field but only 3,500 from address or other place fields, so coordinates go much further. Sheets data is cached, by default for about 15 minutes, so edits appear after a short delay rather than instantly. It’s a report rather than a map you edit: you can’t drag pins or draw on it the way you can in My Maps.
The built-in geo chart
Google Sheets has two map charts under Insert → Chart → Chart type → Map:
- Geo chart: shades countries or states by a value, for example sales by state. The data is a location column (country or state names, or codes like
US-CA) and a number column. Google's help page covers the formats. - Geo chart with markers: draws circles sized by a value at named locations such as cities.
Both show a whole region (the world, a continent or a country) and are designed for comparing areas. They aren't street-level maps, and you can't zoom in to a neighbourhood. For individual addresses, use My Maps.
A map image inside the sheet
Sometimes you just want to see your rows on a map inside the spreadsheet, for example to spot an outlier or to share one file with a picture of the coverage. My Maps can't put a map into a sheet, and Sheets has no native street-level map. A static map image does it. Most static-map services need coordinates, so geocode your addresses first.
Tips for clean maps
- Geocode once, map many times. Importing coordinates is faster and more predictable than importing addresses. You can see and fix bad matches in the sheet first.
- Look for pins stacked on one spot. They usually fell back to a city or ZIP center because the address was incomplete.
- Fewer columns, nicer pop-ups. Make a tab with only the columns you want people to see, and import that.
Troubleshooting
Some rows are missing from the map. My Maps couldn’t place them, usually because the address is incomplete or misspelt. My Maps tells you after the import when rows couldn’t be placed; compare the layer’s data table with your sheet to find them, fix them in the sheet, and reimport. Rows with latitude and longitude always place, so geocoding first avoids the problem.
Pins in the wrong place, or several on one spot. The address matched a different town, or only the city or postcode was found. Add the region and country, or switch to coordinates. For a one-off, you can drag a pin on the map, but a “Replace all items” reimport puts it back.
Latitude and longitude put the pins in the sea. The columns are swapped, a minus sign is missing, or the numbers are stored as text. Western longitudes and southern latitudes are negative.
Private columns in the pop-up. You can delete a column in the layer’s data table, but the safest fix is to import from a tab that never contained it (see the QUERY tab above), so a later “Replace all items” can’t bring it back.
The spreadsheet doesn’t appear in the import dialog. Check that you’re signed in to My Maps with a Google account that can open the sheet. As a fallback, download the tab as CSV (File → Download) and upload that file.
Frequently asked questions
How do I create a map from a Google Sheet?
Open Google My Maps, create a new map, click Import in the layer panel and choose your spreadsheet from Google Drive. Select the address or latitude/longitude columns to position the pins and a column for the titles.
How many addresses can I import into Google My Maps?
Up to 2,000 rows per import (one layer), and a map can have up to 10,000 lines, shapes or places in total. Split bigger lists into several layers.
Does a My Maps map update when I change the spreadsheet?
No. The import is a snapshot. Use the layer menu's reimport option to refresh it after you edit the sheet.
Can the Google Sheets geo chart show street addresses?
Not really. The geo chart is built to compare countries, states or other regions, and the marker version places circles at named locations such as cities. For street-level pins, use Google My Maps.
Is Google My Maps free?
Yes. My Maps is free with a Google account, and so are importing, styling, sharing and embedding a map within the limits on this page.
How do I colour pins by category?
In the layer, click Uniform style and choose Style by data column, then pick a column such as Category. Each value gets its own colour and icon, which you can change. A column in number format can also be styled in ranges.
Can I embed the map on my website?
Yes. Make the map public with the Share button, then use the map menu and Embed on my site to get an iframe code. A Data Studio report can be embedded too.
Can I make a heat map from a Google Sheet?
My Maps and the Sheets geo chart don't draw density heat maps. The Sheets geo chart can shade regions such as states by a number, which covers many of the same needs; for a true point-density heat map you need another mapping tool.
Related guides
- The best Google Sheets add-ons for maps, geocoding and distances
- How to map ZIP codes from a Google Sheets list
- How to geocode addresses in Google Sheets
- Distance between two coordinates in Google Sheets (haversine formula)
- Reverse geocode in Google Sheets: coordinates to addresses
- All guides
Disclosure: we make MapRows, a Google Sheets add-on mentioned in this guide. We describe the free methods as fairly as we can, including where they are the better choice.