A mature CSV toolset with simple api, full of options and tested against large datasets.

  • csv

Downloads in past


3,513416.2.823 days ago12 years agoMinified + gzip package size for csv in KB


CSV for Node.js and the web
Build Status NPM NPM
The csv project provides CSV generation, parsing, transformation and serialization for Node.js.
It has been tested and used by a large community over the years and should be considered reliable. It provides every option you would expect from an advanced CSV parser and stringifier.
This package exposes 4 packages:
(GitHub), a flexible generator of CSV string and Javascript objects. (GitHub), a parser converting CSV text into arrays or objects. (GitHub), a stringifier converting records into a CSV text. (GitHub), a transformation framework.


The full documentation for the current version is available here.


Installation command is npm install csv.
Each package is fully compatible with the stream 2 and 3 specifications. Also, a simple callback-based API is always provided for convenience.


This example uses the Stream API to create a processing pipeline.
// Import the package
import * as csv from '../lib/index.js';

// Run the pipeline
// Generate 20 records
    delimiter: '|',
    length: 20
// Transform CSV data into records
    delimiter: '|'
// Transform each value into uppercase
  .pipe(csv.transform((record) => {
    return record.map((value) => {
      return value.toUpperCase();
// Convert objects into a stream
    quoted: true
// Print the CSV stream to stdout


This parent project doesn't have tests itself but instead delegates the tests to its child projects.
Read the documentation of the child projects for additional information.


The project is sponsored by Adaltas, an Big Data consulting firm based in Paris, France.
  • David Worms:

Related projects

  • Pavel Kolesnikov "ya-csv":
  • Chris Williams "node-csv":
  • Mat Holt "PapaParse":