convert CSV files to GeoJSON

npm install csv2geojson
10 downloads in the last day
66 downloads in the last week
186 downloads in the last month

Build Status


Converts CSV and TSV files into GeoJSON data suitable for maps..

Using as a binary:

npm install -g csv2geojson
csv2geojson geodata.csv > geodata.geojson
➟ csv2geojson
Usage: csv2geojson -lat [string] -lon [string] -delimiter [string] FILE

  --lat        the name of the latitude column
  --lon        the name of the longitude column
  --delimiter  the type of delimiter             [default: ","]

Using in nodejs

npm install --save csv2geojson
var csv2geojson = require('csv2geojson');

var geoJson = csv2geojson.csv2geojson(csvString, function(err, data) {
    // err has any parsing errors
    // data is the data.

For usage with browserify, follow the same technique as for node, but remember to get brfs as well so that dsv is correctly compiled.


csv2geojson.csv2geojson(csvString, {
    latfield: 'LATFIELDNAME',
    lonfield: 'LONFIELDNAME',
    delimiter: ','
}, function(err, data) {

Parse a CSV file and derive a GeoJSON object from it. Err is non-falsy if latitude and longitude values cannot be detected or if there are invalid rows in the file. Delimiter can be ',' for CSV or '\t' for TSV or '|' and other delimiters.

Delimiter can also be auto, and it will try , \t | ; and choose the 'best'.


The dsv library for barebones DSV parsing.


Automatically choose a delimiter to parse a dsv string with, and do it.


Given a GeoJSON file consisting of points, derive one consisting of a polygon or line that has the coordinates of those points, in the order given.

Using in webpages

wget https://raw.github.com/tmcw/csv2geojson/gh-pages/csv2geojson.js

Looks for fields like /^Lat/i.

Includes part of d3js for CSV parsing.

See Also

  • topojson supports joining data in CSV
  • gdal supports specific CSV structures to and from other data formats

This is what powers the CSV/TSV import of geojson.io.

npm loves you