最大 100 列を定義して列ごとにデータの種類を選び、行数(1~100万)とシード値を指定します。シード値と列の設定が同じなら、どのブラウザーでも常に同じ行が生成されるため、テスト用ファイルを保存しておかなくても作り直せます。氏名、メール アドレス、電話番号は架空のものです。メール アドレスは @example.test で終わり、英語の電話番号は 555 で始まる番号を使います。生成はブラウザー内で行われ、アップロードは一切ありません。
CSV ファイルを生成する手順
- 行数(1~100万)とシード値を設定します。初期状態には 6 つの列があります。連番の
id、氏名、メール アドレス、2024~2025 年の登録日、Free・Pro・Team を 6:3:1 の割合で選ぶプラン、0~500 の小数第 2 位までの金額です。 - 列を追加・削除したり名前を変更したりして、列ごとにデータの種類を選びます。列名はすべて入力が必要で、重複してはいけません。
- 必要に応じて、列ごとに空のセルの割合や値の一意性を設定してから、ファイルを生成してダウンロードします。
行は 1 つの巨大な文字列としてではなく、バックグラウンドのワーカーで少しずつ書き出されます。そのため 100万行のファイルでもページが固まらず、キャンセルすると処理が止まります。1 つの出力ファイルの上限は 4 GB です。
データの種類
| 連番 | 開始値(既定は 1)から増分(既定は 1)ずつ数えます。ゼロ埋めの桁数を指定すると 000001 のような ID になります。負の数はゼロ埋めされません。 |
|---|---|
| UUID | RFC 9562 のバージョン 4 の形式(xxxxxxxx-xxxx-4xxx-[89ab]xxx-…)で、シード値付きの生成器から作られます。再現可能なため、秘密の値やセキュリティ トークンには使えません。 |
| 名、姓、氏名 | 表示言語で一般的な名前です。中国語、日本語、韓国語の氏名は、姓を先にして間に空白を入れずに書きます。 |
| メール | name.word<row>@example.test の形式で、たとえば casey.maple1@example.test のようになります。行番号が含まれるため、アドレスはそれぞれ一意になります。氏名の列から作られるわけではありません。 |
| 電話番号 | # がそれぞれ 1 桁の数字に置き換わるパターンです。空欄にすると言語ごとの既定の形式になり、英語では +1 555-###-#### です。 |
| 会社名、市区町村、国 | 表示言語に合わせた架空の会社名と実在の都市名です。国は 20 か国の固定リストから選ばれます。 |
| 整数 | 最小値から最大値まで(両端を含む)の整数です。最小値と最大値はどちらも必須で、JavaScript が正確に保持できる最大の整数である ±9,007,199,254,740,991 の範囲内にする必要があります。 |
| 小数 | 最小値から最大値までの、小数点以下 0~10 桁の数値です(例:114.71)。 |
| true / false | true または false を同じ確率で出力します。 |
| 日付、日時 | YYYY-MM-DD 形式の 2 つの日付の間(両端を含む)のランダムな日です。日時にすると、ランダムな UTC の時刻が付きます(例:2026-01-04T09:17:35Z)。 |
| リストから選択 | 1 行に 1 つの値を書き、必要に応じてコロンの後に重みを付けます。Free:6、Pro:3、Team:1 とすると、約 60% の確率で Free が選ばれます。重みのない行は 1 として数えます。 |
| パターン | # が数字、? が英大文字、* が数字または英大文字になるテンプレートです。SKU-####-?? からは SKU-6836-LU のような値ができます。それ以外の文字はそのままコピーされます。 |
| 単語 | 平易な英単語 20 語の固定リストから選んだ 1~20 語(既定は 3 語)で、埋め草のテキストに使います。 |
| 固定値 | すべての行に同じテキストを入れます。 |
シード値と再現性
シード値には任意のテキストを使えます。各列は、シード値と列名から作られる列ごとの乱数列から値を取り出します。そのため、次のようになります。
- シード値、行数、列の設定が同じなら、どのブラウザーでも毎回バイト単位で同一のファイルが生成されます。
- ほかの列を追加・削除・並べ替えても、ある列の値は変わりません。ただし、その列の名前を変更すると値も変わります。
- 行数を増やしても、それまでの行は変わらず、新しい行が後ろに追加されます。
- 表示言語によって変わるのは名前、都市、会社名、電話番号の既定の形式で、数値、日付、選択肢、メール アドレスは変わりません。
空のセルには別の乱数列を使います。空のセルは値を消費しないため、空のセルの割合を変えると、その列の後の行に現れる値がずれます。
空のセルと一意の値
空のセルは列ごとに 0~100 の割合(%)で指定し、各セルがその確率で空になります。インポート処理が欠損値をどう扱うかのテストに使えます。
「一意」を有効にすると、その列でまだ使われていない値が出るまで値を引き直し、1,000 回試しても見つからなければ、列名を示すエラーで中止します。一意にできないことが明らかな設定は、最初の段階で受け付けません。たとえば、整数の範囲に含まれる整数が行数より少ない場合や、選択肢の数が行数より少ない場合です。それ以外の種類でも途中で値が尽きることがあり、たとえば英語の氏名を一意にすると約 144 行(名 12 種類 × 姓 12 種類)で尽きます。連番、UUID、固定値の列はこのチェックの対象外で、空のセルは値として数えません。
設定のエラー
- 行数は 1~100万の整数で、列は 1~100 個にする必要があります。
- 列名が空か重複しています。見出しはすべて入力し、それぞれ別の名前にしてください。
- 整数と小数の列には最小値と最大値の両方が必要で、最小値は最大値以下にする必要があります。
- 日付の範囲は
2024-01-01のようにYYYY-MM-DD形式で入力してください。2024/01/01や01/02/2024は受け付けません。 - パターンには
#、?、*のいずれかを 1 つ以上含める必要があります。含めない場合は固定値の列を使ってください。 - 選択肢のリストには、重みが 0 より大きい値が 1 つ以上必要です。
例
シード値 demo-2026 で生成した 5 行です。列は、1001 から始まり 6 桁にゼロ埋めした連番、氏名、メール アドレス、重み付きの選択肢、空のセルが 40% の 0~250 の小数、パターン SKU-####-?? です。同じ設定でもう一度生成すると、まったく同じ行が得られます。改行コードは通常の改行として表示しています。
rows: 5 seed: demo-2026 language: English customer_id sequence start 1001, width 6 name full name email email plan choice Free:6 / Pro:3 / Team:1 mrr decimal 0–250, 2 places, 40% blank sku pattern SKU-####-??
customer_id,name,email,plan,mrr,sku 001001,Mary Brown,casey.maple1@example.test,Free,,SKU-6836-LU 001002,Ethan Davis,taylor.copper2@example.test,Pro,,SKU-8060-HR 001003,Ethan Clark,morgan.falcon3@example.test,Team,114.71,SKU-1401-TZ 001004,Olivia Davis,jordan.harbor4@example.test,Pro,91.82,SKU-8840-PT 001005,Mia Taylor,casey.prism5@example.test,Free,6.99,SKU-6878-OZ
よくある質問
生成したデータは共有しても問題ありませんか?
実在の人物は含まれていません。氏名は一般的な名前をランダムに組み合わせたもので、メール アドレスは予約済みの .test ドメイン(RFC 2606)を、英語の電話番号は 555 を使っています。ただし、都市名は実在の地名です。
同僚も同じファイルを生成できますか?
はい。シード値、行数、表示言語、列の設定(列名を含む)が同じであれば、同じファイルになります。このジェネレーターはブラウザーの乱数ではなく、シード値を使う独自のアルゴリズムで値を生成しています。
大きなファイルと小さなテスト用ファイルのどちらが必要ですか?
既知の注意点を含む、説明付きの数行のデータが必要なら サンプル CSV ファイル を使ってください。行数の多いデータ、独自の列名、特定の種類の組み合わせが必要なときはジェネレーターを使います。