Skip to content

Convert CSV to Shapefile

A spreadsheet of coordinates in, a complete zipped shapefile out. Free, and the file never leaves your browser.

or drop CSV here

How the conversion works

  1. 1

    Choose a .csv file, drop it here, or paste the table. Comma, semicolon and tab all work.

  2. 2

    The latitude and longitude columns are found by name (lat, latitude, y; lon, lng, longitude, x). Each row becomes a point record and every other column a DBF field, typed as number or text from its values. A wkt column gives lines or polygons instead.

  3. 3

    Download the .zip and add it to QGIS or ArcGIS as a layer.

How each column is used

Column names are matched after lowercasing and stripping spaces and underscores.

ColumnIn the shapefile
latitude, lat, y, northingThe Y of the point. Decimal degrees, WGS 84; a decimal comma is accepted.
longitude, lon, lng, long, x, eastingThe X of the point.
wkt, geometry, geom, the_geomWell-known text, used when there is no coordinate pair. LINESTRING and POLYGON rows produce a line or polygon shapefile.
Every other columnA DBF field. All-numeric columns become numeric fields, everything else text. Names are cut to 10 characters.

What it does not do

  • Coordinates must be degrees. A CSV in UTM or Lambert metres has to be reprojected first, or use the coordinate converter on this site, then come back.
  • Field names beyond 10 characters are truncated, a DBF limit. A notice says when it happened.
  • Rows without a readable coordinate pair are counted and skipped.
  • One row is one point. A CSV where each row is a vertex of the same line is not joined into a line; build a wkt column first, or use Points to Path in QGIS.

Questions people ask

Does my CSV get uploaded?
No. The shapefile is written in your browser tab and zipped there. Nothing is sent.
Why did my column names change?
DBF caps a field name at 10 characters, so building_height becomes building_h. A second column truncating to the same name gets a numeric suffix.
Are my numbers stored as numbers?
When every non-empty value in the column is numeric, yes: an integer field for whole numbers, a decimal field otherwise. A column with one word in it becomes text.
My coordinates are in Lambert 93 or UTM.
Convert them to latitude and longitude first, then convert here. The coordinate converter on this site does it for a whole table at once.
Can I choose the projection of the shapefile?
The .prj is WGS 84, matching the degrees in the CSV. Reproject in QGIS with Export, Save Features As if you need another one.

Next, open it in QGIS

Every one of these files loads in QGIS in one dialog. Once the points or polygons sit on your imagery, the two TerraLab plugins take over: AI Segmentation detects the objects the file is missing, AI Edit renders a project on the map.