OSS探訪

CSVをブラウザやNode.jsでparse・stream処理し、JSONとの相互変換を行う

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
13,578
主要言語
JavaScript
ライセンス
MIT
リポジトリ最終更新
2026/09/15
ページ内ナビ

概要

Papa Parseは、JavaScript向けのCSV/区切りtext parserです。local file・remote file・文字列をparseし、header行、delimiter自動判定、worker、streaming、型変換を設定できます。unparseでは配列やobjectをCSVへ戻せます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

文字列・local file・remote fileを同じparse APIで扱う

Papa.parseでCSV文字列やbrowserのFileを読み込み、download: trueを使ってremote fileも取得できます。headerやdelimiter、dynamic typingなどをconfig objectで制御します。

出典:[2][3]

large fileをstreamし、workerでUI blockを避ける

step/chunk callback、pause/resume/abort、Web Workerに対応し、大きなCSVを一括でmemoryへ展開せず段階的に処理できます。JSONからCSVへのPapa.unparseも提供します。

出典:[2][3]

向いている用途

browserでのCSV import/exportや大容量data取込に向く

uploadされたCSVのvalidation・preview、remote CSVの取込、application dataのCSV exportなどをJavaScriptで完結させたいケースに向きます。

出典:[2][3]

導入前の確認

Node.js modeではbrowser専用optionを使えない

Node.jsではReadable Streamをparseできますが、download、withCredentials、workerなどbrowser前提のoptionは利用できません。node streaming styleではstep/complete等にも制約があります。

出典:[2]

spreadsheet向けCSV出力ではformula injection対策を検討する

unparseのescapeFormulaeは、=, +, -, @, tab, carriage returnで始まる値へquote prefixを付け、ExcelやLibreOfficeでのformula injection対策に使えます。外部入力をCSV exportする場合は有効化を検討します。

出典:[3]

参考にした公式資料

  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)
編集部からの補足

browser側だけでCSV importを処理しやすく、large fileはstreamingやworkerへ切り替えられます。5.7.0ではremote downloadのtimeoutも設定可能です。CSV exportではuntrusted valueのformula injection対策も設計に含めるのが安全です。

3ステップで試す

  1. 1

    Papa Parse 5.7.0を追加

    公式npm packageをversion固定で追加します。

    npm install papaparse@5.7.0
  2. 2

    CSV文字列をheader付きでparse

    header行をobject keyとして扱い、数値やbooleanを型変換する最小parseを実行します。

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

    parse結果とerrorを確認

    dataだけでなくerrorsも確認します。大容量fileではstep/chunkやworkerへ切り替え、CSV exportでは必要に応じてescapeFormulaeを有効化します。

    console.log(result.data); console.log(result.errors);
公式READMEで確認

成長

成長の推移 · 直近30日

13,578 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
3
Open PR
42

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • csv
  • javascript
  • csv-parser
Stars
13,578
Forks
1,195
Watchers
147
Open Issues
183
Contributors
139
所有者種別
User
主要言語
JavaScript
ライセンス
MIT
リポジトリ最終更新
2026/09/15

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?