CSV · format guide

CSV to map

MapCrafter reads a CSV or TSV file, works out where the geometry is, and draws it as points, lines or areas. It accepts a latitude and longitude pair, a WKT or GeoJSON geometry column, or an address column it will geocode. Delimiters are detected and quoted fields are handled, so most exports work untouched.

What a CSV file is

A CSV is the most common way location data leaves another system: an export from a database, a download from a dashboard, a spreadsheet saved as plain text. The awkward part is that CSV has no concept of geometry, so the coordinates are just more columns and something has to decide which ones matter.

MapCrafter profiles every column on import. Numeric columns that look like latitudes and longitudes are paired; a text column containing WKT or GeoJSON is parsed as geometry; a column of street addresses is offered for geocoding. The import report explains what was detected and any rows that could not be placed. Correct the source columns and re-import if the inferred geometry is wrong.

Everything after that is the same as any other format: pick a basemap theme, choose which column drives colour or size, and export or share.

What MapCrafter reads from it

Latitude and longitude columns
Named lat/lon, latitude/longitude, y/x, or detected by value range
A single coordinate column
Values like "47.3769,8.5417" or "8.5417 47.3769"
WKT geometry
POINT, LINESTRING, POLYGON and their multi- variants
A GeoJSON geometry column
A JSON object in a cell, which is what PostGIS and BigQuery exports produce
Street addresses
Address rows are retained; run geocoding from the selected layer inspector
Region-value tables
Not automatically joined to boundaries. Import polygons with their values already attached

Mapping a CSV file, step by step

  1. 1

    Check your headers

    The first row should be column names. If your file has no header row the first record is read as data instead, which is usually what you want.

  2. 2

    Drop the file into the studio

    Delimiter, quoting and encoding are detected. You will see the column list and what geometry was inferred.

  3. 3

    Confirm the geometry

    Check the import report. Correct the source headers if needed; address rows require an explicit geocoding step.

  4. 4

    Style it

    Choose a colour ramp for a category or a numeric column, and optionally size points by a value.

  5. 5

    Share or export

    Publish a short link, embed it, or export a PNG or the cleaned-up GeoJSON.

Things that go wrong with CSV

Every one of these is a property of the format rather than a bug in a particular tool, which is why they keep happening.

  • The first column name shows up as "id" or similar garbage.

    That is a UTF-8 byte order mark, which Excel writes when you use "CSV UTF-8". MapCrafter strips a leading BOM automatically, but if you are processing the file elsewhere, strip the first three bytes.

  • Every row landed in one column.

    Excel in a European locale exports semicolons rather than commas, because the comma is the decimal separator. Delimiters are detected from the header line, so this usually just works; if it does not, export as TSV instead.

  • Latitude and longitude came out swapped.

    The giveaway is points landing off the coast of Somalia, near 0, 0, or latitudes above 90. If a "latitude" column contains values greater than 90 they are longitudes. Swap them in the geometry step rather than editing the file.

  • Coordinates are in a projected system, not degrees.

    Values in the hundreds of thousands are metres in a projected CRS such as Web Mercator or a national grid, not degrees. CSV carries no projection information, so convert to WGS84 first or supply the data as a Shapefile with a .prj.

  • A numeric column arrived as text and will not colour.

    Usually a stray currency symbol, thousands separator or non-breaking space. Numeric strings that parse cleanly are treated as numbers; anything else is offered as a category instead.

  • Dates render as five-digit numbers.

    That is the Excel serial date leaking through a CSV export. Multiply by 86400 and offset from 1899-12-30, or export the column as an ISO date string instead.

CSV maps in the gallery

21 live maps built from CSV data, each showing its source columns and the geometry that was detected.

CSV questions

How do I plot latitude and longitude from a CSV on a map?
Put the file in the studio. Columns named lat and lon, latitude and longitude, or y and x are paired automatically, and a pair is also detected by value range when the names are unhelpful. You then choose the styling and export or share.
Can MapCrafter map a CSV that only has addresses?
Yes. An address column is detected and offered for geocoding on import. You can also bring your own MapTiler or Mapbox key to use your own provider quota instead of the shared one.
What is the largest CSV I can map?
Practical limits depend on browser memory, geometry complexity and graphics capacity. A server-saved map is limited to 12 MB of serialised data. Try a sample first; simplify large geometry or prepare aggregate cells outside the studio when appropriate.
Is my CSV uploaded to a server?
Parsing happens locally. Saving or publishing uploads the map document, including its geometry and properties. Geocoding sends address text to the chosen service. The original CSV is not uploaded for parsing.
Which delimiters are supported?
Comma, semicolon, tab, pipe and colon are all detected from the header line. Quoted fields containing the delimiter, embedded newlines and doubled quotes are handled, which is what RFC 4180 requires.

Other formats MapCrafter reads

Start with your own file

Last updated 2026-10-22.