How to read a CSV file with Node.js
New Courses Coming Soon
Join the waiting lists
A quick tutorial to read data from a CSV file using Node.js
Many different npm modules let you read from a CSV file.
Most of them are based on streams, like csv-parser
or node-csv
.
Those are great to deal with CSV in a production system.
I like to keep things simple when I don’t have performance in mind. For example, for a one-time parsing of CSV that I had to do to consolidate my backend systems.
To do so, I used neat-csv
, a package that exposes the csv-parser
functionality to a simple async/await interface.
Install it using npm install neat-csv
and require it in your app:
const neatCsv = require('neat-csv');
then load the CSV from the filesystem and invoke neatCsv passing the content of the file:
const fs = require('fs')
fs.readFile('./file.csv', async (err, data) => {
if (err) {
console.error(err)
return
}
console.log(await neatCsv(data))
})
Now you can start doing whatever you need to do with the data, which is formatted as a JavaScript array of objects.
Here is how can I help you:
- COURSES where I teach everything I know
- CODING BOOTCAMP cohort course - next edition in 2025
- THE VALLEY OF CODE your web development manual
- BOOKS 17 coding ebooks you can download for free on JS Python C PHP and lots more
- Interesting links collection
- Follow me on X