CSV to Points Layer
Build a points layer from CSV with latitude/longitude columns
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
- Open the CSV to Points Layer page.
- Drag your
.csv(or.tsv) file onto the drop zone, or paste CSV text directly. - The converter previews the first few rows in a table.
- Confirm or change the auto-detected latitude and longitude columns.
- Optionally specify a CRS if your coordinates are not WGS84 (the default).
- Click Generate and inspect the points on the preview map.
- 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,3174instead of52.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
latitudeandlongitudeso auto-detection works. - Validate the bounding box on the preview map before downloading.
- Filter out
0,0and other default-coordinate rows before publishing. - For very large CSVs (hundreds of thousands of rows), preprocess in a database or with
csvkitfirst. - 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
Related Tools
View All ToolsCRS Metadata Inspector
Detect and inspect the coordinate reference system of your GIS files
Import & ExportPMTiles/MBTiles Inspector
Inspect PMTiles and MBTiles files: bounds, zoom levels, layer names
Import & ExportAttribute Table Exporter
Export feature attributes to CSV or Excel format
Import & ExportGeoJSON Simplifier
Simplify GeoJSON geometries with an adjustable tolerance slider
Import & ExportCoordinate Precision Reducer
Reduce coordinate decimal precision to shrink file sizes
Import & ExportVector Tile Packager
Convert GeoJSON to Mapbox Vector Tiles (MVT) for preview
Import & Export100% client-side processing - your data stays private and never leaves your device