CSV for Node.js


Vanilla JavaScript (IIFE) for older browsers

The IIFE distribution targets browsers which don't support ECMAScript modules.

The files are located inside the packages/csv/dist/iife folder. Import them inside your project or use NPM to download the package and to reference them.

It is globally available in the page context with:

  • Stream and callback API: stream_transform.transform(/* arguments */);
  • Sync API: stream_transform_sync.transform(/* arguments */);


A working demo is available in the demo/browser directory.

With Express, expose the files with:

const app = express();

The HTML code looks like:

<script src="/lib/csv/index.js"></script>
  // Generate 20 records
  .generate(/* arguments */)
  // Transform CSV data into records
  .pipe(csv.parse(/* arguments */))
  // Transform each value into uppercase
  .pipe(csv.transform(/* arguments */))
  // Convert objects into a stream
  .pipe(csv.stringify(/* arguments */))
  .pipe(/* consume the output */)

If you wish to use the sync API, use:

<script src="/lib/csv/sync.js"></script>
  const input = csv_sync.generate(/* arguments */);
  const rawRecords = csv_sync.parse(input, /* arguments */);
  const refinedRecords = csv_sync.transform(rawRecords, /* arguments */);
  const output = csv_sync.stringify(refinedRecords, /* arguments */);


The Node.js CSV project is an open source product hosted on GitHub and developed by Adaltas.