Fast and powerful CSV (delimited text) parser that gracefully handles large files and malformed input
Alternatives To Papaparse
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Papaparse11,3751,982833a day ago39March 15, 2022169mitJavaScript
Fast and powerful CSV (delimited text) parser that gracefully handles large files and malformed input
Fast Csv1,4141,9484533 days ago71December 04, 202065mitTypeScript
CSV parser and formatter for node
9 months ago117mitC#
The FileHelpers are a free and easy to use .NET library to read/write data from fixed length or delimited records in files, strings or streams
Csv444200436 months ago37September 17, 20222mitElixir
CSV Decoding and Encoding for Elixir
React Papaparse297273 months ago50August 13, 202244mitTypeScript
react-papaparse is the fastest in-browser CSV (or delimited text) parser for React. It is full of useful features such as CSVReader, CSVDownloader, readString, jsonToCSV, readRemoteFile, ... etc.
Tabulator Py20852212 years ago141March 21, 20211mitPython
Python library for reading and writing tabular data via streams.
Csv Write Stream1884421393 years ago12April 28, 201612bsd-2-clauseJavaScript
A CSV encoder stream that produces properly escaped CSVs
Csvbuilder1291255 years ago6August 23, 20182mitJavaScript
Easily encode complex JSON objects to CSV with CsvBuilder's schema-like API
Excel Stream12917104 years ago12July 21, 201510mitJavaScript
10 days ago26April 08, 202350apache-2.0Java
A fast and lower memory excel write/read tool.一个非POI底层,支持流式处理的高效且超低内存的Excel读写工具
Alternatives To Papaparse
Select To Compare

Alternative Project Comparisons

Parse CSV with JavaScript

Papa Parse is the fastest in-browser CSV (or delimited text) parser for JavaScript. It is reliable and correct according to RFC 4180, and it comes with these features:

  • Easy to use
  • Parse CSV files directly (local or over the network)
  • Fast mode
  • Stream large files (even via HTTP)
  • Reverse parsing (converts JSON to CSV)
  • Auto-detect delimiter
  • Worker threads to keep your web page reactive
  • Header row support
  • Pause, resume, abort
  • Can convert numbers and booleans to their types
  • Optional jQuery integration to get files from <input type="file"> elements
  • One of the only parsers that correctly handles line-breaks and quotations

Papa Parse has no dependencies - not even jQuery.


papaparse is available on npm. It can be installed with the following command:

npm install papaparse

If you don't want to use npm, papaparse.min.js can be downloaded to your project source.


import Papa from 'papaparse';

Papa.parse(file, config);

const csv = Papa.unparse(data[, config]);

Homepage & Demo

To learn how to use Papa Parse:

The website is hosted on Github Pages. Its content is also included in the docs folder of this repository. If you want to contribute on it just clone the master of this repository and open a pull request.

Papa Parse for Node

Papa Parse can parse a Readable Stream instead of a File when used in Node.js environments (in addition to plain strings). In this mode, encoding must, if specified, be a Node-supported character encoding. The Papa.LocalChunkSize, Papa.RemoteChunkSize , download, withCredentials and worker config options are unavailable.

Papa Parse can also parse in a node streaming style which makes .pipe available. Simply pipe the Readable Stream to the stream returned from Papa.parse(Papa.NODE_STREAM_INPUT, options). The Papa.LocalChunkSize, Papa.RemoteChunkSize , download, withCredentials, worker, step, and complete config options are unavailable. To register a callback with the stream to process data, use the data event like so: stream.on('data', callback) and to signal the end of stream, use the 'end' event like so: stream.on('end', callback).

Get Started

For usage instructions, see the homepage and, for more detail, the documentation.


Papa Parse is under test. Download this repository, run npm install, then npm test to run the tests.


To discuss a new feature or ask a question, open an issue. To fix a bug, submit a pull request to be credited with the contributors! Remember, a pull request, with test, is best. You may also discuss on Twitter with #PapaParse or directly to me, @mholt6.

If you contribute a patch, ensure the tests suite is running correctly. We run continuous integration on each pull request and will not accept a patch that breaks the tests.

Popular Csv Projects
Popular Stream Projects
Popular Data Formats Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Csv Parser