CSV・JSON・XML・Excel 相互変換

CSV・TSV・JSON・JSON Lines・XML・Excel(.xlsx)を、貼り付けかファイル読み込みで相互に変換します。値は既定で文字列のままなので、先頭が 0 の郵便番号・電話番号や長い ID は変わりません。処理はすべてブラウザ内で行われ、データは送信されません。

端末内で処理・アップロードなし

ファイルや入力内容はお使いの端末(ブラウザ)の中だけで処理され、サーバーへは送信されません。

変換先
入力

ファイルをここにドロップ

データはこの端末のブラウザ内で処理され、送信されません。対応形式: CSV / TSV / JSON / JSONL / XML / XLSX1 ファイル最大 50 MB貼り付け(Ctrl+V)にも対応
変換結果
データを入力するか「サンプルで試す」を押すと、ここに変換結果が表示されます
JSON を表にしたときの列名(user.name, tags[0])を、元の入れ子の形に戻します。
改行

既定ではすべての値を文字列のまま出力するので、先頭ゼロの郵便番号・電話番号や長い ID は壊れません。推定をオンにしても、先頭が 0 の数字と 16 桁以上の数字は文字列のままです。

XML・型の変換ルール

XML を読むときのルール

  • 属性は「@名前」というキーになります(例: <a id="1"> → {"@id": "1"})。
  • 要素のテキストは文字列になります。属性や子要素と同居するテキストは「#text」に入ります。
  • 同じ名前の要素が繰り返されると配列になります。1 つだけのときは配列にならず、そのままの値です。
  • 空の要素 <a/> は空文字 "" になります。コメント・処理命令は読み飛ばし、CDATA はテキストとして扱います。
  • 名前空間の接頭辞は名前の一部として残します(例: "ns:item")。xmlns・xmlns:*・xml:* 属性も「@xmlns」などのキーとして保持しますが、名前空間の URI の解決はしません。
  • XML はブラウザ内の専用パーサーで読みます。外部実体・外部 DTD は読み込まず、DOCTYPE で宣言された実体も展開しません。

XML を書き出すときのルール

  • 1 行が 1 つの「行の要素」になり、列名が子要素の名前になります。「@列名」の列は属性、「#text」の列はテキストになります。
  • 要素名に使えない列名は修正します。使えない文字(空白・/ ( ) など)は「_」に置き換え、先頭が数字・記号なら「_」を前に付け、「xml」で始まる名前(予約)は「_xml…」にします。日本語の名前はそのまま使えます。
  • 「ns:item」のように接頭辞が正しい名前と、属性の xmlns・xmlns:*・xml:* は修正せずそのまま書きます(それ以外の「:」は「_」に置き換え)。修正後の名前が同じ階層の別の名前と重なるときは「_2」「_3」を付けます。
  • & < > は自動でエスケープし、XML 1.0 で使えない制御文字は取り除きます。
  • 配列は同名要素の繰り返しで、配列の中の配列は <item> で表します。値が null のものは空要素になります。空の配列 [] は XML では表せないため出力されず、警告します。

型の扱い

  • CSV・Excel・XML の値は、既定ではすべて文字列のまま JSON などへ出力します("0123456" や "03-1234-5678" は変わりません)。
  • 「推定」をオンにすると、12 や 3.5 は数値、true / false は真偽値、null は null になります。先頭が 0 の数字(007)と 16 桁以上の数字は、電話番号・ID を守るため文字列のままです。
  • 推定でも変えたくない列は「文字列のままにする列」に列名を書いてください。
  • JSON の入力は元の型と数値の表記(20 桁の ID など)をそのまま保ちます。

使い方

  1. CSV・TSV・JSON・JSON Lines・XML のデータを入力欄に貼り付けるか、ファイル(.csv .tsv .json .jsonl .xml .xlsx)をドロップ/「ファイルを選択」で読み込みます。形式は中身から自動判定され、手動で変更もできます。

  2. 上部の「変換先」で CSV・TSV・JSON・JSON Lines・XML・Excel のどれかを選びます。Shift_JIS の CSV は文字コードも自動で判定します。Excel のブックは「シート」で対象を選べます。

  3. 「値の型」は既定で「文字列のまま」です。数値・真偽・null にしたいときだけ「推定」をオンにし、郵便番号など変えたくない列は「文字列のままにする列」に書きます。

  4. 入れ子の JSON を表にするときの配列の展開(a[0] か JSON 文字列)、表を JSON に戻すときの入れ子の復元、XML のルート要素名・行の要素名、CSV の文字コード(UTF-8・BOM 付き・Shift_JIS)と改行(CRLF/LF)を必要に応じて設定します。

  5. 右側の「表」と「テキスト」で結果を確認し、行数・列数と警告(列数の不一致、重複キー、失われる情報など)を見たうえで、コピーまたはダウンロードします。

できること

先頭ゼロ・長い ID を壊さない既定値

CSV・Excel・XML の値は、既定ですべて文字列のまま出力します。0123456 の郵便番号や 03-1234-5678 の電話番号は変わらず、Excel 形式の出力でも文字列セルになります。数値推定をオンにしても、先頭が 0 の数字と 16 桁以上の数字は文字列のままで、列ごとに「推定しない」指定もできます。

Shift_JIS の読み込みと書き出し

CSV の文字コード(UTF-8・Shift_JIS・EUC-JP・UTF-16)を中身から自動判定し、先頭の確認表示で文字化けをチェックできます。出力は UTF-8・UTF-8(BOM 付き・Excel 向け)・Shift_JIS から選べ、Shift_JIS で表せない文字(絵文字など)は警告で知らせます。

入れ子 JSON と表の往復

入れ子の JSON は user.name や tags[0] のようなドット記法の列に展開でき、表を JSON に戻すときは同じ記法から入れ子の形に復元できます。配列は「列に分ける」か「JSON 文字列として 1 セルに」を選べ、往復で元のデータに戻ることを自動テストで確認しています。

XML の変換規則を明示

属性は「@名前」、テキストは「#text」、同名要素の繰り返しは配列になります。XML の出力ではルート要素名と行の要素名を指定でき、使えない列名は規則に従って修正(変更内容は警告で表示)し、特殊文字は必ずエスケープします。読み込みでは外部実体や DOCTYPE の実体を展開せず、エラーは行・列つきで表示します。

結果を確かめてから保存

変換後の表とテキストを並べて確認でき、行数・列数、列数が合わない行、重複キー、フラット化で失われる情報、Shift_JIS に変換できない文字などを警告として表示します。大きなデータは Web Worker で処理し、進捗の表示と中止ができます。

すべてブラウザ内で処理

データもファイルも、この端末のブラウザの中だけで処理します。サーバーへの送信や保存はなく、外部の変換サービスも使いません。一度開けば通信なしでも動作します。

こんなときに

  • API のレスポンス(入れ子の JSON)を、Excel で開ける CSV や .xlsx に展開したい
  • Shift_JIS の CSV を UTF-8 に、または UTF-8 の CSV を Excel で文字化けしない形式(BOM 付き・Shift_JIS)に変換したい
  • 郵便番号・電話番号・商品コードの先頭ゼロを消さずに、CSV を JSON や Excel にしたい
  • XML のデータ(注文・商品フィード・設定)を表にして確認したい、または表から XML を作りたい
  • ログやデータ連携用に、CSV と JSON Lines(1 行 1 件の JSON)を行き来したい
  • 表を JSON にして編集し、元の入れ子の形(a.b, a[0])に戻したい

対応形式

入力

CSVTSVJSON(入れ子・配列)JSON Lines(.jsonl / .ndjson)XMLExcel(.xlsx / .xlsm・複数シート)UTF-8 / Shift_JIS / EUC-JP / UTF-16(自動判定)

出力

CSV(UTF-8・BOM 付き・Shift_JIS/CRLF・LF)TSVJSON(オブジェクトの配列・配列の配列/整形・圧縮)JSON LinesXMLExcel(.xlsx)

対応状況

機能対応補足
CSV / TSV / JSON / JSON Lines / XML / xlsx の相互変換対応—
形式の自動判定(中身で判定・手動で上書き可)対応—
文字コードの自動判定と Shift_JIS での書き出し対応Shift_JIS で表せない文字は警告
先頭ゼロ・長い ID の保護(既定は文字列のまま)対応型の推定は任意
入れ子 JSON のフラット化(a.b / a[0])と復元対応同じキーが一部の行にしかない場合などは完全には戻せません
XML の属性(@attr)・テキスト(#text)・繰り返し要素の配列化対応—
XML 出力のルート要素名・行の要素名の指定と名前の修正対応—
xlsx の複数シートの読み込み対応出力は 1 シートのみ
xlsx の書式・数式・グラフ・画像・マクロ非対応数式は計算結果の値になり、書式やグラフは引き継がれません
古い Excel 形式(.xls)・パスワード付きファイル非対応.xlsx で保存し直してから読み込んでください
CSV / TSV の数式インジェクション対策(= + - @ で始まる値の無害化)対応任意(既定はオフ)。該当する値の数は常に警告します
XML の XSLT・スキーマ検証・外部実体の読み込み非対応安全のため外部実体・DTD は読み込みません
XML の混在コンテンツ(文章中の要素)の順序保持一部対応テキストは #text にまとめられます。空の配列 [] は XML では出力されません
JSON のコメント付き・末尾カンマ等の自動修復非対応修復は JSON 整形・検証ツールで行えます
オフラインでの利用対応一度開いたあとは通信なしで動作

制限・注意事項

  • 入力は 1 件あたり最大 50 MB、表は 500 万セルまでです。超える場合はファイルを分けてください。
  • xlsx は展開後 300 MB・ZIP 内 10,000 ファイルを超えるものは読み込みません。
  • xlsx の読み込みは 300 万セルまで、書き出しは Excel の上限(1,048,576 行・16,384 列)までです。1 セルは 32,767 文字を超えると切り詰めます。
  • 表にするときの列は 10,000 列までです。入れ子や配列が多い場合は「配列を JSON 文字列として 1 セルに」を選ぶか、「行にする場所」を指定してください。
  • 入れ子の深さは JSON・XML とも 1,000 階層までです。配列のインデックス(a[0])を使った復元は 10,000 番までです。
  • テキストの結果は先頭約 6 万文字までを画面に表示します。コピーは 200 万文字まで、それ以上はダウンロードを使ってください。
  • 数値の推定は有効数字 15 桁までです。先頭が 0 の数字と 16 桁以上の数字は常に文字列のままです。
  • Excel で CSV を直接開くと先頭の 0 が消えます。先頭ゼロを残すときは .xlsx で出力してください。

プライバシーと安全性

貼り付けたデータや読み込んだファイルは、お使いのブラウザの中だけで処理されます。サーバーへの送信・保存は一切行わず、外部サービスも使いません。顧客名簿や API キーを含むデータでも安心して変換できます。ページを閉じると内容は消去されます。

よくある質問

CSV を Excel で開くと郵便番号や電話番号の先頭の 0 が消えます。どうすればいいですか?
Excel は CSV を開くとき、数字に見える値を数値として扱うため先頭の 0 を消します。これは Excel の仕様で、CSV の中身は壊れていません。本ツールで「Excel(.xlsx)」に変換すると、値が文字列のセルとして保存されるので先頭ゼロが残ります。JSON など他の形式へ変換するときも、既定ではすべて文字列のまま出力します。
Shift_JIS の CSV が文字化けします。直せますか?
ファイルを読み込むと文字コード(Shift_JIS・UTF-8・EUC-JP など)を自動判定し、先頭の内容を表示します。違っていたら「文字コード」で選び直してください。出力は UTF-8(BOM 付き)か Shift_JIS を選べ、Windows の Excel で文字化けせずに開けます。
入れ子の JSON を CSV にするとどうなりますか? 元に戻せますか?
オブジェクトは user.name のように「.」でつなぎ、配列は tags[0]、tags[1] のように列を分けます(配列を JSON 文字列として 1 セルに入れることもできます)。CSV を JSON に戻すときに「列名の a.b を入れ子に戻す」をオンにし、型の推定をオンにすると、元の構造に戻せます。ただし CSV では「空文字」と「null」、「キーがない」ことの区別がつかないため、空欄の扱いを選ぶ必要があります。
XML は JSON や CSV にどう変換されますか?
属性は「@名前」のキー、要素のテキストは文字列、属性や子要素と並ぶテキストは「#text」になります。同じ名前の要素が繰り返されると配列になります(1 つだけのときは配列になりません)。CSV にするときは、繰り返し要素を行として、属性や子要素を列(@id、address.city など)に展開します。
大きなファイルでも変換できますか? アップロードされますか?
50 MB・500 万セルまで変換できます。処理はブラウザの Web Worker で行うので画面が固まりにくく、進捗の表示と中止もできます。ファイルはどこにも送信されません。
数値や true/false が文字列のまま出力されます。
安全のための既定値です。「値の型」を「数値・真偽・null を推定」にすると 12 は数値、true は真偽値になります。先頭が 0 の数字や 16 桁以上の数字は文字列のままで、さらに変えたくない列は「文字列のままにする列」に列名を書いてください。

CSV 文字化け・文字コード修復

Excel で開くと文字化けする CSV を、文字コードを自動判定して UTF-8(BOM 付き)や Shift_JIS に変換します。化けたまま保存されてしまった「縺薙s…」のような文字も、多くの場合元に戻せます。

CSV Studio(CSV ビューア・編集・結合・分割)

Excel では重い・文字化けする CSV を、ブラウザで開いてすぐに表示・検索・編集できます。結合や分割、Shift_JIS・UTF-8(BOM 付き)・Excel・JSON での保存まで 1 画面で完結します。

データ健診

CSV や Excel の表を読み込むだけで、空欄・重複・表記ゆれ・文字化けなどの問題を重大度つきで一覧にし、100 点満点の健康スコアと列ごとのプロフィールを表示します。問題をクリックすると該当する行を確認でき、直せる問題は対応するツールへ案内します。

Excel データクリーンアップ

Excel や CSV の空白・全角半角・日付・数値の表記ゆれを、チェックを付けるだけで一括で整えます。変更したセルは色で確認でき、Excel・CSV(Shift_JIS 可)で保存できます。

Excel比較

新旧 2 つの Excel・CSV を読み込むだけで、追加・削除・変更された行と、変更されたセルの「旧 → 新」を色分けして表示します。差分は色付きの Excel レポートや CSV で保存できます。

Excel 重複検出・削除・統合

Excel や CSV の重複行を、判定に使う列と表記ゆれの扱いを選んで見つけ、削除または 1 行に統合します。重複グループごとに中身を確認して残す行を変えられ、結果は Excel・CSV(Shift_JIS 可)で保存できます。

最終更新: