簡潔なフィールド定義から、再現可能な JSON / CSV のモックデータを生成します。デモ、テスト、UI 開発に使えます。入力: `id: integer(1000,9999)` のような行を含むフィールド定義と、任意のシード値。出力: コピーまたはダウンロードできる再現可能な JSON / CSV データ。
ブラウザ内でローカルに実行1行に1フィールド: fieldName: generator. Use a seed when you need the same example data again.
fullName, email, uuid, url, word, sentence(8), isoDate, boolean, integer(1,99), decimal(0,1), enum(red,blue), and array(word,3).
A seed makes output repeatable; leave it blank to use a one-time browser seed. This generator is intended for fixtures, demos, and test data—not production identities.
Generate fixtures to preview JSON or CSV here.
ダウンロードはブラウザ内の Blob から作成されます。生成データが KivTools にアップロードされることはありません。
出力は UI の状態、API のサンプル、コントラクトテスト、あるいは「JSON → コード」ツールへの取り込みに使えます。実在する顧客名・メールアドレス・トークンはテストデータに含めないでください。
1 行に 1 フィールドを fieldName: generator の形式で書きます。ページはその一覧をレコードに変換し、API のサンプルやリクエストボディ向けの JSON、表計算やデータベース取り込み向けの CSV として出力します。書き方が違う行は、中途半端なファイルを返さずにその行を指摘します。
シード値を決めると値の並び全体が固定されます。同じテンプレート・同じシード・同じ件数なら 1 バイトまで同じファイルになり、あとから件数を増やしても、すでにテストへ貼り付けたレコードは変わりません。
テンプレートが受け付ける生成器は 13 個です。fullName、email、uuid、url、word、sentence、isoDate、boolean、integer、decimal、enum、array、ip。名前は大文字小文字を区別せず、引数を取らない生成器では括弧を省略できます(uuid() と uuid は同じ呼び出しです)。
ルールは括弧の中にあります。integer() は既定で 0〜100 で、最小値より小さい最大値は拒否します。decimal() も同じですが、値を必ず小数 2 桁に丸めるため、decimal(0,0.01) が返せるのは 0 か 0.01 だけです。sentence() は既定 8 語で、引数は 1〜40 に制限されます。array(生成器,件数) は引数がちょうど 2 つ必要で、最大 100 件です。enum() には空でない選択肢が最低 1 つ必要で、選択肢はカンマ区切りなので選択肢自体にカンマは使えません。
シードは乱数列にハッシュ化されるため、同じシードは常に同じ値を再現します。今日生成した 8 件と、明日生成した 8 件は 1 文字まで一致します。シードを空にするとページは時計と Math.random を混ぜるので、一度きりのデモには向きますが、テストが照合するフィクスチャには向きません。
安定性を決めるのは 2 点です。フィールドの順序は乱数列の一部なので、フィールドを移動したり途中に挿入すると、それ以降の値がすべて変わります。新しいフィールドは末尾に追加してください。一方、レコード数は乱数列の一部ではありません。同じシードで 5 件から 50 件に増やしても、最初の 5 件はそのままです。
email と url は予約済みドメイン example.test、demo.invalid、fixture.local しか使いません。生成されたアドレスは配信できないためです。ip は第 1 オクテットを 223 以下に保ち、末尾を 0 や 255 にしないので、パーサーがユニキャストのホストアドレスとして受け入れる範囲に収まります。
テンプレート・シード・生成結果はタブの中にとどまります。テンプレートとシードの両方に目印の文字列を入れて実行しても、それを含むリクエストは送信されません。ページが発生させる外部通信はサイト自身のアクセス解析ビーコンだけで、そこにフィクスチャは渡りません。ただし値はあくまでダミーです。本番の識別子や実在の顧客データは自社のデータを使ってください。
JSON は 2 スペースで字下げした配列で、リクエストボディやフィクスチャ用モジュールにそのまま貼り付けられます。CSV はフィールド名のヘッダー行で始まり、すべてのセルを引用符で囲みます。array() フィールドはセルの中で JSON として書かれ、RFC 4180 に従って引用符が二重化されます。
Output を切り替えると、新しく生成するのではなく表示中の行を整形し直すので、読んでいた JSON が同じ値の CSV になります。量も問題ありません。5 フィールド × 5,000 件で 0.2 秒ほど、約 1 メガバイトです。ダウンロードはローカルの Blob から作成され、ファイル名は kivtools-mock-data.json または kivtools-mock-data.csv です。