5 min read

How to Turn a Google Sheet into a Live Map

A spreadsheet is where most location data already lives — branch lists, event venues, survey responses, sensor sites. The problem is that a spreadsheet can't show you that three of your five depots serve the same neighborhood. This guide turns a Google Sheet into a live interactive map, and keeps the two in sync so you never export anything again.

Why connect a sheet instead of uploading a file

Uploading a CSV works, but it's a snapshot. The moment someone adds a row, the map is out of date and somebody has to remember to re-upload it.

A connected sheet removes that step entirely. The spreadsheet stays the source of truth, your colleagues keep editing the thing they already know how to edit, and the map follows along. Nobody needs a Mapji login to update the data — they just need edit access to the sheet.

What your sheet needs

One row per place, and a header row naming the columns. At minimum:

ColumnHolds
latitudeDecimal degrees, e.g. 52.37
longitudeDecimal degrees, e.g. 4.89
nameWhat to call the point

Everything else is optional and yours to define — category, phone, opening hours, capacity, a photo URL. You decide later which of those become the popup title, the description, or a filter.

One thing worth getting right before you connect: coordinates must be plain decimal degrees, in the right columns. 52.3702 works; 52°22'12"N quietly becomes 52, and a decimal comma like 52,3702 quietly becomes 52. Swapped lat/lng columns are the other classic. The full set of coordinate problems, and how to spot each one after an import, is covered in making a map from a CSV or Excel file — it's the same import path, so all of it applies here.

If you only have street addresses, you'll need to convert them to coordinates first. Mapji plots coordinates and doesn't geocode addresses for you, so run the list through a geocoding service, paste the results back into two new columns, and carry on.

Step 1: Pick a map type

Google Sheets sync works with five map types, and the one you choose determines which columns matter:

  • Cluster map — many points, grouped into counts that split apart as you zoom. The safest default.
  • Heatmap — density rather than individual points.
  • Store locator — a searchable sidebar list beside the map.
  • Choropleth — shaded regions. Needs a region column and a value column instead of lat/lng.
  • Time slider — animates through a date column.

Draw maps, isochrones, story maps, and crowdsourced maps use their own data flows and aren't sheet-driven.

Step 2: Connect the sheet

In the editor, open Import Data and choose Google Sheets. You'll be asked to sign in with Google and grant read-only access to Sheets the first time.

Read-only is the whole contract: Mapji reads your spreadsheet and never writes to it. It cannot add a column, reformat a cell, or delete a row. Whatever the sheet says, the map shows.

Paste the spreadsheet URL and pick the tab you want. The sheet does not need to be shared publicly — it only needs to be readable by the Google account you signed in with, so a private company spreadsheet works fine.

Step 3: Map your columns

Mapji reads the header row and tries to detect the coordinate columns itself, recognizing the usual names — lat, latitude, lng, long, longitude, and so on. Confirm what it guessed, or pick manually from the dropdowns.

Then choose which column supplies the popup title and which supplies the description. There's also an option to pass every remaining column through as feature properties, which is what you want if you plan to use search or filters later — you can't filter on a column you didn't bring along.

A few map types ask for one more column: a choropleth wants a region column (names or codes) and a value column instead of coordinates, a time slider wants the date column, and a heatmap can take a numeric weight column so some points count for more than others. Mapping the weight explicitly means it reaches the map whether or not you pass all the other columns through.

Step 4: Publish

The first sync runs immediately, so you'll see your points straight away. From there, publish to a free yourmap.mapji.com subdomain or connect your own domain, and embed the map on your site.

How the syncing actually works

After the initial import, Mapji re-checks connected sheets roughly every five minutes and updates the map when the content has genuinely changed. Edit a cell, wait a few minutes, refresh — the map has moved on.

If you don't want to wait, there's a Sync Now button that pulls immediately. That's the one to use when you're demoing to someone.

The data import reference covers the connection in full. The sync status widget shows the last successful sync and surfaces errors rather than failing quietly. If a sync fails — the sheet got moved, permissions changed, Google was briefly unavailable — the previous data stays on the map instead of the map going blank, and the next cycle retries.

Limits worth knowing up front

  • 10,000 rows. Beyond that the first 10,000 mappable rows sync and the rest are skipped, with the status reporting the count. If you're over, filter the sheet down or aggregate into regional totals and use a choropleth.
  • The first tab isn't automatic. You pick the tab explicitly, so a workbook with a scratch sheet in front of the real one is fine.
  • Unreadable rows are dropped, and the count is reported. A blank lat/lng or an out-of-range value is skipped rather than guessed at, so compare the synced feature count against your row count after the first sync.

A pattern that works well

Keep one sheet per map, with a published column, and filter the sheet to only the rows you want live. Your team can stage new locations as unpublished rows and flip them on when they're ready — no Mapji access required, no deploy, just a cell change that shows up on the map within minutes.

Ready to try it? Turn your spreadsheet into a map.

Related map types

Keep reading

All guides