無料オンラインツール
JSON生成|CSV・Excel・連番・日時からJSONを作成
このツールの入力データはブラウザ内で処理します
CSV・Excelの表や手入力のデータに、連番・日時・UUIDなどの生成データを組み合わせて、ネストしたJSONを作れる無料ツールです。複数の表を1つのJSONにまとめたり、関連する行を入れ子にしたりできます。
JSONを生成
1データ(表)
CSV・Excelファイルを読み込むか、Excelなどでコピーしたセルを貼り付けて表を追加します。表はこの画面で編集できます。表を使わず、連番や日時だけでJSONを作ることもできます。
ファイルはここにドラッグ&ドロップすることもできます(CSV・TSV・Excel .xlsx)
2JSONの組み立て
「ブロック」は、1つの表(または生成だけ)から作るJSONの一部です。ブロックごとに項目の位置と値の作り方を決め、全体のJSONのどこに入れるかを「配置先」で指定します。
バージョン番号などの固定の値はここに書きます。配置先の場所がテンプレートにない場合は自動で作られます。空欄または {} のままで、配置先を空欄にしたブロックが1つだけなら、そのブロックがそのままJSON全体になります。
3出力
プレビュー
各ブロックの先頭3件で表示しています設定が変更されました。もう一度[JSONを生成]を押してください。
ファイルの読み込みからJSONの生成まで、すべてブラウザ内で行います。表やファイルの内容はサーバーへ送信されません。設定と小さな表はこのブラウザに保存され、次に開いたときも使えます。
JSONを作る手順
- 「1 データ(表)」で、CSV・Excelファイルを選ぶか、Excelなどでコピーしたセルを[貼り付けて追加]します。表を使わない場合はこの手順を飛ばせます。
- 「2 JSONの組み立て」でブロックを用意し、データ元の表と形(オブジェクトの配列など)を選びます。表を読み込むと、列をそのまま項目にしたブロックが自動で作られます。
- 項目ごとに「JSON上の位置」と「値」を決めます。値には表の列か、連番・日時・UUIDなどの生成方法を選びます。
- ブロックの「配置先」に、全体のJSONの中のどこに入れるかを入力します。空欄にするとブロックがそのままJSON全体になります。
- プレビューで形を確認し、[JSONを生成]を押して、コピーまたはダウンロードします。
まずは[サンプルで試す]を押すと、ユーザーと注文の2つの表から、各ユーザーの中に注文を入れたJSONを作る設定を確認できます。
作れるJSONの例
表「ユーザー」の各行を data.users に入れ、ユーザーIDが同じ「注文」の行を各ユーザーの orders に入れた例です。code と createdAt は表にない値を連番と日時で作っています。
{
"version": 1,
"data": {
"users": [
{
"id": 1,
"code": "USER-0001",
"profile": { "name": "佐藤 花子", "email": "hanako@example.com" },
"createdAt": "2026-10-01T09:00:00+09:00",
"orders": [
{ "orderId": "A001", "price": 300 },
{ "orderId": "A002", "price": 120 }
]
}
]
}
}項目の位置の書き方
| 書き方 | 作られるJSON | 説明 |
|---|---|---|
name | {"name": …} | そのままキーになります。 |
user.name | {"user": {"name": …}} | 「.」で区切ると、オブジェクトの中に入ります。 |
tags[0] | {"tags": [ … ]} | [ ]の数字は配列の何番目か(0から)を表します。 |
items[0].price | {"items": [{"price": …}]} | 配列とオブジェクトを組み合わせられます。 |
a\.b | {"a.b": …} | キーに「.」「[」「]」を含めるときは「\」を前に付けます。 |
同じ位置を2回使ったり、「user」と「user.name」のように値の中に別の項目を入れようとしたりすると、エラーとして知らせます。ブロックの配置先も同じ書き方です。
値の作り方とブロックの形
- 表の列:その行のセルの値を使います。
- 連番:開始値・増分・桁数(0埋め)・先頭の文字を指定できます(例:USER-0001)。
- 日時の連続:開始日時から分・時間・日・週・月ごとに進めます。日本時間で計算し、ISO 8601・日付・UNIX時間などの形式で出力します。月ごとの場合、31日のように存在しない日は月末にそろえます。
- UUID:行ごとに異なるID(バージョン4)を作ります。
- 固定値・選択肢・ランダムな整数・ランダムなtrue/false:テストデータ作りに使えます。
- 子ブロック:別の表の行のうち、指定した列の値が一致する行を、配列などの形で入れます。
ブロックの形は「オブジェクトの配列」のほか、1つの項目の値だけを並べた「値の配列」、先頭の1行だけを使う「オブジェクト」、指定した項目をキーにする「キー付きオブジェクト」から選べます。
型と空欄の扱い
表の値はすべて文字として読み込まれるため、項目ごとに型を選びます。「数値」は全角数字や「1,200」のような桁区切りも数値にします。「真偽値」は true/false・1/0・yes/no・はい/いいえなどを変換します。「JSONとして解釈」はセルに書かれた ["a","b"] などをそのままJSONの値にします。変換できない値があると、表の何行目かを示してエラーにします。
空欄のセルの扱いは、項目ごとに「空欄のとき」で「"" にする」「null にする」「出力しない」から選べます。「出力しない」を選ぶと、その項目(キー)自体がJSONに入りません。
利用上の注意
- 表は20個まで、1つの表は10万行・200列まで、ブロックは30個、1つのブロックの項目は200個まで、生成するJSONは100MBまでです。CSVファイルは50MB、Excelファイルは50MBまで読み込めます。
- Excelファイルは、計算式ではなく保存されている計算結果を読み取ります。セルの色・結合などの書式は読み取りません。日時の書式が付いたセルは「2026-10-01」「2026-10-01 09:30:00」の形になります。
- プレビューには各ブロックの先頭3件だけを表示します。UUIDやランダムな値は、[JSONを生成]を押すたびに作り直されます。
- JSON Lines(1行に1件)は、配置先を空欄にしたブロックがJSON全体になっている(全体が配列の)ときに選べます。
よくある質問
CSVをJSONに変換するだけのツールとは何が違いますか?
表の列をそのままキーにするだけでなく、「user.name」のように項目の位置を自由に決めてネストしたJSONを作れます。連番・日時・UUIDなど表にない値を追加したり、複数の表を1つのJSONにまとめたり、ユーザーごとに注文を入れるような入れ子も作れます。列名をそのままキーにする単純な変換なら、CSV → JSONツールのほうが手軽です。
Excelファイルはそのまま読み込めますか?
.xlsx(マクロ付きの .xlsm を含む)を読み込めます。シートが複数ある場合は、使うシートを選べます。セルの値は、計算式ではなくExcelが保存した計算結果を使います。日付の書式が付いたセルは「2026-10-01」の形で読み取ります。古い .xls 形式とパスワード付きのファイルは読み込めないため、Excelで .xlsx として保存し直してください。
表を使わずにテストデータだけを作れますか?
できます。ブロックのデータ元で「表を使わない(生成のみ)」を選び、作る件数を指定してください。連番・日時・UUID・選択肢・ランダムな整数などを組み合わせて、最大10万件まで作れます。
数字の先頭の0が消えないようにできますか?
型を「文字列」にすると、「007」のような値もそのまま出力します。表の列を使う項目は、初期設定で文字列になっています。「自動判定」を選んだ場合も、先頭が0の値や15桁を超える数字は文字列のまま出力します。
UUIDや連番は重複しませんか?
連番はブロックの中で1件ずつ増えるため重複しません。UUIDはブラウザの乱数で作るバージョン4のUUIDで、実用上重複しませんが、データベースの主キーなど重複が許されない用途では、取り込み先でも一意制約を確認してください。子ブロックの連番は、親の1件ごとに開始値から数え直します。
入力した内容は保存されますか?
設定と、合計5万セルまでの表はこのブラウザに保存され、次に開いたときも使えます。それより大きい表は列名だけを保存するため、ファイルを読み込み直してください。サーバーには送信されません。[すべてリセット]で削除できます。
データを更新したファイルで作り直せますか?
できます。すでにある表と同じ名前の表(ファイル名やシート名)を読み込むと、内容を置き換えるかを確認します。置き換えると、同じ名前の列はそのまま対応するため、ブロックの設定を変えずにJSONを作り直せます。なくなった列を使っている項目はエラーとして知らせます。