Convert a CSV of locations to GeoJSON points. The separator and the latitude and longitude columns are detected for you, numeric columns become numbers, and rows with bad coordinates are counted and skipped instead of failing the whole file. The file is read in your browser and never uploaded.
- Free, no signup
- Detects separator and columns
- Reports bad rows
- Runs in your browser: no upload
No file handy? Download a sample CSV with five Rajasthan towns, latitude and longitude columns and an id column with leading zeros.
How to convert a CSV to GeoJSON
- Load the CSV. Drop a .csv, .tsv or .txt file onto the box above, or click it to browse. The separator (comma, semicolon, tab or pipe) is detected for you.
- Check the columns. The page picks the latitude and longitude columns from their names. If it cannot, or picks wrongly, choose them from the lists. The summary shows how many rows became points.
- Choose the options. Decide whether to keep the coordinate columns as properties, whether to turn numeric columns into numbers, and how the file is laid out.
- Download. Click Download GeoJSON. Each row becomes a point feature with the other columns as properties.
What your CSV needs
- One row per place, with a header row of column names (you can untick that option for a file without one).
- A latitude column and a longitude column in decimal degrees, WGS 84. Names such as lat, latitude, y, lon, lng, long, longitude and x are recognised automatically, with or without capitals, spaces or underscores. Any other names can be chosen by hand.
- Accepted number styles:
28.6139, a decimal comma as in28,6139, a degree sign as in28.6139°, and a hemisphere letter as in28.6139 Nor77.2090 E(S and W make the number negative). - Not accepted: degrees-minutes-seconds such as 28°36′50″N, UTM or other projected coordinates, and street addresses. Convert degrees-minutes-seconds first with DMS to Decimal Degrees.
How the table becomes GeoJSON
| In the CSV | In the GeoJSON |
|---|---|
| A row with valid latitude and longitude | A Feature with a Point geometry, written as [longitude, latitude]. GeoJSON puts longitude first. |
| The other columns | The feature's properties, under the column names. Empty cells become null. |
| A column where every value is a number | A JSON number (with Convert numbers ticked). A column with any non-numeric value stays text. Values with leading zeros, such as 007, and numbers longer than 15 digits stay text so no digits are lost. |
| An elevation column (optional) | The third coordinate of the point. |
| A row with a blank, non-numeric or out-of-range coordinate | Skipped. The summary counts them and shows the first few row numbers. |
| Duplicate or empty column names | Made unique (name_2) or named column_3 and so on. |
Common problems and how to fix them
It could not find the latitude and longitude columns
Pick them from the two lists. If your file has a single column holding both numbers, such as 28.6139, 77.2090, split it into two columns in a spreadsheet first.
The points appear in the wrong place
The two columns may be the wrong way round. Latitude must be between -90 and 90. If many rows are reported as out of range, swap the two column choices. Also check that the numbers are decimal degrees and not UTM metres.
Rows are reported as degrees-minutes-seconds
The page needs decimal degrees. Convert the column with DMS to Decimal Degrees and load the result.
Accented letters look broken
The file is read as UTF-8. If it was saved by Excel as a plain CSV, it may use an older encoding. Save it again as CSV UTF-8 and reload it.
Everything ended up in one column
The separator was probably not detected, or you chose the wrong one. Pick it from the Separator list.
Rows at 0, 0
The page warns you when it finds points at exactly 0, 0, off the coast of Africa. That usually means missing coordinates were filled with zeros.
What this converter does and does not do
- Points only. A CSV row becomes one point. Lines and polygons cannot be built from a plain table; the WKT column of a CSV is not read.
- No geocoding. Addresses are not turned into coordinates. You need the coordinates already.
- WGS 84 only. To use UTM or another system, convert the coordinates first with the Coordinate Converter or reproject with the CRS Converter.
- Runs in your browser. Nothing is uploaded and there is no signup, so the practical size limit is your computer's memory.
CSV or GeoJSON: what is the difference?
A CSV is a plain table: it can hold coordinates in two columns, but nothing in it says they are coordinates. GeoJSON is a map format: each feature carries a real point geometry that web maps, GIS software and code understand directly, together with its properties. Convert to GeoJSON to put a spreadsheet of locations on a map or load it into a GIS. For KML for Google Earth, use CSV to KML. To go back to a table, use GeoJSON to CSV.
Frequently asked questions
How do I convert a CSV to GeoJSON?
Drop the CSV onto the converter, check that the latitude and longitude columns are the right ones, then click Download GeoJSON. Each row becomes a point.
Is it free, and do I need an account?
It is free and needs no account or signup. The file is read in your browser and never uploaded to a server.
Which column names does it recognise for latitude and longitude?
Names such as lat, latitude, y, lon, lng, long, longitude and x, with or without capitals, spaces or underscores. If your names are different, choose the columns from the lists.
Which separators does it support?
Comma, semicolon, tab and pipe. The page detects the one in use, and you can choose it yourself if it guesses wrong.
Which coordinate formats does it accept?
Decimal degrees such as 28.6139, a decimal comma such as 28,6139, a degree sign, and a hemisphere letter such as 28.6139 N or 77.2090 E. Degrees-minutes-seconds, UTM and addresses are not accepted.
My coordinates are in degrees, minutes and seconds. What do I do?
Convert them to decimal degrees first with the DMS to Decimal Degrees tool. The page tells you when it finds rows in that style.
What happens to rows with bad coordinates?
They are skipped, and the summary tells you how many were blank, not numbers, in degrees-minutes-seconds, or outside the valid range, with the first few row numbers.
Does it turn numeric columns into numbers?
Yes, by default. A column becomes numeric only when every value in it is a number. Values with leading zeros, such as 007, and numbers longer than 15 digits stay as text so no digits are lost.
What happens to empty cells?
They become null in the properties.
Is there a header row?
The first row is treated as the header by default. Untick that option for a file without one, and the columns are named column_1, column_2 and so on.
Can it add an elevation?
Yes. If you pick an elevation column, its values become the third coordinate of each point.
Does it convert addresses to coordinates?
No. It does not geocode. You need the latitude and longitude already.
What coordinate system does it assume?
WGS 84 longitude and latitude, which is what GeoJSON uses and what GPS devices and most spreadsheets of coordinates contain.
Is there a file size limit?
There is no fixed limit, but the work happens in your browser's memory. Files with hundreds of thousands of rows can be slow, especially on a phone.
Related tools and guides
Need survey data cleaned, projected or mapped at scale? Sagarmekhla GIS Consultancy offers GIS and remote sensing services.
Request a consultationLast updated 2026-10-15. Published by Sagarmekhla GIS Consultancy.