Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
magically convert csv files to geojson files
JavaScript HTML CSS


latest commit 1f7205585d
Tom MacWright tmcw authored

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] -crs [string] FILE

  --lat        the name of the latitude column
  --lon        the name of the longitude column
  --delimiter  the type of delimiter             [default: ","]
  --crs        the Coordinate Reference System (CRS) of the
               coordinates in the GeoJSON

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


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

Something went wrong with that request. Please try again.