FIRST CH TOOLS / 39 CSV ⇄ JSON

CSV/TSV ⇄ JSON 相互変換

表計算ソフトから書き出したCSV・TSVをJSONの配列へ、APIから受け取ったJSONを表へ、どちらの欄に貼っても即時に変換します。区切り文字は自動で判定し、stock.数量 のような列名は入れ子のオブジェクトとして読み書きします。0123 のような先頭の0や大きなIDは、桁が変わらないよう文字列のまま保ちます。

どちらに入力しても即時変換されます

CSV / TSV
JSON
0
データの行数
0
列の数
0
入力のバイト数
0
出力のバイト数
チェック結果

    貼り付けた内容がブラウザの外へ出ることはありません(CSVの読み取りもJSONの解析も、外部ライブラリを使わずこのページの中だけで動いています)。ファイルの読み込みも端末内で読むだけで、アップロードは行いません。URLパラメータで直接呼び出せます: /csv-json/?csv=a%2Cb%0A1%2C2/csv-json/?json=%5B%7B%22a%22%3A1%7D%5D&delim=tab

    How to Use

    1. どちらかの欄に貼るCSV・TSVを左に貼れば右にJSONが、JSONを右に貼れば左にCSVが出ます。ファイルをドラッグ&ドロップしても読み込めます。
    2. 読み方を選ぶ区切り文字は自動判定しますが、固定もできます。見出し行の有無・入れ子の展開・型の読み替え・BOMの有無を切り替えてください。
    3. 結果を確かめてコピーする列数の不揃い・列名の重複・桁落ちする数値・数式として実行されうるセルは、チェック結果に出ます。

    About This Tool

    CSVとJSONは同じ表形式のデータを別の書き方で表したものです。CSVは1行1レコードで表計算ソフトがそのまま開ける代わりに、入れ子や型を持ちません。JSONは構造と型を持てる代わりに、そのままでは表として眺められません。手元のデータを「Excelで見たい」「APIに投げたい」「テストデータとして読み込みたい」と行き来させるための道具です。

    入れ子は列名で表します。stock.qty という列は {"stock":{"qty":…}} に、tags.0 tags.1 は配列になります。tags[0] という書き方も同じ意味に読みます。逆向きの変換でも同じ規則で平らにするため、CSVへ出してJSONへ戻せば元の構造に戻ります。同じ名前がスカラーで埋まっていて入れ子にできないときは、その列だけ平らなキーのまま残して指摘に出します。

    型の読み替えは「元の表記に戻せるか」で決めます。数値らしく見えても、0123+11.50・2の53乗を超える整数は、数値にすると表記や桁が変わってしまいます。このツールは変換候補を一度数値にして文字列へ戻し、元と1文字も違わないときだけ数値として書き出します。郵便番号・電話番号・伝票番号・バージョン番号が壊れないのはこのためです。true / false / null も読み替えますが、まるごと文字列で扱いたいときは「数値・true / false・null を読み替える」を外してください。

    Excelが書いたCSVをそのまま読みます。BOM付きのUTF-8、CRLFの改行、引用符で囲まれたセル内改行、"" によるエスケープに対応しています。引用符の対応が壊れている行も、文字として読み進めたうえで「何行目が怪しいか」を指摘します。厳密さを理由に読めないより、読んだうえで直せる場所を教える方が役に立つと考えています。

    JSONの構文エラーは行と桁で示します。ブラウザの JSON.parse が出すメッセージは実装ごとに文面が違うため、ここでは自前で読み進めています。エラー行の前後2行を抜き出し、^ で桁を指します。配列でないJSON(1件のオブジェクト、{"data":[…]} のように配列を包んだもの)や、1行1件のJSON Lines も受け取れます。

    似た道具との使い分け: 設定ファイルの読み替えは JSON ⇄ YAML、表をドキュメントに貼るための整形は Markdownテーブル整形、そもそものダミーデータ作りは テストデータ生成、文字コードそのものの変換は 文字コード・改行コード変換 にあります。このページは手持ちのデータをそのまま形式だけ移し替えるためのものです。

    From AI Agents

    この変換ロジックは、MCP(Model Context Protocol)サーバー @first-ch/tools-mcpcsv_convert ツールとしても提供しており、ブラウザを使わずAIエージェントから直接呼び出せます。ファイルパスを渡して読み書きもできるので、手元のCSVをJSONへ直してから処理する、といった前準備をそのまま任せられます。導入方法の詳細は AIエージェントからの使い方 を参照してください。

    導入

    claude mcp add firstch-tools -- npx -y @first-ch/tools-mcp

    呼び出し例

    # CSV を JSON の配列へ(区切りは自動判定・型も読み替える)
    csv_convert(text="id,name\n1,佐藤\n2,鈴木")
    
    # 手元のCSVファイルを読んでJSONへ書き出す
    csv_convert(path="/tmp/orders.csv", outputPath="/tmp/orders.json")
    
    # JSON を Excel 向けのCSVへ(BOM付き・CRLF)
    csv_convert(direction="json2csv", path="/tmp/items.json", outputPath="/tmp/items.csv", bom=true, newline="crlf")
    
    # TSV を見出しなしで読み、型の読み替えもしない
    csv_convert(text="1\t2\n3\t4", delimiter="tab", header=false, types=false)

    Other Tools