Sample CSV (Dummy Data) Generator

Define column names and types (sequential ID, full name, email, date, numbers, and more) to instantly generate and download dummy CSV data for testing and QA.

Supported Data Types

Type Example output
Sequential ID 1, 2, 3, ... or a prefixed sequence like USR-0001
Full Name Fictional names mixing Japanese and Western styles, e.g. Taro Yamada, Emma Smith
Email Address [email protected] (derived automatically from the generated name)
Phone Number A Japanese mobile-style format such as 090-1234-5678
Date A random date within your chosen range, formatted as YYYY-MM-DD
Integer A random whole number within your chosen min/max range
Decimal (price, etc.) A random decimal within your chosen range, rounded to 2 places
Boolean true/false (labels can be customized)
Free Text A word-salad sentence such as "Lorem ipsum dolor sit amet."

Tips

  • Enter any number in the seed field to reproduce the exact same dummy data every time from the same column definitions — handy when sharing a bug report or a fixture for automated tests.
  • The generated CSV follows RFC 4180: values containing commas, line breaks, or double quotes are quoted and escaped correctly.
  • The email column is automatically derived from a full-name column placed before it in the same row, so pairing the two produces internally consistent data.
  • Everything runs entirely in your browser and nothing is ever sent to a server — it's completely fabricated data with no real personal information.
  • Row counts are capped at 10,000 to keep the browser responsive. If you need more, fix the seed and generate in batches, then merge the files.

Frequently Asked Questions

No, not at all. Names, email addresses, and phone numbers are mechanically combined from a built-in list of test names and dummy domains/formats — none of it corresponds to any real individual.

Up to 10,000 rows per generation, to keep the browser from freezing. If you need more, fix the seed value and generate in multiple batches, then combine the resulting files.

A seed is the starting number for the pseudo-random generator. Using the same seed with the same column definitions always produces the same sequence of dummy data. This is useful whenever you need randomness that is still reproducible, such as sharing steps to reproduce a bug or asserting against a fixed expected value in a test.

Some first names are romanized Japanese names (e.g. Taro, Hanako), but the generator does not currently produce kanji or hiragana names or furigana. Column names and boolean labels, however, accept any free text including Japanese.

The downloaded file is encoded as UTF-8. Opening it directly in Excel can sometimes garble non-ASCII characters depending on your locale settings; instead, use Excel's "Data" tab and import "From Text/CSV", explicitly selecting UTF-8 as the file origin.
ツールくん

Side Note — Why testing needs "seeded" dummy data

Using dummy data instead of real records is standard practice in software development, for two main reasons: protecting personal information (avoiding real customer data in development or test environments), and being able to freely craft edge cases and unusual inputs on demand. This is exactly why libraries like Ruby's Faker, Python's Faker, and JavaScript's @faker-js/faker are so widely used.

Purely random dummy data, however, has one weakness: it is not reproducible. When a test fails intermittently, it becomes hard to tell whether the cause is a genuine logic bug or simply an unlucky, unusual value that happened to be generated that time. A seeded pseudo-random number generator (PRNG) solves this: given the same seed, it produces the exact same sequence of numbers — and therefore the exact same dummy data — every single time, making bugs far easier to reproduce and test results easier to verify.

This tool uses mulberry32, an algorithm that produces good-quality pseudo-random sequences with very little computation, and is a popular lightweight choice in JavaScript. It is not suitable for cryptographic use, but it is exactly the kind of algorithm you want for test-data generation, where being deterministic and fast matters far more than cryptographic unpredictability.