JSON to CSV 変換ツール
JSONをブラウザ内で即座にCSVに変換。RFC 4180・Excel-EU・TSV・Pipeプリセット対応。ネスト平坦化または文字列化。100%プライベート、アップロード不要。
オプション · , · auto · LF · header · no BOM · flatten
CSVとは何ですか?なぜJSONから変換するのですか?
CSV(Comma-Separated Values)はコンピューティングにおいて最も古く、最も広くサポートされている表形式データフォーマットです — すべてのスプレッドシートアプリ・すべてのデータベース・すべての分析ツール・大半のプログラミング言語が一級のCSVサポートを備えています。一方JSONはAPIレスポンス・設定・構造化データ交換のための汎用フォーマットです。両者の変換はデータエンジニアリングで最もよくある作業の一つです:APIやNoSQLデータベースからJSONを受け取り、Excelで分析するため、PostgresにCOPY経由でロードするため、BigQuery / Snowflakeウェアハウスに取り込むためにCSVが必要になります。このツールはその変換経路のために作られており、典型的なオンライン変換ツールが取りこぼしがちな4つのシナリオを処理します。
典型的なオンラインコンバーターと比較して、このツールには4つの重要な差別化ポイントがあります。
**1. RFC 4180準拠のステートマシンパーサー。** CSVは単純に見えますが、クォートのルールは繊細です:ダブルクォートで囲まれたフィールドはカンマ・埋め込み改行・エスケープされたダブルクォート(ダブルクォートを2つ重ねて、""のように)を含むことができます。素朴にカンマで分割するパーサーは、カンマを含む住所・複数行のテキストフィールド・クォートを含むクォート付き値といった現実のデータで壊れます。このツールはRFC 4180(CSVのIETF仕様)に従う適切なステートマシンパーサーを実装しており、双方向でクォート付きフィールド・埋め込み区切り文字・埋め込み改行・エスケープされたクォートを正しく処理します。出力はPythonのcsvモジュール・PostgreSQLのCOPY・AWS S3 SELECT・あらゆる準拠パーサーで往復可能です。
**2. 一方向の平坦化 / 可逆な文字列化。** ネストされたJSONはCSVのフラットな表形式と本質的に互換性がなく、大半のコンバーターはネストされたオブジェクトや配列に出くわすと無言でデータを破損させます。このツールは明示的な選択を提供します:平坦化モードはドット付きキー(customer.address.city)とインデックス付きキー(items.0.sku)を出力して最もクリーンなスプレッドシートレイアウトに — Excelで読みやすいですが往復では情報が失われます。文字列化モードは配列とオブジェクトを単一のセル内にJSONとして保持します — 見栄えは劣りますが完全に往復可能で、CSV → JSON → CSV は逆方向で「型推論」を併用すれば同一のデータを生成します。目的に応じて選んでください:Excelでの分析(平坦化)またはパイプラインでの往復(文字列化)。
**3. 大整数の検出。** JavaScriptのNumber型はIEEE 754倍精度を使用し、2^53 - 1(9007199254740991)を超える整数を無言で丸めます。これは現実のJSONを噛みます:TwitterのSnowflake ID・Discord ID・MongoDBのLongフィールド・KubernetesのresourceVersionはすべて安全範囲を超える64ビット整数です。大半のブラウザベースのJSONツールは無言で誤った数値を生成し、警告も出しません。このツールは解析時に大整数値を検出し、影響を受けたフィールドを列挙する警告バナーを表示し、CSV出力では元の桁を文字列として保持するため、ExcelとGoogle Sheetsが指数表記に切り捨てることはありません。
**4. 100%ブラウザベースのプライバシー。** あなたのJSONデータ(ユーザーのPII・社内データベースエクスポート・ペイロードに埋め込まれたAPIキー・本番シークレットを含むことが多い)はブラウザを離れることはありません。データはどのサーバーにも送信されず、ログも分析も取られません。ブラウザの「ネットワーク」タブで確認できます。これはオンラインツールで機密データを扱う唯一の安全な方法です。「方向を入れ替え」で逆方向を確認するか、YAMLが目的のときは姉妹ツール JSON to YAMLコンバーター をご利用ください。変換前にJSONを検証する必要がある場合は JSON整形ツール をお試しください。
CSVの強みは普遍性と単純さです:あらゆるツールが読み取れ、パーサーは小さく、ファイル形式はどのテキストエディタでも人間が読めます。弱点は型情報がないこと(パーサーに別途指示するまですべてが文字列)・ネスト構造のネイティブサポートがないこと・ロケール固有の癖(Excel-EUのセミコロン、Windows CRLF対Unix LF)です。JSONの強みは正反対です:精密な型・ネイティブなネスト・どこでも同一に解析される厳密な仕様。適切なツールは消費側に依存します:人間がスプレッドシートを読む → CSV、マシンがAPIを消費する → JSON。このコンバーターは双方向で橋渡しを担います。
// Input JSON
[
{ "id": 1, "name": "Alice", "role": "admin" },
{ "id": 2, "name": "Bob", "role": "editor" }
]
// Output CSV (RFC 4180 preset: comma + CRLF + no BOM)
id,name,role
1,Alice,admin
2,Bob,editor
// Same input with Stringify mode + nested data
[
{ "id": 1, "tags": ["a", "b"] }
]
// Becomes
id,tags
1,"[""a"",""b""]" 主な機能
RFC 4180準拠
IETFのCSV仕様に従う厳密なステートマシンパーサー:クォート付きフィールド・埋め込み区切り文字・埋め込みCR/LF・エスケープされたダブルクォート(ダブルクォートを2つ重ねて)を正しく処理します。出力はPythonのcsv・PostgreSQLのCOPY・AWS S3 SELECTを通じてクリーンに往復します。
Excel・TSV・Pipeプリセット
最も一般的な4つのターゲットへのワンクリックプリセット:RFC 4180(カンマ + CRLF)・Excel(EUロケール向けにセミコロン + CRLF + UTF-8 BOM)・TSV(Tab + LF)・Pipe(| + LF)。5つの個別オプションを手動で調整することなくフォーマット間を切り替えられます。
ネストデータの平坦化または文字列化
明示的なネスト処理:平坦化はクリーンなスプレッドシート分析のためにドット付きキー(customer.address.city)を出力し、文字列化は無損失の往復のために配列とオブジェクトをJSONとして1つのセル内に保持します。Excelでの分析が必要かパイプラインでの往復が必要かに応じて選んでください。
大整数の検出
2^53を超える整数は解析時に検出され、CSV内では文字列として保持されます — Twitter ID・DiscordのSnowflake・MongoDBのLongフィールド・K8sのresourceVersionはJavaScriptのIEEE 754数値型に無言で丸められることなく、正確なまま保たれます。
NDJSONの自動検出
行区切りJSON(.ndjson・.jsonl)は自動検出されます — ストリーミングログ・APIイベントエクスポート・データレイクの出力を、配列に手動でラップすることなく直接貼り付けられます。各行がCSVの1行になります。
「方向を入れ替え」による双方向対応
「方向を入れ替え」ボタン1つで、その場で変換を反転:入力がCSVに、出力がJSONになり、現在のテキストは保持されます。データを双方向で往復させて無損失変換を確認してから、パイプラインに送り出してください。
サンプル
REST APIレスポンス
[{"id":1,"name":"Alice Chen","email":"alice@example.com","role":"admin"},{"id":2,"name":"Bob Garcia","email":"bob@example.com","role":"editor"},{"id":3,"name":"Carol Singh","email":"carol@example.com","role":"viewer"},{"id":4,"name":"Dan Müller","email":"dan@example.com","role":"viewer"}] よくあるAPIの出力です。ヘッダー行を有効にすると、Excelにそのまま貼り付けできるクリーンな表形式CSVが得られます。
GitHub Issues API
[{"id":1001,"title":"Bug: login redirects to 404","state":"open","labels":["bug","priority:high"],"user":{"login":"alice"}},{"id":1002,"title":"Feature: dark mode toggle","state":"open","labels":["enhancement"],"user":{"login":"bob"}},{"id":1003,"title":"Docs: update README","state":"closed","labels":["docs","good-first-issue"],"user":{"login":"carol"}}] /repos/{owner}/{repo}/issues から取得したデータです。平坦化とヘッダーを有効にすると、user.login が平坦化された列として展開されます。
MongoDB mongoexport
[{"_id":{"$oid":"6634a1b2c3d4e5f600000001"},"email":"alice@example.com","metadata":{"signupDate":"2026-01-15T10:30:00Z","preferences":{"newsletter":true,"theme":"dark"}}},{"_id":{"$oid":"6634a1b2c3d4e5f600000002"},"email":"bob@example.com","metadata":{"signupDate":"2026-02-20T14:15:00Z","preferences":{"newsletter":false,"theme":"light"}}}] Mongoエクスポート形式です。CSV→JSONの往復変換を予定している場合は文字列化モードを選んでください。
NDJSONイベントログ
{"event":"signup","user":"alice","ts":1715000000}
{"event":"login","user":"alice","ts":1715000060}
{"event":"checkout","user":"alice","ts":1715000300} 行区切りJSON(.ndjson/.jsonl)は自動検出されます — ファイルの中身を直接貼り付けてください。
ネストされたECオーダー
[{"id":"ord-001","customer":{"name":"Alice Chen","email":"alice@example.com","address":{"city":"Seattle","country":"US"}},"items":[{"sku":"SKU-100","qty":2},{"sku":"SKU-205","qty":1}]},{"id":"ord-002","customer":{"name":"Bob Garcia","email":"bob@example.com","address":{"city":"Madrid","country":"ES"}},"items":[{"sku":"SKU-100","qty":1}]}] 平坦化モードはドット付きキー(customer.address.city、items.0.sku)を出力します。配列やオブジェクトを1つのセルにJSONとして保持したい場合は文字列化モードに切り替えてください。
Postmanテスト結果
[{"name":"GET /users returns 200","status":"pass","duration":142},{"name":"POST /users creates record","status":"pass","duration":287},{"name":"GET /users/999 returns 404","status":"fail","duration":98,"error":"Expected 404, got 500"},{"name":"DELETE /users/1 returns 204","status":"pass","duration":156}] Postman/Newmanのテストエクスポートです。形状の異なる行(一部にerrorあり)は空セルで埋められ、スキーマ注記の警告が表示されます。
使い方
- 1
JSONを貼り付ける
上の入力欄にJSONを入力または貼り付けてください。ツールはオブジェクトの配列・単一のオブジェクト・NDJSON(行区切りJSON)を受け付けます — 自動検出されます。「サンプルを読み込む」をクリックして、REST APIレスポンス・MongoDBエクスポート・NDJSONイベントログなどのサンプルを試すこともできます。
- 2
プリセットを選ぶ(またはオプションを調整)
RFC 4180(デフォルト)・Excel(EUセミコロン + BOM)・TSV(Tab)・Pipeをクリックすると、ワンクリックで目的のフォーマットを設定できます。「オプション」パネルを開くと、区切り文字・ヘッダー・クォート(自動/常時)・改行(LF/CRLF)・BOM・ネスト(平坦化/文字列化)をきめ細かく制御できます。
- 3
CSVをコピーまたはダウンロード
「コピー」でCSVをクリップボードに取得するか、「ダウンロード」でExcel・Google Sheets・PostgreSQLのCOPY・各種データパイプラインにすぐ使える.csv(TSVプリセット時は.tsv)ファイルとして保存してください。往復変換には、「方向を入れ替え」をクリックしてその場でCSVをJSONに戻せます。
よくある変換ミス
トップレベル値がプリミティブ
CSVは本質的に表形式 — フィールドの行です。単一の数値・文字列・ブール値には投影できる行/列構造がありません。トップレベルのJSON値はオブジェクト(1行のテーブル)または配列(複数行のテーブル)でなければなりません。プリミティブはまずオブジェクトや配列でラップしてください。
42
[{"value": 42}] 形状の異なる配列(行ごとにキーが異なる)
JSON配列の行に異なるキーがある場合(一部にerrorフィールドがあり、他にはない)、ツールはすべての行のすべてのキーを和集合にして欠落セルを空値で埋めます。列がマージされたことを知らせるスキーマ注記の警告が表示されます。通常はこれで問題ありませんが、下流ツールが厳密なスキーマを期待する場合は出力を確認してください。
[
{"name": "GET /users", "status": "pass"},
{"name": "GET /users/999", "status": "fail", "error": "500"}
] // Output CSV (note empty cell in row 1) name,status,error GET /users,pass, GET /users/999,fail,500
Excelで大整数が切り捨てられる
TwitterのSnowflake ID・Discord ID、その他の64ビット整数はJavaScriptの安全範囲(2^53 - 1)を超え、JSON.parse()で読み取られた時点で精度を失います。CSVが桁を保持していても、Excelはデフォルトで指数表記で表示します。修正は2段階です:変換前にJSON内でIDを文字列として保存すること、そしてExcelがセルをテキストとして保持するようBOMを有効化(またはExcelプリセットを使用)することです。
{"id": 9007199254740993}
// JavaScript reads as 9007199254740992 (precision lost) {"id": "9007199254740993"}
// CSV preserves the string; Excel displays exactly 埋め込みカンマがクォートされていない
素朴なjoin(',')でCSVを手作りすると、カンマを含むフィールド(Smith, Jr.や1,234.56)が列境界を壊します — パーサーは1列であるべき場所に余分な列を見ます。このツールの自動クォートモードはRFC 4180に従い、区切り文字・ダブルクォート・CR・LFを含むフィールドを自動的にダブルクォートで囲みます。
name,role Smith, Jr.,admin // Parser reads 3 columns: "Smith", " Jr.", "admin"
name,role "Smith, Jr.",admin // Parser reads 2 columns: "Smith, Jr.", "admin"
Excel-EUファイルがカンマCSVとして読めない
ヨーロッパのExcelロケール(ドイツ・フランス・スペイン・イタリアなど)はカンマを小数点区切りに予約し、フィールド区切りにセミコロンを使用します。標準的なカンマCSVを開くとすべての行がA列に折り畳まれます。修正はExcelプリセットです:; + CRLF + UTF-8 BOMに切り替わるため、Excelはどのロケールでもファイルを正しく解析します。
id,name,price 1,Alice,1,234.56 // Excel-EU mis-parses 1,234.56 as two columns
// Excel preset output: ; + CRLF + BOM id;name;price 1;Alice;1234,56 // Excel-EU reads cleanly with comma decimal
NDJSONが検出されない(入力形状)
NDJSONの自動検出には、各行が1つの有効なJSON値で、先頭や末尾に配列の角括弧がないことが必要です。JSON配列の配列を貼り付けたり、ファイルの先頭が[で末尾が]で終わっている場合、ツールはこれをNDJSONではなく単一のJSON値として扱います。ラップしている角括弧を取り除き、各行が自己完結したJSONオブジェクトになるようにしてください。
[
{"event": "signup"},
{"event": "login"}
]
// Detected as a regular JSON array (works, but not NDJSON path) {"event": "signup"}
{"event": "login"}
// Each line is one JSON value — auto-detected as NDJSON よくある使用場面
- APIレスポンスをスプレッドシートへ
- REST APIレスポンス(ユーザー・注文・イベントオブジェクトの配列)を貼り付けて、Excel・Google Sheets・Numbersにすぐ使える表形式CSVを取得します。最も一般的なユースケース — アナリストやPMはスプレッドシート形状のデータを必要とし、エンジニアはバックエンドからJSONを送ります。
- MongoDBエクスポートをデータウェアハウスへ
- mongoexportのJSON出力($oidラッパーやネストされたメタデータドキュメント付き)をCSVに変換し、BigQuery・Snowflake・Redshiftに取り込みます。文字列化モードは下流ツールがセル内JSONをサポートする場合、ネスト形状を無損失で保持します。
- GitHub Issuesトリアージ
- /repos/{owner}/{repo}/issuesからissueを取得し、JSONを貼り付け、id・title・state・labels・user.loginを列に持つフラットなCSVを取得します。Sheetsに取り込んでスプリントプランニング中にフィルタ・ソート・割り当てを行えます。
- NDJSONイベントログのレビュー
- Cloud Logging・Datadog・Vector・自前のパイプラインからのストリーミングログはNDJSON(.ndjson・.jsonl)として届くことがよくあります。ファイルの中身を直接貼り付けると — 自動検出されます — 本格的なETLパイプラインを立ち上げることなくアドホック分析用のCSVを取得できます。
- EC注文の抽出
- ネストされた注文JSON(customer.address.city、items配列)をフラットなCSVに変換して財務・フルフィルメント・不正レビューに使用します。平坦化モードはリーフフィールドごとに1列を生成し、Excelでのアドホックレポート作成にすぐ使えます。
- Postman/Newmanテストレポート
- Postmanのテストエクスポートには形状の異なる行が含まれます(一部に任意のerrorフィールド)。JSONを貼り付けると、すべてのキーが和集合になり欠落セルが埋められたCSVを取得できます — Sheets上で非エンジニアと失敗テストレポートを共有するのに最適です。
技術的詳細
- RFC 4180ステートマシンパーサー
- 両方向ともRFC 4180に従う適切な有限ステートマシンパーサーを使用します。状態にはUnquotedField・QuotedField・AfterQuote・RowEnd・EndOfInputが含まれます。パーサーは区切り文字を含むクォート付きフィールド・クォート内に埋め込まれたCR/LF・エスケープされたダブルクォート(ダブルクォートを2つ重ねて、""のように)・末尾改行を正しく処理します。これによりPythonのcsvモジュール・PostgreSQLのCOPY・AWS S3 SELECT・あらゆる準拠パーサーを通じて無損失に往復する出力が生成されます。
- 大整数検出アルゴリズム
- JSON.parse()(IEEE 754経由で大きな整数を無言で丸めてしまう)にJSONを通す前に、ツールは生のJSONテキストに対して安全範囲(-2^53+1から2^53-1)外の整数リテラルを探す正規表現スキャンを実行します。検出されると、影響を受けたフィールドパスが記録され、出力の下に大整数の警告バナーが表示されます。CSVライターはこれらの値を文字列として保持し、Excel・Google Sheets、その他テキストを認識する下流の消費側を通じて正確な精度を確保します。
- Excel向けのBOMとUTF-8エンコーディング
- すべての入力と出力はUTF-8です。BOMトグルがオンのとき、またはExcelプリセットが選択されているときに、任意のUTF-8 BOM(0xEF 0xBB 0xBF)が出力の先頭に付加されます。Windows上のExcelはBOMを使ってUTF-8エンコーディングを検出します — BOMがないとExcelはシステムロケール(米国ではWindows-1252、ロシアではWindows-1251など)にフォールバックして非ASCII文字を文字化けさせます。最新のパーサー(Pythonのcsv・Pandas・jq・PostgreSQL)は一般にBOMを必要とせず、最初のセルの先頭に余分な文字として含めてしまうことがあるため、Excel以外のパイプラインではBOMをオフのままにしてください。
ベストプラクティス
- オプションを調整する前にプリセットを選ぶ
- RFC 4180・Excel・TSV・Pipeプリセットは5つのオプション(区切り文字・改行・クォートモード・BOM・ヘッダー)を一度に設定します。まずは最も近いプリセットを選び、必要に応じて個別オプションだけ調整してください — これは1つのオプションを切り替えて他を忘れる(例:セミコロンに切り替えたがLFのままで、Windows上のExcel-EUがまだ誤解析する)というよくあるミスを避けます。
- 分析には平坦化、往復には文字列化
- 送り先がExcel・Sheets、または一度きりの分析の場合は平坦化を使ってください — ドット付きキーが最もクリーンなスプレッドシートレイアウトを生成します。データ損失なくCSV → JSON → CSVの往復が必要な場合は文字列化を使ってください — 配列とオブジェクトが単一のセル内にJSONとして残ります。途中で切り替えて再実行するのはコストが小さいので、消費側に合わせて選んでください。
- BOMはExcelの場合のみ使う
- UTF-8 BOMはWindows上のExcelがエンコーディングを正しく検出するために必要です。他のあらゆるパーサー(Pythonのcsv・Pandas・jq・PostgreSQLのCOPY・BigQuery)はBOMを無視するか、最初のセルの先頭に余分な文字として含めて列名を壊してしまいます。パイプラインではBOMをオフのままにし、送り先がExcelのときだけオン(またはExcelプリセットを使用)にしてください。
- 大きなIDはJSON内で文字列として保存する
- TwitterのSnowflake ID・Discord ID・MongoDBのLongフィールド・K8sのresourceVersionはJavaScriptの安全範囲(2^53 - 1)を超える64ビット整数です。変換前にJSON文字列として保存してください("id": "9007199254740993") — CSVは桁を正確に保持します。一方、数値リテラルはJSON.parse()によって無言で丸められます。
- ロード前に行の形状を検証する
- 形状の異なる行(一部のオブジェクトに他にないキーがある)は出力で空セルとマージされ、ツールはスキーマ注記の警告を表示します。厳密スキーマの消費側(BigQuery・RedshiftのCOPY)では、エクスポート前にすべての行が同じキーを共有していることを検証する — または欠落値をパイプラインで明示的に処理してください。入力の形状を最初に確認するには JSON整形ツール を使用してください。
よくある質問
このツールは何をするものですか?
私のデータはどこかにアップロードされますか?
平坦化モードと文字列化モードの違いは何ですか?
Twitter IDやSnowflakeキーのような大きな整数はどう処理されますか?
なぜExcelでCSVが1列に表示されてしまうのですか?
NDJSONやJSON Linesに対応していますか?
RFC 4180とは何ですか?
なぜ一部のセルがクォートされ、他はされないのですか?
CSV → JSON → CSV をデータ損失なく往復できますか?
TSVファイルを取得するには?
非常に大きな入力ではどうなりますか?
対応しているエンコーディングは?
関連ツール
すべてのツールを見る →Base64エンコーダー&デコーダー
エンコーディングとフォーマット
Base64のデコード・エンコードが無料でオンラインで行えます。リアルタイム変換、UTF-8・絵文字対応。100%ブラウザ上で動作しデータは外部に送信されません。登録不要。
CSV to JSON 変換ツール
エンコーディングとフォーマット
CSVをブラウザ内で即座にJSONに変換。RFC 4180・型推論・ヘッダー行・大整数安全対応。100%プライベート、アップロード不要。
JSON Diff(差分)
エンコーディングとフォーマット
2つのJSONファイルをブラウザで即座に比較・差分確認。サイドバイサイドのハイライト表示、RFC 6902 JSON Patch出力、タイムスタンプやIDなどのノイズフィールドを無視。100%プライベート、アップロード不要。
JSONフォーマッター&バリデーター
エンコーディングとフォーマット
無料オンラインJSON整形ツール。ブラウザ上でJSONのフォーマット、構文検証、圧縮を即座に実行。エラー検出、ワンクリックコピー対応。データは端末外に送信されず、100%プライバシー保護。
JSON Schema バリデーター
エンコーディングとフォーマット
JSON を任意の JSON Schema に対してブラウザで即座に検証。Draft 2020-12 / 2019-09 / Draft-07 をサポートし、エラーメッセージは JSON Pointer パスで正確に位置を示します。100% プライベート、アップロード不要、無料。
JSON to YAML コンバーター
エンコーディングとフォーマット
JSONを貼り付けるだけで即座にYAMLを取得。ブラウザ内でリアルタイム変換。K8s・Compose対応、2/4スペースインデント、Norway問題対応自動クォート。100%プライベート、データは送信されません。