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

Usage no npm install needed!

<script type="module">
  import csv from 'https://cdn.skypack.dev/csv';


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:


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.

Related projects