GIS Tools

Language

Made withfor the GIS community

CSV to Points Layer

Build a points layer from CSV with latitude/longitude columns

Import & Export

Drop CSV file here

CSV with latitude/longitude columns

or

Tips

  • CSV must have header row with column names
  • Latitude: -90 to 90, Longitude: -180 to 180
  • Use "Swap Lat/Lon" if points appear in wrong location
  • All CSV columns become GeoJSON properties

What Is a CSV to Points Layer Converter?

A CSV to points layer converter takes a comma-separated values file with latitude and longitude columns and turns it into a real spatial layer β€” a GeoJSON FeatureCollection of Point features β€” that you can render on a map, query with attributes, and feed into the rest of a GIS workflow. It's the simplest possible way to get tabular data onto a map, and it's the daily bread of analysts, journalists, scientists, and anyone who exports data from a database or a spreadsheet into a CSV.

The gis.tools CSV to Points Layer is a free, browser-based converter that handles the messy realities of real-world CSV files: column auto-detection, multiple coordinate formats, alternative delimiters (tab, semicolon, pipe), thousands of points, and arbitrary attribute columns. Drop in a CSV, confirm or override the lat/lon columns, and you'll see your points on a map within seconds. Nothing leaves your browser.

How CSV to Points Conversion Works

The converter parses your file with a streaming CSV reader that respects quoted fields, embedded commas, and various line endings (LF, CRLF, CR). It looks at the header row and auto-detects which columns hold latitude and longitude using common name patterns: lat, latitude, y, lat_dd; lon, lng, longitude, x, lon_dd. If it can't find an obvious match, it lets you pick from a dropdown.

For each row, the converter creates a GeoJSON Point feature with coordinates: [lon, lat] (in that order β€” GeoJSON convention is x,y) and copies every other column into the properties object. The result is a FeatureCollection ready for any web mapping library.

Coordinate Format Detection

Latitude and longitude can be expressed as decimal degrees (-122.42), degrees-minutes-seconds (37Β° 46' 30" N), or degrees-decimal-minutes (37Β° 46.5'). The converter handles decimal degrees by default and offers the Coordinate Format Converter if you need to preprocess DMS or MGRS first.

Delimiter Auto-Detection

Not every CSV uses commas. European exports often use semicolons. Tab-separated values (.tsv) use tabs. The parser sniffs the first few lines to figure out the delimiter automatically.

Practical Applications

Data Journalism

Reporters publishing investigations into traffic deaths, eviction filings, restaurant inspections, or campaign donations frequently start from a CSV downloaded from a government portal. Converting to a points layer lets them embed an interactive map alongside the article.

Customer and Sales Mapping

Marketing and sales teams export customer addresses (after geocoding) from their CRM as a CSV with lat/lon columns. Converting to a points layer enables territory analysis, route planning, and store catchment studies.

Scientific Field Data

Ecologists, archaeologists, geologists, and ornithologists record field observations in spreadsheets. A CSV-to-points converter is the fastest way to map their findings without installing desktop GIS.

Real Estate Listings

MLS exports include latitude and longitude alongside property attributes. Brokers building custom map dashboards convert the CSV to a point layer and style it by price, square footage, or days on market.

Asset and Infrastructure Inventories

Utilities, telecoms, and municipalities track poles, valves, sensors, and inspection sites in spreadsheets. Mapping them is the first step of any maintenance or planning analysis.

Public Health and Epidemiology

Case reports, vaccination sites, and clinic locations live in CSVs. Converting to points lets epidemiologists and public health analysts visualise outbreaks and access patterns.

Disaster Damage Assessment

Field teams collecting damage reports after hurricanes or earthquakes log them as CSV with GPS coordinates. Converting to a point layer gives emergency operations a real-time map.

Step-by-Step Workflow in gis.tools

  1. Open the CSV to Points Layer page.
  2. Drag your .csv (or .tsv) file onto the drop zone, or paste CSV text directly.
  3. The converter previews the first few rows in a table.
  4. Confirm or change the auto-detected latitude and longitude columns.
  5. Optionally specify a CRS if your coordinates are not WGS84 (the default).
  6. Click Generate and inspect the points on the preview map.
  7. Download the resulting GeoJSON or hand it off to other gis.tools utilities for analysis.

Worked Example

A city public health analyst has a CSV with 4,100 COVID-19 testing sites. The columns are site_name, address, latitude, longitude, hours, appointment_required, and walk_in. They drop the file in. The converter recognises the lat and lon columns automatically, parses the rest as properties, and renders all 4,100 points on the city map within a couple of seconds.

The analyst notices a cluster of points off the coast β€” those are rows with default 0,0 coordinates from broken records. They make a note to clean those before publication, download the GeoJSON, and pass it through the GeoJSON Validator & Fixer to flag the bad rows. The cleaned point layer is then loaded into a public-facing dashboard built on MapLibre GL JS.

Common Pitfalls and Gotchas

  • Swapped lat/lon β€” The most common mistake in spatial CSVs is having latitude in the longitude column. Points end up in the wrong hemisphere. Always check the bounding box on the preview map.
  • Locale-formatted numbers β€” A CSV with European number formatting (52,3174 instead of 52.3174) confuses parsers expecting English conventions.
  • Default zero coordinates β€” Records with missing GPS often default to 0,0, which lands in the Gulf of Guinea. Filter or flag these rows.
  • Quoted vs unquoted commas β€” Address fields containing commas can break naive parsers. The converter handles RFC 4180 quoted fields correctly.
  • Encoding mismatches β€” Non-ASCII attributes in Windows-1252 or Latin-1 produce garbled text if read as UTF-8. Save as UTF-8 first.
  • Header names with spaces or special characters β€” Some downstream tools dislike property keys with spaces; rename columns first if needed.
  • Coordinate precision overload β€” Geocoded CSVs sometimes have 12 decimal places, far more than meaningful. Reduce with the Coordinate Precision Reducer.

Tips for Best Results

  • Save your CSV as UTF-8 to avoid encoding surprises.
  • Use clear column headers like latitude and longitude so auto-detection works.
  • Validate the bounding box on the preview map before downloading.
  • Filter out 0,0 and other default-coordinate rows before publishing.
  • For very large CSVs (hundreds of thousands of rows), preprocess in a database or with csvkit first.
  • Add a unique ID column so you can later join the points back to the source table.
  • Use the De-duplication Tool afterward to remove duplicate observations.

Comparison with Other GIS Approaches

QGIS imports CSV via Add Delimited Text Layer, which is powerful but requires installation. ArcGIS Pro has XY Table to Point, which works great if you already have ArcGIS. The Python ecosystem has pandas plus geopandas, perfect for scripted workflows but overkill for a one-off conversion. Online services like MyGeodata Cloud do similar conversions but upload your data. The browser-based gis.tools converter is the fastest path for ad-hoc CSVs and the only option that keeps your data on your machine.

Performance Considerations

The converter handles up to about 500,000 rows on a typical desktop browser before noticeable slowdowns. Beyond that, switch to a streaming or scripted approach. The bottleneck is usually rendering tens of thousands of point markers; the Clustered Points Renderer or the Heatmap Renderer is essential for very dense datasets.

Data Privacy and Browser-Based Processing

CSV files containing customer addresses, patient records, or research subject locations are exactly the kind of data you must keep private. Everything in this converter runs locally in your browser tab β€” no uploads, no telemetry, no server-side processing.

Related GIS Concepts

WGS84 (EPSG:4326) β€” The default CRS for latitude and longitude data, used by GPS, GeoJSON, and most online sources.

Geocoding β€” Turning text addresses into latitude and longitude. CSV-to-points starts where geocoding ends.

Spatial Join β€” Once your CSV is a point layer, you can intersect it with a polygon layer to count points by district. See the Spatial Join tool.

Frequently Asked Questions

My CSV uses lat and lng instead of lat and lon. Will it work?

Yes β€” auto-detection covers all common variants.

Can my CSV have address columns instead of coordinates?

Not directly. You need to geocode the addresses first; this converter only takes lat/lon.

What's the maximum row count?

About 500,000 on a desktop browser before you notice slowdowns.

Can I keep all the other columns as attributes?

Yes β€” every non-coordinate column becomes a GeoJSON property automatically.

Related Tools on gis.tools

100% client-side processing - your data stays private and never leaves your device