You have a spreadsheet with a few hundred rows and two columns of coordinates, and you want it on a map by lunchtime. Here's the whole process, plus the handful of data problems that trip people up.
What you need before you start
A file where each row is one place, with a header row. CSV, .xlsx, and
.xls all work.
The only genuinely required columns are latitude and longitude. Everything else — name, category, phone, notes, a photo URL — is optional and becomes something you can show in a popup, search across, or filter by.
Step 1: Check your coordinates
This is where nine out of ten import problems come from, so it's worth two minutes before you upload.
Decimal degrees only. 41.8902 and 12.4922 are what Mapji reads.
This is the one to be careful about, because the failure is silent rather than
loud. Mapji reads a coordinate cell up to the first character that isn't part of
a number, so 41°53'25"N doesn't get rejected — it becomes 41, a valid
latitude about 60 km from where you meant. Convert degrees-minutes-seconds to
decimal before you upload; most spreadsheet tools can, and so can any online
converter.
Watch for swapped columns. Latitude is the one between −90 and 90;
longitude runs −180 to 180. If a latitude value is 112.4, the columns are the
wrong way round — that value is impossible as a latitude, and Mapji will drop
the row rather than plot it somewhere wrong. Swaps within range are sneakier:
they plot successfully, just in the wrong country.
Watch for empty or zero coordinates. A row with 0 in both columns isn't
skipped — it's a valid point in the Gulf of Guinea off West Africa, the spot
known as Null Island. A surprise cluster there means those rows lost their
coordinates somewhere upstream.
Check the decimal separator. For the same reason, a European export using
41,8902 as a decimal comma reads as 41 — everything after the comma is
dropped. Save as a standard CSV with . decimals.
Strip stray text. 41.8902 N is fine as it happens: the trailing N is
ignored and you get 41.8902. But ~41.89 starts with a character that isn't
a number, so nothing parses and the row is dropped. The rule of thumb: junk
after the number is silently ignored, junk before it kills the row.
Step 2: What if I only have addresses?
Mapji plots latitude and longitude. It does not turn 12 Rue de Rivoli, Paris
into coordinates for you.
You'll need to geocode the list first using a dedicated service, then paste the resulting coordinates back into two new columns. Several are free at modest volumes, and for a few hundred rows this is a one-off job of a few minutes.
Keep the address column in your file afterwards. It's useful in popups, and the map's search will match against it, so visitors can type a street name and find the right entry — even though the map itself never geocoded anything.
Step 3: Pick the right map type
Same data, different questions:
| You want to show | Use |
|---|---|
| Lots of points without visual clutter | Cluster map |
| Where things concentrate | Heatmap |
| A findable list of branches or venues | Store locator |
| How a value varies across regions | Choropleth |
| How things changed over time | Time slider |
If you're not sure, start with a cluster map. It handles anything point-shaped and stays readable at every zoom level. You can always build a second map from the same file.
Step 4: Upload
Create the map, open Import Data, and choose Upload File.
Mapji reads the first sheet of an Excel workbook, so if your data is on a
tab called Data behind a cover sheet, move it to the front or save that tab as
its own CSV.
Coordinate columns are detected automatically — Mapji recognizes lat,
latitude, lng, long, longitude, x, y and similar. Confirm the guess
or pick from the dropdown, then choose which columns supply the popup title and
description.
Bring the rest of your columns along as properties if you want to search or filter on them later. It costs nothing and saves a re-import.
Step 5: Make it readable
An import gets your points on screen. A few minutes more makes the map useful:
- Turn on search and filters. Pick the fields visitors can search, and add dropdown, multi-select, or numeric-range filters for the columns worth narrowing by. Mapji infers the control from the column — see the search and filters reference for how it decides.
- Set the popup content. A title and one or two useful fields beats dumping every column.
- Choose a theme. A light or grayscale base makes colored markers pop; a dark base suits a heatmap.
What happens to bad rows
Rows Mapji genuinely can't read are skipped rather than guessed at: blank coordinates, values that don't start with a number, and anything outside the real range of the globe. A map with 480 correct points and 20 missing is far easier to debug than one with 500 points where 20 are quietly in the ocean.
The two cases that do get through are the ones worth checking for, because both look like successful imports:
- A partly-numeric cell, like the decimal-comma and DMS examples above. It parses to a plausible number and plots in the wrong place.
- A literal
0,0, which is a real location — Null Island — rather than an error.
So after an import, compare the feature count against your row count, and look at the map zoomed all the way out. A stack of pins off West Africa, or a scatter of points in the wrong country, is what these two failures look like.
Size limits
Up to 10,000 features per data source, from a file up to 25 MB — see the data import reference. If you're over, you have three good options:
- Filter to the subset you actually want to show.
- Aggregate into regional totals and use a choropleth instead — usually the clearer story anyway.
- Split into several maps by region or category.
Keeping it up to date
If the file will change, consider skipping file uploads entirely and connecting a Google Sheet instead. The map then follows the sheet automatically, and you never repeat the import.
For a one-off dataset that won't change, a file upload is simpler and there's no reason to over-engineer it.
Ready? Turn your spreadsheet into a map.