CSV ↔ JSON 変換無料・登録不要
CSV と JSON を相互変換。Excel エクスポートの CSV を API 連携用 JSON へ、API レスポンスを Excel 取込用 CSV へ即変換。TSV / セミコロン / パイプ区切りにも対応。
- 1 行目をヘッダーとして扱います(CSV → JSON 時)
- カンマ・改行・ダブルクォートを含む値は自動で引用符付き出力(RFC 4180 準拠)
- TSV(タブ区切り)も区切り文字で選択可能
- JSON は配列 [...] 形式が必須(オブジェクト単体は不可)
- すべてブラウザ完結(入力データはサーバーに送信されません)
良いCSV ↔ JSON 変換の判断基準
表計算ソフトで扱うデータ(CSV)と、プログラムやAPIで扱うデータ(JSON)を行き来するときに使います。変換結果が出たら、下の基準で「文字・型・列が崩れていないか」を確認します。
日本語が文字化けしていないか(文字コードを確認したか)
表計算ソフトから書き出したCSVは、文字コードがUTF-8でないことがあり、日本語の文字化けの定番原因になります。化けた場合は、書き出し時にUTF-8形式を選び直します。
区切り文字は合っているか
CSVはカンマ区切りが基本ですが、タブ区切りやセミコロン区切りのファイルもあります。変換結果が1列にまとまってしまう場合は、区切り文字の設定を見直します。
先頭ゼロが消えていないか
郵便番号や商品コードなど0で始まる値は、表計算ソフトで開いた時点で数値扱いになり、先頭のゼロが消えることがあります。変換の前後で桁数が合っているかを確認します。
値の中のカンマ・改行が正しく扱われているか
住所や備考欄にはカンマや改行が入りがちです。CSVではそうした値を引用符で囲む決まりがあり、囲まれていないと列がずれます。変換結果の行数・列数が元データと一致しているかを確認します。
1行目をヘッダー(項目名)として扱えているか
CSVからJSONへの変換では、1行目の項目名がそのままキーになります。1行目にデータが入っていると、その行が項目名として消費されてしまうので、先頭行の中身を確認します。
名簿などを貼る前に所属組織のルールを確認したか
CSVには顧客名簿など個人情報が含まれがちです。外部のツールに貼ってよいデータかどうか、所属組織のルールを先に確認します。
ありがちな失敗例(NG → 改善)
NG郵便番号 0123456 を表計算ソフト経由でCSV化し、123456 になったままJSONに変換してしまう。
改善該当の列を文字列(テキスト)形式にしてから書き出すか、変換後に桁数が合っているかを確認する。
→ 先頭ゼロの消失は表計算ソフトで開いた時点で起きるため、変換ツール側では復元できません。元データの段階で守る必要があります。
NG「ABC, Inc.」のようにカンマを含む社名があり、列がずれたJSONができあがる。
改善カンマを含む値が引用符で囲まれたCSVになっているかを確認してから変換する。
→ 引用符のないカンマは列の区切りとして解釈されます。列ずれは後続の全列に波及するため、その行全体が壊れます。
NG入れ子構造のあるJSON(注文データの中に商品リストがある等)をそのままCSVにして、中身が読めない表になる。
改善CSVにしたい単位(1行=1件)を決めて、平らな構造のJSONに直してから変換する。
→ CSVは行と列の平らな表しか表現できません。入れ子のデータは「どの単位で1行にするか」を先に決める必要があります。
CSV ↔ JSON 変換の使い方
- 1テキストを入力またはペーストします
- 2「変換する」ボタンをクリックします
- 3結果を確認してコピーします
よくある質問
CSV ↔ JSON 変換は無料ですか?
はい、完全無料でご利用いただけます。会員登録も不要です。
スマートフォンでも使えますか?
はい、スマートフォン・タブレット・PCなど、ブラウザがあればどのデバイスでもご利用いただけます。
入力したコードやデータは安全ですか?
はい、入力データはブラウザ上で処理され、サーバーに送信されません。安心してご利用ください。
関連ツール
CSV ↔ JSON 変換について
Excel の CSV と API の JSON を手で書き換えている場面
業務でよくある場面: Excel から CSV エクスポートしたデータを API に POST するため JSON 化したい / API レスポンスの JSON を Excel で開きたいため CSV にしたい。手動で書き換えるのは時間の無駄、Python スクリプトを書くのは大袈裟。本ツールは貼り付けるだけで両形式を変換します。値の中に入ったカンマや二重引用符は、引用符で囲む書き方のまま読み書きします。
顧客マスタ・API レスポンス・Sheets 連携で変換が挟まる作業
【1. Excel データを API 連携】顧客マスタ・商品マスタ Excel を CSV エクスポート → JSON 変換 → REST API へ POST。
【2. API レスポンスを Excel 確認】API テスト時の JSON レスポンスを CSV 化 → Excel で開いてデータ確認。
【3. データベースインポート用変換】既存 JSON データを SQL の COPY コマンド向け TSV に変換。
【4. Google Sheets ↔ JSON 連携】Sheets エクスポートの CSV を JSON 化 → GAS / Web アプリで利用。
どれも、変換そのものより「1件が1件のまま運べているか」が肝になる作業です。件数がずれる条件を後の項目で特定しています。
本ツールの特徴
1. 双方向対応: CSV → JSON / JSON → CSV 両方向に対応。 2. 4 種類の区切り文字: カンマ / タブ(TSV)/ セミコロン / パイプを選択可能。 3. 引用符付きで出力: カンマ・改行・ダブルクォートを含む値は、書き出し時に自動で引用符で囲みます。 4. リアルタイム変換: 入力中も即時表示。 5. ブラウザ完結: すべてクライアントサイドで処理。顧客マスタ等の機密 CSV でも安心。
画面には方向を切り替える2つのボタン、区切り文字を選ぶ欄、入力と出力を入れ替えるボタンが並びます。JSON → CSV の向きでは、角括弧で囲んだ配列の形しか受け付けません(オブジェクト単体を入れると、配列形式が必要というエラーになります)。
3列3行の CSV と、値にカンマを含む CSV の実処理結果
編集部で4パターンを流し、出力欄に出た文字をそのまま記録しました。処理中に外部へ送る通信は発生していません。
既定で入っているのは name・age・city の3列と3行のデータです。CSV → JSON にかけると、3件のオブジェクトが並んだ配列になりました。ここで見ておきたいのは、年齢の30が数値の30ではなく文字列の "30" として出ている点です。CSV には型の情報がないため、すべての値が文字列として読み込まれます。数値として扱いたい列は、受け取る側で変換が要ります。
次に、値の中にカンマを含む行を引用符で囲んで入れました。note 列には、カンマと、エスケープした二重引用符("" の形)の両方を含む文字列を入れています。結果は、引用符の中のカンマは列の区切りとして扱われず、"" は1つの " に戻り、2列のまま正しく読めました。処理を追うと、引用符の中と外を1文字ずつ見分ける作りになっています。ここは堅実です。
セル内の改行で1件が2件に割れた実処理結果
同じ表の次の行に、セルの中で改行を押した状態のデータ(値の途中に生の改行がある行)を入れました。表計算ソフトの備考欄や住所欄からコピーすると、よく混ざる形です。
ここで結果が崩れました。1件のはずのレコードが2件に分裂し、前半は note の値が改行の手前までのレコード、後半は改行より後ろの文字列が name 列に入り、note が空のレコードとして出力されました。エラーも警告も出ないため、件数を数えない限り気づけません。
原因は処理の順番です。本ツールは受け取った CSV をまず改行で行に切り、そのあとで各行を引用符を見ながら列に分けます。改行で切る段階では引用符の中か外かを見ていないため、引用符で囲まれた値の中の改行も行の終わりとして扱われます。CSV の書式を定めた RFC 4180 は引用符の中の改行も1つの値の一部として認めていますが、本ツールの読み込みはそこまでは見ていません。セル内に改行が入るデータは、変換の前に改行を取り除くか、別の手段で取り込んでください。
列数がそろわない CSV と、入れ子 JSON を CSV にしたときのクセ
列数が行ごとに違う CSV も試しました。ヘッダーが a・b・c の3列に対して、2列しかない行を入れると、足りない c 列は空文字として補われました。空行を入れると、3列とも空のレコードが1件できました。逆に4列ある行を入れると、4列目の値は出力に現れず、黙って捨てられました。ここでもエラーや警告は出ません。
向きを JSON → CSV に変えて、値が入れ子のオブジェクトになっているデータを入れると、その列は [object Object] という文字列になり、入れ子の中の項目は完全に消えました。CSV は1行1件の平らな表しか表現できないため、入れ子は変換ではなく事前の平坦化が必要です。
弱点をまとめると2つです。読み込み側はセル内の改行に対応していないこと、書き出し側は入れ子を潰してしまうこと。逆に、引用符の中のカンマとエスケープされた二重引用符は正しく扱えました。これは今回試した4パターンで見えた範囲で、どんなデータでも同じ結果になる保証ではありません。
文字化け・列ずれ・型の消失で気をつける入力と、向かない用途
1つ目: 日本語の文字化け(Excel 関連)→ Excel デフォルトの CSV は Shift_JIS、本ツールは UTF-8 前提。Excel から保存時に「CSV UTF-8(カンマ区切り)」を選んでください。
2つ目: 値内のカンマで列がズレる → RFC 4180 では値内カンマは `"値,カンマ"` のように引用符で囲む。本ツールは自動エスケープ対応。
3つ目: JSON のネスト構造 → CSV はフラット構造のため、JSON の入れ子オブジェクトは [object Object] と表示されます。フラット化が必要。
4つ目: 数値の自動文字列化 → CSV は型情報がないため、JSON の数値 `30` は CSV の文字列 `30` になります。再度 JSON 化時に型復元はされません(必要なら手動指定)。
向かない用途は3つです。1つ目は、備考欄や住所欄に改行が入っている名簿の変換。前の項目のとおり件数が壊れます。2つ目は、注文と明細のように入れ子で持っているデータをそのまま表にすること。3つ目は、型をそのまま運びたい連携です。数値も真偽値も文字列になって出るため、受け取る側が型を決め直す前提で使ってください。
変換結果を貼る前に件数・列・型を確認する3点
出力を次の工程へ渡す前に、人が見るのは3点です。
1点目は件数です。CSV → JSON なら、元の行数(ヘッダーを除く)と出力されたオブジェクトの数が一致しているかを数えます。増えていればセル内の改行を疑い、減っていれば貼り付けの途中で切れた可能性を疑います。
2点目は列です。ヘッダーより多い列を持つ行は黙って切り捨てられるため、元データの中で一番列数の多い行に合わせてヘッダーを作り直してから変換します。
3点目は型です。CSV から作った JSON は、数値も真偽値もすべて引用符付きの文字列になります。API に渡す前に、受け取る側が文字列で受けられるのか、数値でなければ弾かれるのかを確かめておくと、変換のやり直しを避けられます。