CSVデータ生成ツール
列ごとにルールを定義し、構造化テストデータを一括生成して .csv を書き出し
列定義
データプレビュー
最初の10行のみ表示。書き出し時は全行を生成します
最初の10行のみ表示。書き出し時は全行を生成します
CSVデータ生成ツールとは?
CSVデータ生成ツールは、構造化テストデータを一括生成し、標準的な .csv ファイルとして書き出すオンラインツールです。各列にデータ型——氏名、電話番号、身分証、日付、金額、UUID など——を選び、行数を設定するだけで、ルールに合ったダミーデータを生成します。区切り文字(カンマ、セミコロン、タブ、パイプ)の切り替え、ヘッダー行の有無、Excel で文字化けしない UTF-8 BOM の付与も選べます。すべてのデータはブラウザ内でローカル生成され、サーバーへ送信されないため、開発やテストでのデータベース埋め、デモ画面の作成、教育や発表に適しています。ツールは10言語のローカライズダミーデータに対応しており、データ言語を選ぶと、氏名や会社、都市、電話などのフィールドがその言語圏の実習慣に合った形式で生成されます。例えば日本語なら日本の氏名、韓国語なら韓国の会社名になります。
使い方
手順
- 上部で「データ言語」を選び、氏名や会社などローカライズフィールドの生成スタイルを決めます
- 生成する行数を指定するか、クイックボタンで 100 / 1千 / 1万 / 5万 を選びます
- 「CSVオプション」で区切り文字、改行コード、ヘッダー行の有無、UTF-8 BOM の付与を選びます
- 「列定義」で列を順に追加します。列名、データ型を入力し、必要に応じてパラメータ(数値の範囲や日付の期間など)を設定します
- 「プレビュー生成」で最初の10行を確認し、「.csv 書き出し」でダウンロード、または「CSVをコピー」でそのままテキストをコピーします
コツ
- 列挙型は候補をカンマ区切りで指定し、性別、ステータス、等級など固定値の生成に適しています
- 正規表現型はカスタムルールで文字列を生成でき、組み込み型では足りない場面を補います
- データにカンマが含まれる場合は、区切り文字をセミコロンやタブに切り替えてフィールドの崩れを防ぎます
- Windows の Excel で開く場合は UTF-8 BOM をオンにし、中国語などの非 ASCII 文字が文字化けしないようにします
- 「CSVをコピー」を使えば、ファイルを保存せず生成データをそのまま表計算やエディタに貼り付けられます
活用シーン
技術原理
ツールの中核は、列の型ごとに振り分けるデータ生成器のセットです。各列は1つの型に紐付き、生成時はすべての行を走査して対応する生成関数を呼び出し、二次元配列を作ります。型は2種類あります。1つはローカライズダミーデータで、@faker-js/faker の多言語 locale モジュールを利用し、選んだデータ言語に応じてその地域の氏名、会社、都市、電話などの生成メソッドを呼び出します。そのため日本語なら日本の氏名、韓国語なら韓国の住所が得られます。もう1つは書式データで、数値、日付、金額、UUID、IP、身分証などをツール独自の純粋関数で生成します。中国の身分証は GB 11643 規格に従い18桁のチェックデジットを計算します。 表計算フォーマットと違い、CSV にはセル型がなく、すべての値はプレーンテキストです。そのため各生成値は読みやすい文字列に直列化され——日付は ISO 文字列(yyyy-mm-dd)、金額は通貨記号付き、真偽値は true/false——そのあと RFC 4180 に従ってファイルを組み立てます。区切り文字、二重引用符、改行を含むフィールドは二重引用符で囲み、内部の二重引用符は2つ重ねてエスケープします。区切り文字はカンマ、セミコロン、タブ、パイプで切り替え可能で、改行コードは CRLF か LF を選べ、さらに UTF-8 BOM を先頭に付ければ Excel がエンコーディングを正しく判定します。 選んだ言語に対応する faker locale モジュールは動的に読み込まれ、10言語すべてをページに同梱するのではなく、現在地が必要な1つだけを取り込みます。生成も書き出しもブラウザ内で完結し、何もアップロードしません。乱数源はブラウザ組み込みの疑似乱数生成器で、1回の実行では重複しませんが再現はできません。再現したいデータが必要な場合は乱数シードを固定できます(将来バージョンで対応)。5万行という上限は、メモリ使用量と書き出し時間のバランスであり、テストやデモのほとんどのニーズを満たします。
- 列の型で振り分け:ローカライズデータは faker locale、書式データは自作の純粋関数
- faker locale を動的読み込みし、現在地の言語だけを取り込んでバンドルサイズを抑制
- CSV は RFC 4180 に準拠:区切り文字・引用符・改行を含むフィールドは引用符で囲み、内部の引用符は2つ重ねる
- UTF-8 BOM を任意で付与し、Excel で非 ASCII 文字が文字化けしないようにする
- すべてブラウザ内でローカル処理し、データは外部に送られずプライバシーを保護
例
ユーザーテーブル例
列定義:
ID -> 連番(開始1、間隔1)
氏名 -> 氏名
メール -> メール
電話番号 -> 電話番号
登録日時 -> 日時
区切り文字:カンマ、ヘッダー:あり、BOM:あり
行数:1000
出力:users.csv(1000行)注文金額例(セミコロン区切り)
列定義:
注文ID -> UUID
金額 -> 金額(最小10、最大9999、小数2桁)
割引 -> パーセント(最小0、最大50)
状態 -> 列挙(未払い,支払済み,発送済み,完了)
区切り文字:セミコロン(金額にカンマは含まれないが、ロケールの混同を避けるためセミコロンを採用)
出力:orders.csv — Excel で開くか、データベースにそのまま取り込めます。よくある質問
生成したデータはサーバーに送られますか?
いいえ。すべてのデータはブラウザ内でローカル生成・組み立てされ、列定義や生成結果、書き出した CSV ファイルがサーバーへ送信されることはありません。機密性の高いテーブル構造やフィールド構成にも安心です。
最大何行まで生成できますか?
1 回あたり最大 50000 行です。これはブラウザのメモリと CSV の組み立て時間のバランスであり、テスト・デモ・データベース取り込みの大半のシナリオをカバーします。さらに大量のデータが必要な場合は、複数回に分けて生成するかデータベーススクリプトを利用してください。
氏名や会社に「データ言語」を選ぶのはなぜですか?
氏名、会社、都市、電話などのフィールドは地域性が強く、データ言語を選ぶとその地域の実慣習に合った形で生成されます。たとえば日本語なら日本の氏名、韓国語なら韓国の会社名になり、CSV のテストデータが実業務に近づきます。
CSV の数値や日付が文字列なのはなぜですか?
CSV はセル型を持たない純テキスト形式で、すべての値が文字列として保存されます。数値、金額、日付などは読みやすいテキストに直列化されます。Excel で計算できるネイティブのセル型が必要な場合は、Excelデータ生成ツールをお使いください。
UTF-8 BOM はいつオンにすべきですか?
Windows の Excel で CSV を開く場合、特に中国語などの非 ASCII 文字を含むときはオンにしてください。BOM により Excel はファイルを UTF-8 として読み込み、文字化けを防げます。多くのデータベースやプログラミングツールは BOM なしでも UTF-8 を扱えるため、それら向けにはオフのままで構いません。
区切り文字はどれを選ぶべきですか?
カンマが既定値で最も互換性が高いです。データ自体にカンマが含まれる(例:自由記述の住所)場合は、フィールドの分割を避けるためセミコロン、タブ、パイプに切り替えてください。一部のヨーロッパロケールでは小数点にカンマを使うため、その場合はセミコロン区切りが慣例です。
組み込み型にない形式を生成するには?
「正規表現」型を使い、カスタムルールで文字列を生成します。例えば [A-Z]{3}\d{4} で大文字3桁+数字4桁のコードを作れます。組み込み型がカバーしない場面を柔軟に補えます。