OSS Tanbou

parse and stream CSV in browsers or Node.js and convert between CSV and JSON

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
13,578
Primary language
JavaScript
License
MIT
Repository last updated
Sep 15, 2026
On this page

Overview

Papa Parse is a JavaScript parser for CSV and other delimited text. It parses local files, remote files, and strings, with configuration for headers, delimiter detection, workers, streaming, and type conversion. unparse converts arrays or objects back to CSV.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Parse strings, local files, and remote files through one API

Papa.parse accepts CSV strings and browser File objects, while download: true enables remote-file parsing. Headers, delimiters, dynamic typing, and related behavior are configured through the parse options.

Sources: [2][3]

Stream large files and use workers to keep browser interfaces responsive

Step and chunk callbacks, pause/resume/abort controls, and Web Worker support allow large CSV inputs to be processed incrementally. Papa.unparse provides the reverse JSON-to-CSV path.

Sources: [2][3]

Best fit

Fits browser CSV import/export and large data-ingestion workflows

It is useful for validating and previewing uploaded CSV files, ingesting remote delimited data, and exporting application data to CSV without moving all parsing to a server.

Sources: [2][3]

Before adoption

Node.js mode does not expose all browser-oriented options

Node.js can parse Readable Streams, but browser-specific options such as download, withCredentials, and worker are unavailable. The Node streaming mode also excludes some callback options.

Sources: [2]

Consider formula-injection protection when exporting CSV for spreadsheets

The escapeFormulae unparse option prefixes cells beginning with formula-like characters so Excel or LibreOffice do not automatically evaluate them. This is relevant when exporting untrusted input.

Sources: [3]

Official sources

  1. [1]mholt/PapaParse repository(2026-09-30)
  2. [2]Papa Parse README(2026-09-30)
  3. [3]Papa Parse documentation(2026-09-30)
  4. [4]Papa Parse package metadata(2026-09-30)
  5. [5]Papa Parse 5.7.0 release(2026-09-30)
  6. [6]Papa Parse MIT license(2026-09-30)
Supplemental curator note

It can keep CSV import in the browser and scale to large inputs through streaming or workers. Version 5.7.0 adds configurable timeouts for remote downloads, while exports of untrusted values should consider formula-injection protection.

Try it in 3 steps

  1. 1

    Install Papa Parse 5.7.0

    Add the official npm package with the version pinned.

    npm install papaparse@5.7.0
  2. 2

    Parse a CSV string with headers

    Treat the first row as object keys and convert compatible numeric or boolean values to their JavaScript types.

    import Papa from 'papaparse'; const result = Papa.parse('name,age\nAlice,21', { header: true, dynamicTyping: true });
  3. 3

    Inspect parsed data and errors

    Check both data and errors. For large files, move to step/chunk or workers, and consider escapeFormulae when exporting untrusted values to spreadsheet CSV.

    console.log(result.data); console.log(result.errors);
Check the official README

Growth

Growth trends · Last 30 days

13,578 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
3
Open PRs
42

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • csv
  • javascript
  • csv-parser
Stars
13,578
Forks
1,195
Watchers
147
Open issues
183
Contributors
139
Owner type
User
Primary language
JavaScript
License
MIT
Repository last updated
Sep 15, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?