CSV stringifier implementing the Node.js `stream.Transform` API

Downloads in past


3,509406.3.020 days ago9 years agoMinified + gzip package size for csv-stringify in KB


CSV stringifier for Node.js and the web
Build Status NPM NPM
The csv-stringify package is a stringifier converting records into a CSV text and implementing the Node.js stream.Transform API. It also provides the easier synchronous and callback-based APIs for conveniency. It is both extremely easy to use and powerful. It was first released in 2010 and is tested against big data sets by a large community.


Main features

  • Follow the Node.js streaming API
  • Simplicity with the optional callback API
  • Support for custom formatters, delimiters, quotes, escape characters and header
  • Support big datasets
  • Complete test coverage and samples for inspiration
  • Only 1 external dependency
  • to be used conjointly with csv-generate, csv-parse and stream-transform
  • MIT License


Run npm install csv to install the full csv module or run npm install csv-stringify if you are only interested by the CSV stringifier.
The module is built on the Node.js Stream API. Use the callback and sync APIs for simplicity or the stream based API for scalability.


The API is available in multiple flavors. This example illustrates the sync API.
import { stringify } from 'csv-stringify/sync';
import assert from 'assert';

const output = stringify([
  [ '1', '2', '3', '4' ],
  [ 'a', 'b', 'c', 'd' ]

assert.equal(output, '1,2,3,4\na,b,c,d\n');


Tests are executed with mocha. To install it, run npm install followed by `npm test`. It will install mocha and its dependencies in your project "nodemodules" directory and run the test suite. The tests run against the CoffeeScript source files.
To generate the JavaScript files, run npm run build.
The test suite is run online with Travis
. See the Travis definition file to view the tested Node.js version.


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