How to convert CSV to Shapefile
- Drop the CSV onto the converter, or click the box to browse for it.
- Confirm the coordinate columns in the pickers: a latitude and longitude pair, or a WKT column.
- Choose Shapefile and convert, then unzip to find .shp, .shx, .dbf, .prj and .cpg together.
What changes when you convert CSV to Shapefile
| What | CSV → Shapefile | |
|---|---|---|
| Geometry | Changes | Points, lines and polygons are all carried over, but a Shapefile holds a single geometry type per file. A layer that mixes types is written one type at a time. |
| Attributes | Changes | Every column is kept, but the Shapefile .dbf caps field names at 10 characters, so long names are shortened (values are untouched). |
| Styling & labels | Kept | Neither CSV nor Shapefile stores visual styling, so there is nothing to lose. Geometry and data carry straight over. |
| Coordinate system | Changes | CSV has no CRS. You can assign one before converting; otherwise the numbers are passed through and tagged WGS84. |
| Elevation (Z) | Not stored | CSV has no 3D geometry. An elevation column, if the table has one, rides along as an ordinary attribute rather than as Z height. |
| File structure | Changes | A working Shapefile is several files, so you download one .zip holding .shp, .shx, .dbf, .prj and .cpg. Keep them together. |
What your spreadsheet needs first
The sheet needs two columns the converter can read as a position: a latitude and a longitude in decimal degrees, or a single WKT column for ready-made geometry. Every other column, the site name, the date, an ID, a reading, rides along into the .dbf attribute table and shows up when the layer opens in QGIS or ArcGIS. There is no template to download and no fixed column order.
The columns that matter
- Latitude between -90 and 90, negative in the southern hemisphere. Headers such as
lat,latitudeoryare recognized without any setup. - Longitude between -180 and 180, negative west of Greenwich. Headers such as
lon,lng,longitudeorxare recognized the same way. - A WKT column when the sheet describes lines or polygons. LINESTRING and POLYGON text is rebuilt as real geometry, one shapefile per type inside the zip.
Write the coordinates as decimal degrees, 33.6844 and 73.0479, with a decimal point rather than a comma. A value such as 33°41'04"N is text to the converter; run it through the coordinate converter first. A plain .csv works, as does a CSV exported from Excel or Google Sheets, and the dropdowns above the Convert button let you correct the column guess before anything is written.
Why convert CSV to Shapefile?
People keep point data in a spreadsheet because rows are easy to edit, filter and share, while desktop GIS still runs on the shapefile. A plain table of addresses or sensor readings becomes real geometry here, which lets ArcGIS, QGIS, GeoServer or MapInfo treat it like any native layer. A common pattern collects field observations in a sheet all season and hands off a shapefile whenever a GIS colleague needs the current state. Sheets that store geometry as WKT go further than points, because the converter rebuilds LINESTRING and POLYGON text into true line and polygon layers.
Coordinate system handling
The system you choose is written into the .prj, so the layer opens in the right place in QGIS or ArcGIS. Rows are read as WGS84 longitude and latitude unless you say otherwise, and that default is right only when the values really are degrees.
Eastings and northings from a UTM zone or a national grid need their matching system picked before converting, or the points land near Null Island. Choosing the correct EPSG code up front saves a reprojection job later.
What to check when converting CSV to Shapefile
Rows without valid coordinates are skipped, so a blank cell or a number stored as text means a missing point rather than an error message. Column headers deserve a look too, because the .dbf caps attribute names at 10 characters and a header like longitude_reading is truncated, with colliding names renamed to stay unique. A source that mixes geometry types still converts; one shapefile holds one type, so the converter writes one file per type inside the single zip.
Troubleshooting CSV to Shapefile
- Points land far from where they should. The latitude and longitude columns are swapped, or projected meters were read as degrees. Check the pickers, confirm latitude sits between -90 and 90, and give UTM or state plane values their matching coordinate system before converting.
- The layer opens in the wrong location in QGIS. The coordinate system chosen at convert time did not match the values, so the .prj tells QGIS the wrong story. Convert again with the right system; reprojecting afterward cannot repair a wrong initial read.
- Many rows never made it into the layer. Rows with a blank or non-numeric coordinate are skipped rather than placed at zero. Sort the sheet by the coordinate columns to find blanks and stray text, fix them, and convert again.
- Route data came out as single points. Two coordinate pairs on one row still read as a single point. Ordered vertices belong in a WKT LINESTRING column, which is rebuilt as real line geometry; plain latitude and longitude columns always produce points.
About the formats
A CSV is where point data usually starts life: a coordinate table someone maintained in a spreadsheet. A Shapefile is where desktop GIS wants it next. The conversion reads your latitude and longitude columns, builds real point geometry, and carries the remaining columns into the .dbf attribute table. That turns an editable list of places into a layer ArcGIS or QGIS can style, query and join. The spreadsheet stays your source of truth while the shapefile becomes the map-ready copy.
Frequently asked questions
Can one shapefile hold my point rows and my route rows together?
One shapefile cannot, because the format stores a single geometry type per file. There is no need to split the data by hand, since the converter writes one shapefile per geometry type and packs them all inside the one zip you download.
Why did no shapefile appear after the conversion finished?
The coordinate cells are empty or stored as text, which makes every row unusable. Turn them into real numbers with a decimal point, confirm at least one row has both values, and run the conversion again.
Do I need a template or fixed column order?
No. Headers such as lat, latitude or y and lon, lng, longitude or x are detected, in any column order. A wrong guess is easy to fix from the dropdowns above the Convert button before anything is written.
Why does my CSV to Shapefile download arrive as a .zip?
A shapefile is a set, at minimum the .shp, .shx and .dbf, with the .prj carrying the coordinate system and the .cpg the text encoding. Bundling the five into one zip is the only reliable way to keep the parts together.
Will my CSV column names survive in the shapefile?
Mostly, yes. Names longer than 10 characters are shortened, because the .dbf enforces that limit, and two names that collide after shortening are renamed apart. Rename long headers before converting when they need to stay readable in ArcGIS or QGIS.
Related converters
A CSV of coordinates converts just as readily to a KML or KMZ for Google Earth, or a GeoJSON layer. The Spreadsheet to map tool maps them all, Excel included.
Ready to convert?
Drop a file and download the result in seconds. Nothing is uploaded, nothing is stored.