作ることと変換することは別物
「CSVを作る」と「JSONをCSVに変換する」は、同じ意味のように使われがちです。しかし実際は違います。変換は機械的な作業であり、同じJSONからは同じ設定で常に同じCSVが生まれます。一方、作ることは作者としての仕事です。同僚に渡すファイル、データベースに取り込むファイル、分析ツールに読み込ませるファイルは、自分がコントロールできない環境で生き残らなければなりません。海外のExcel、厳密なルールを持つデータベースローダー、すべてをダブルクリックで開く同僚——そうした環境です。
「変換された」と「作られた」の間には7つの判断があります。これらを飛ばしてもファイルは変換されます。ただ、下流のどこかで、最悪のタイミングで壊れるだけです。朗報です。各判断は数秒で済み、何を決めるのかを理解すれば、以後は無意識に目が行くようになります。以下の例はすべて、このサイトの実際の変換エンジン——「変換」ボタンを押したときに動くものと同じJavaScript——で実行しています。つまり、ここに示す出力は、実際に得られるものそのものです。
判断1:グリッドを作り込む前にツリーをフラット化する
ネストしたJSONから列を作り込むことはできません。CSVはグリッドです——行と列があり、すべてのセルは1つのフラットな値です。ネストしたオブジェクトには、住める列がありません。だから最初の判断はフラット化です。ネストしたオブジェクトはドット記法の列になります(customerはcustomer.nameとcustomer.cityに)、単純な値のリストは1つのセルに結合され、nullは空のセルになります。これは機械的なステップであり、このコンバーターのフラット化トグルが代わりにやってくれる部分です。
なぜ最初に行うのか。後のすべての判断——ヘッダー名、区切り文字、引用符——は、フラット化後の結果に対して行われるからです。フラット化の前にヘッダーを改名しても、まだ存在しない列に名前を付けていることになります。このエンジンはflattenNestedというオプション名でデフォルトでフラット化します。つまり実務上の判断はこうなります。そのままオンにしておき、プレビューを一瞥して、列名が期待通りか確認する。それだけです。
判断2:列名は契約書のように付ける
ヘッダー行の名前は、そのファイルを触るすべてのツールとの契約です。悪いヘッダー名は、最も静かにCSVを壊します。変換時には失敗せず、3週間後のデータベース取り込みで失敗するからです。次の4つのルールでほぼすべてをカバーできます。
- ヘッダー名にスペースを入れない。「order id」は人には読みやすく、SQLローダーにはバグ報告の材料です。orderIdかorder_idを使いましょう。フラット化エンジンは既にスペースのないドット記法の名前(customer.name)を生成するので、気にすべきはトップレベルのキーだけです。
- 重複した名前を使わない。2つの同一ヘッダーがあると、多くのインポーターで2列目が1列目を黙って上書きします。JSONに「user.name」というリテラルキーと、ネストしたuser: { name }の両方がある場合、フラット化で1つの列に統合され、ネスト側の値が勝ち、もう一方は失われます。両方の値が大切なら、変換前に改名してください。
- 数字で始めない。「2024-sales」のような列名は、多くのSQL方言や一部のBIツールで壊れます。sales_2024を選びましょう。
- 安定していて、省略しすぎない。ヘッダーはAPIです。「qty」のような略語は許容範囲ですが、「q」では半年後の誰かが困ります。一度フルワードで決めたら、ファイル間で使い回しましょう。
恐れなくていいものが1つあります。非ASCIIのヘッダー名です。product_nameのような列名と「商品名」のような日本語ラベルが混在しても、UTF-8なら問題なく運べます(判断6でエンコーディングを扱います)。エンジンはヘッダーのセルにもデータセルと同じ引用符ルールを適用するので、カンマや引用符を含むヘッダーでも正しくエスケープされます。ソースコードでエスケープ処理を確認済みです。引用符付けはセル単位で、ヘッダーも対象です。
判断3:区切り文字は意図を持って選ぶ
カンマはデフォルトの区切り文字であり、ほとんどのファイルではそれが正解です。ただし区切り文字は形式上のものではありません。ファイル全体を解析する文字です。このコンバーターはカンマ、セミコロン、タブ、パイプ、カスタムを提供しており、それぞれが活躍する場面は次の通りです。
- カンマ:デフォルトです。理由がなければこれを使いましょう。すべてのツールが読めます。
- セミコロン:データがカンマだらけのとき。ヨーロッパのエクスポートで多用されるのには理由があり、多くのヨーロッパのロケールではカンマが小数点の区切り文字なので、カンマ区切りのファイルは曖昧になってしまいます。テキストフィールドがカンマだらけなら、セミコロンで引用符に頼らずにセルを読みやすく保てます。
- タブ:生のファイルを人間が読むとき。タブ区切りの値はスプレッドシートにそのまま貼り付けられ、テキストエディタでも読みやすいままです。コピー&ペースト中心のワークフローに便利です。
- パイプ:テキストにカンマも引用符もセミコロンも含まれるとき——ログメッセージ、住所、文章など。パイプは自然な文章の中では稀なので、衝突しにくい文字です。
正直な注意点があります。引用符は、まさに区切り文字の選択を成立させるために存在します。セルが区切り文字を含む場合、エンジンは自動的に引用符で包みます(判断4)。だからカンマだらけの住所でも、カンマ区切りのファイルで正しく解析されます。区切り文字の選択は、読みやすさと受け手の習慣の問題であり、正しさの問題ではありません。正しさは引用符エンジンの仕事です。ただし、1つだけ現実的な警告があります。米国や英国の受け手向けにセミコロンを選ぶなら、伝えてください。彼らのExcelはデフォルトでカンマを期待し、ファイルが1つの長い列として開かれることがあります。
判断4:引用符は自動設定のままにする
引用符はCSVで最も誤解されている部分です。ルールはシンプルです。区切り文字、引用符文字、改行のいずれかを含むセルはダブルクォートで包まなければならず、内側の引用符は2重にしなければなりません。エンジンが実際に生成するものは次の通りです——検証済みで、イメージ図ではありません。
name,city,qty
"Say ""hi"", friend",Oslo,3よく読んでください。Say "hi", friendというセルは"Say ""hi"", friend"になりました。カンマを含むため引用符で包まれ、内側の引用符は2重になりました。これが正しい、標準準拠の出力であり、本物の表計算ソフトはすべて、これを元のテキストに正確に戻して解析します。
判断4:引用符は自動設定のままにする(続き)
区切り文字をセミコロンに変えると、引用符付けがどう適応するか見てみましょう。
name;city;qty
"Say ""hi"", friend";Oslo;3カンマはもう包むきっかけになりませんが、引用符文字は依然として包むきっかけになります。エンジンは「何が特殊か」という固定観念ではなく、実際に使われている区切り文字に応じて引用符を付けます。この区切り文字ごとの配慮こそが「自動」の意味であり、触らずにおくべき設定です。エンジンはalways(常に)とnever(なし)の引用符モードも提供しています。neverは危険であり、その証拠がこちらです。
判断4:引用符は自動設定のままにする(続き)
note,code
line1
line2,007引用符を無効にすると、実際の改行を含むセルが生のまま残ります。そしてその改行は、地球上のすべてのパーサーに行の境界に見えます。2行のファイルが3行として読まれ、そのうち1行はゴミになります。引用符の2重化は無条件で行われるので(エンジンが必ずやります)、包まれないだけです。「never」は、下流のシステムが引用符なしの出力を明示的に要求し、かつセルに区切り文字・引用符・改行が一切含まれないことを確認した場合にのみ使ってください。それ以外のすべての場合:自動です。
判断5:値は見せたい通りのテキストにする
JSONには型があります——数値、真偽値、null。CSVの型は1つだけです。テキストです。変換の瞬間に、すべての値が最終的なテキスト形式になります。そしてこれは、ほとんどの人が意識せずに済ませてしまう判断です。注意すべき値の形が3つあります。
1つ目は先行ゼロです。「007」のようなJSON文字列は、CSVでも007のままです——検証済みで、引用符なし、入力通りそのままです。ただし、そのファイルをExcelで開くと7と表示されるでしょう。Excelが開くときにセルを再解釈するからです。CSVは正しく、ビューアが思い込みが激しいのです。先行ゼロをExcelでも生かしたいなら、修正すべきは受け手側(テキストとしてインポート)であり、ファイルではありません。コンバーターを責める前に、このことを知っておいてください。
2つ目は日付です。JSONに日付型はないので、「日付」は2026-10-14のような文字列か、1697000000のようなタイムスタンプです。変換した形が、そのままCSVに残る形になります。だからエクスポート前に、人に見せたい形を選んでください。ISO形式の2026-10-14はテキストとして正しくソートされます。10/14/2026はソートされず、世界の半分に誤読されます。この判断はJSONの段階で行い、CSVができてからでは遅いのです。
3つ目は小数と真偽値です。19.99000001のような数値は、そのままのテキストになります。真偽値はtrue/falseになります。ソースデータに浮動小数のノイズがあるなら、変換前に丸めてください。CSVは丸めてくれません。
判断6:UTF-8を意識して選ぶ——そしてBOMの問題を知る
エンコーディングは、文字化けに襲われるまで誰も決めない判断です。2026年の答えはUTF-8です。すべての言語を運べ、すべての現代的なツールが読めます。微妙なのはBOM——ファイルの先頭に付けたいと一部のWindowsツールが求める、目に見えないバイト順マークです。
このサイトのコンバーターについての正直な事実をお伝えします。ダウンロードはプレーンなUTF-8で、BOMは付きません——ダウンロードのコードを読みましたが、charset=utf-8のtext/csv Blobを生成し、先頭マークは付けていません。これはWebアップロード、データベース、Googleスプレッドシート、Pythonにとって正しい形です。唯一困るのは、一部のWindows版Excelでダブルクリックして開く場合で、エンコーディングを誤って推測し、非ASCII文字を化けさせることがあります。
修正は、コンバーターにBOMを要求することではありません。20秒のインポートです。Excelで「データ」→「テキスト/CSVから」→エンコーディングのドロップダウンで65001(UTF-8)を選んでください。文字は完璧に出てきて、ファイル自体は他のすべてのツールにとってクリーンなままです。エンコーディングはワークフローごとに一度決め、ファイルのそばに記録しておきましょう。エンコーディングのトラブルは、いつもコミュニケーションの失敗であり、データの失敗ではありません。
判断7:完成したファイルを手放す前に検証する
作り込むことの締めくくりはチェックであり、1分もかかりません。4つのステップです。
- まずテキストエディタで開き、表計算ソフトでは開かない。テキストエディタはファイルそのものを見せ、表計算ソフトは解釈を見せます。ヘッダー行、区切り文字、引用符で包まれたセルが正気に見えるか確認しましょう。
- 行数を数える。エンジンは統計情報に行数と列数を報告します——JSON配列の長さと比べてください。食い違いがあれば解析の驚きがあります(たいていはquoteMode "never"での無引用符の改行か、不正な入力JSONです)。
- 再インポートする。CSVを貼り付け直すか、送り先のツールで開いてみましょう。そこで正しく開ければ、受け手の環境でも正しく開けます。
- 端をチェックする。最初の行、最後の行、そして最も変な文字を含む行の1つ。破損は境界に集まります。
このチェックリストは、「なぜCSVが壊れて見えるのか」への答えでもあります。私たちの経験では、10回中9回はファイルではなくビューアかインポート設定の問題で、ファイル自体が原因なのは10回中1回です。テキストエディタで先に開く習慣こそ、両者を数秒で切り分けるものです。
60秒レシピ:7つの判断をすべて込めて
JSONをコンバーターに貼り付けるか、アップロードします。フラット化はオンのままにし、列のプレビューを一瞥しましょう——ドット記法の名前がそのままヘッダーになるので、問題のあるキーはソース側で先に改名します。テキストがカンマだらけでなければ区切り文字はカンマのまま(カンマだらけならセミコロン)。引用符は自動のまま。日付と数値は、変換前に見せたい通りのプレーンテキストに整えます。UTF-8でダウンロードし、テキストエディタで一度開き、送り先で再インポートします。完了——単に変換されたのではなく、作り込まれたファイルです。
関連ガイド
- JSONをCSVに変換する方法:確実な3つの手順(2026年版ガイド)
- JSONをフラット化してCSVに変換する方法:トグルが実際にやっていること(2026年ガイド)
- JSON CSV 変換 オンラインツールとは?信頼できるツールの選び方(2026年ガイド)
- VS CodeでJSONをCSVに変換する方法:クリックからワンキー操作まで4つの方法(2026年ガイド)
- how to flatten the JSON data:ネストを展開・結合・そのまま残す判断ガイド(2026年)
- JSONをCSVに変換する方法はある?状況別に選ぶ5つの方法(2026年ガイド)
- How to JSON to CSV Online: このタブで30秒で変換する方法(2026年ガイド)
- json to csv converter download:実際にダウンロードすべきもの(2026年ガイド)
- Convert Large JSON to CSV Online Free: 大きなJSONファイルを無料でCSVに変換する方法(2026年ガイド)
- JSONファイルとCSVファイルとは?初心者のための両形式ガイド(2026年版)
- What does flattening a JSON mean? ネスト解除の意味を解説(2026年ガイド)
- what is JSON to CSV online? 3つの言葉を解説(2026年ガイド)
- what is JSON to CSV converter online? 内部の5つの部品を解剖する(2026年ガイド)
- JSONをローカルでCSVに変換する方法:ファイルを自分のパソコンに置いたまま変換する(2026年ガイド)
- JSONをローカルでCSVに変換する方法とは?6つの方法を比較(2026年ガイド)
- CSVがExcelで1列にまとまって開く原因と直し方(2026年ガイド)
- CSVがExcelで文字化けする原因と文字コードの直し方(2026年ガイド)
- CSVのコードの先頭の0がExcelで消える理由と、残す方法(2026年ガイド)
- CSVの日付がExcelで変わる原因と直し方(2026年ガイド)
- ExcelでCSVを保存すると内容が変わる理由と、元のファイルを守る方法(2026年ガイド)
- CSVが大きすぎてExcelで開けない原因と対処法(2026年ガイド)
よくある質問
JSONからCSVファイルを作るにはどうすればいいですか?
JSONをコンバーターに貼り付けるかアップロードし、ネストしたデータを列へフラット化し、ヘッダー名と区切り文字を確認してからダウンロードします。フルチェックリストは次の通りです。先にフラット化、スペースなしの列名、カンマ区切りのまま(データがカンマだらけなら別)、引用符は自動のまま、日付と数値は見せたい通りのテキストに、UTF-8でダウンロード、そして再インポートして検証。これだけです。
JSONから作るCSVに最適な区切り文字は何ですか?
カンマがデフォルトであり、ほとんどのファイルで正解です。テキストフィールドがカンマだらけならセミコロン(ヨーロッパのエクスポートで一般的。カンマが小数点の区切り文字でもある地域です)、コピー&ペーストの読みやすさにはタブ、テキストにカンマ・引用符・セミコロンがすべて含まれるならパイプを使います。正しい引用符付けがあれば、どれも安全に解析されます——選択は受け手の習慣の問題であり、正しさの問題ではありません。
JSONから作るCSVの列名はどう付けるべきですか?
ヘッダー名は契約として扱いましょう。スペースなし(order_idであって「order id」ではない)、重複なし、数字で始めない(sales_2024であって2024-salesではない)、不可解な略語ではなくフルワード。フラット化されたネストキーは既にcustomer.nameのようなスペースなしのドット記法名になるので、通常はトップレベルのキーだけ気にすれば十分です。
JSONから作ったCSVがExcelで正しく開かないのはなぜですか?
10回中9回はファイルは正常で、ビューアが問題です。よくある原因は次の通りです。Excelが区切り文字を誤って推測する(セミコロンのファイルをカンマとして開く)、非ASCIIテキストのエンコーディングを誤って推測する(「データ」→「テキスト/CSVから」で65001 UTF-8を指定して再インポート)、Excelがセルを再解釈する(007のような先行ゼロを削る、日付を勝手に書式変更する)。まずテキストエディタで開きましょう——そこで正しく見えれば、ファイルは正しいのです。
CSVのすべてのセルを引用符で囲む必要がありますか?
いいえ。自動(必要に応じた)引用符付けが正しく、十分です。区切り文字・引用符・改行を含むセルだけがダブルクォートで包まれ、内側の引用符は2重になります。「常に」はノイズを増やし、「なし」は危険です。引用符なしのセル内の改行は、すべてのパーサーに行の境界に見え、行数を黙って壊します。
JSONから作るCSVにBOMは必要ですか?
通常は不要です。BOMなしのUTF-8ファイルはどこでも動きます。データベース、Webアップロード、Googleスプレッドシート、Python。一部のWindows版Excelはダブルクリック時にBOMなしファイルを誤読しますが、修正はBOMの追加ではなく正しいインポートです(「データ」→「テキスト/CSVから」、エンコーディング65001)。BOMは他のツールを混乱させることがあります。このサイトのコンバーターはBOMなしのプレーンなUTF-8でダウンロードします。
生成したCSVが正しいか確認するにはどうすればいいですか?
4つの簡単なステップです。テキストエディタで開く(表計算ソフトではなく)して実際のファイルを見る、行数をJSON配列の長さと比べる、送り先のツールに再インポートする、最初の行・最後の行・最も変な文字を含む行を調べる。破損は境界に集まります——端が正しければ、ファイルは正しいのです。
今すぐCSVを作りましょう——フラット化・引用符・ヘッダーはおまかせ
JSONを貼り付けるかファイルをアップロードしてください。ネストしたデータはきれいな列にフラット化され、区切り文字と引用符は自動で、ダウンロードはプレーンなUTF-8です。無料、登録不要、すべてブラウザ内で動作します。
JSON→CSVコンバーターを開く