CSV to HTML Map Converter

Turn any CSV file (or a spreadsheet exported as CSV) into a single, standalone HTML map that you can double-click to open, email to a client, or drop on any static web server. Plot your rows as clickable points, color them by category, and download one self-contained file. The exported file has everything — map engine, styles, and your data — baked right in. It works offline, with zero external requests. No account, no server, no upload: your CSV is parsed and mapped entirely in your browser.

What Columns Should My CSV Have?

Your CSV needs a header row and a pair of coordinate columns. Everything else is optional — the tool auto-detects the roles from the column names and shows its picks in the status bar above the map.

Recognized column namesRoleRequired?
lat, latitude, yDecimal latitude (−90 to 90)✅ Yes
lng, lon, longitude, xDecimal longitude (−180 to 180)✅ Yes
name, title, label, place, store, station, addressMarker label + popup titleOptional
category, type, status, region, countryColor groups for the legend (keep it to 2–20 distinct values)Optional
any other columnShown in the click popup (up to 12 fields per row)Optional

Grab the ready-made template above (the "Download CSV template" button) — it has the right headers and a couple of sample rows, so you only need to replace the values.

How to Convert CSV to an HTML Map

  1. Drop your CSV — drag and drop the file, click to browse, or paste the text straight in. Comma, semicolon, tab, and pipe delimiters are detected automatically, and fields wrapped in quotes (like "Bakery, Downtown") are handled correctly.
  2. Check the auto-detection — the tool looks for latitude and longitude columns (lat, latitude, lng, lon, longitude, x, y) plus a label column and a category column for color-coding. You can see exactly what it picked in the status bar above the map.
  3. Preview the map — every point is plotted as a clickable marker. Click any marker to see all of that row's fields in a popup.
  4. Pick a basemap — choose "Offline (no basemap)" for the smallest, fully self-contained file, or add OSM street tiles or satellite imagery (the tiles load from the internet when the file is opened).
  5. Download the HTML — click "Download Standalone HTML" to get one .html file with Leaflet, all CSS, and your data inlined.
  6. Share it — double-click the file to open it in any browser. Email it, throw it in a shared drive, or host it on any static server. It stays a map forever.

Features

FAQ

Does the HTML map file need an internet connection?

When you pick "Offline (no basemap)", no! The exported file inlines the Leaflet map engine, every style, and your data. It opens from a flash drive, an email folder, or an intranet share with the internet unplugged. If you choose OSM street tiles or satellite imagery, internet is only needed to load those background tiles — your points are always embedded.

What exactly is inside the exported HTML file?

The Leaflet JavaScript engine (~150 KB), the Leaflet styles, a small viewer script, and your rows stored as inline JSON. There are no external scripts, fonts, or analytics. The file size is roughly the size of Leaflet plus one byte per data value — a 200-row store list comes out around 200 KB.

Is my CSV uploaded to a server?

No. Everything happens locally in your browser. The file is read with JavaScript, parsed by the Papa Parse library loaded from this site, and written into the download — all on your machine. Test it: load this page, turn off your internet, and the tool still works.

My CSV has commas inside fields — will it break?

No. This tool parses CSV with Papa Parse, which fully supports quoted fields. A row like "Bakery, Downtown",47.6,-122.3 works exactly as intended. Semicolon-, tab-, or pipe-delimited files are auto-detected, and the header row is required.

How is this different from BatchGeo?

BatchGeo hosts your map on their server and charges $99/month for the pro tier. This tool exports a file you actually own — one HTML file that keeps working offline, forever, for free. When the vendor disappears, your map still exists.

How is this different from SimpleMapLab's CSV to Map?

SimpleMapLab shows an interactive preview on their site and lets you export GeoJSON or KML. This tool previews locally and exports a ready-to-open, standalone HTML map — no account needed, and the result lives entirely on your device.

Can I use this for geocoding addresses?

This tool maps records that already have latitude/longitude values. If your CSV has street addresses instead, add the coordinates with a geocoding service first (Nominatim and the Google Maps API both work), or try the KML/GPX routes from the related tools.