Utilia

Test Data Generator

Generate realistic fake test data (names, emails, addresses, dates, numbers) in your browser and export it as JSON, CSV or SQL INSERT statements.

Columns
    Export format

    How to generate test data

    1. Pick a Locale: English (US), English (Canada), French (France) or French (Canada). It sets the style of names, addresses, postal codes and phone numbers.
    2. Build your columns. Each column has a Column name and a Type; some types have options such as Min and Max, a From and To date range or International format for phone numbers. Add a column appends one, Remove deletes it and Reset columns brings back the default set.
    3. Set the number of Rows (max. 10,000) and, if you want reproducible data, a Seed (optional).
    4. Click Generate data. The first 20 rows appear in the preview and the full export in the output box.
    5. Choose the Export format (JSON, CSV or SQL INSERT), then copy or download the result. Changing the format or its options does not regenerate the data.

    What the tool generates

    The values come from the open-source Faker library, which picks entries at random from word lists for the chosen locale. You can combine people (first name, last name, full name, email, phone, job title), places (street address, city, state or province, postal code, country), companies, dates, integers, decimal numbers, UUIDs, booleans and placeholder text (lorem words, sentences or paragraphs). A Row number (1, 2, 3…) column is handy as a primary key.

    Each row shares one fictitious person, so the email is built from the first and last name of the same row. With Reserved example domains only (on by default), every address ends in example.com, example.org or example.net. These domains are reserved for documentation by RFC 2606, so a test run can never send mail to a real inbox. The % empty option leaves that share of cells blank (null in JSON and SQL), which is useful for testing how your code handles missing values.

    Reproducible data with a seed

    Faker uses a pseudo-random generator. When the seed field is empty, the tool picks a random seed and shows it in the result message. Type that seed, keep the same columns, locale and row count, and you get exactly the same rows again, which is useful for bug reports, screenshots and automated tests. Any text works as a seed: digits are used as a number and other text is converted to one. The same seed can give different values after a future update of the Faker library.

    Export formats

    • JSON gives an array of objects, one per row, with numbers and booleans kept as real JSON types.
    • CSV follows RFC 4180: values that contain the delimiter, quotes or line breaks are quoted. Choose a semicolon for French-language Excel.
    • SQL INSERT writes multi-row INSERT statements of up to 500 rows each. Identifiers are quoted with double quotes in the Standard dialect or backticks for MySQL / MariaDB, and single quotes inside strings are doubled, so names like O’Brien never break the script. Include CREATE TABLE adds a matching table definition with simple column types (INTEGER, DECIMAL, DATE, BOOLEAN, VARCHAR, TEXT).

    Fake data only: use it responsibly

    Everything this tool produces is invented. Names, addresses, phone numbers and emails are random combinations, but they can accidentally match a real person, a real street or a working phone number. Use the data to fill development databases, demos, prototypes and automated tests. Never use it to deceive anyone, impersonate a person, create fake accounts or reviews, commit fraud, or get around identity or age verification.

    Frequently asked questions

    Is my data sent anywhere?

    No. The generator runs entirely in your browser; your column setup and the generated rows never leave your device. The Faker library is downloaded once for the locale you choose.

    Can I use these emails and phone numbers for real messages?

    No. Keep Reserved example domains only on so that emails cannot reach anyone. Phone numbers look valid for the locale but may belong to a real person, so never call or text them from a test system.

    Why is the date range inclusive of both days?

    The From and To dates are both possible values. With Include the time (UTC), any second of the last day can be picked, and values are written as ISO 8601 date-times such as 2024-03-01T14:05:09Z.

    How many rows can I generate?

    Up to 10,000 rows and 50 columns per run. For more, generate several files with different seeds and combine them.

    Does the SQL work with my database?

    The standard dialect suits PostgreSQL, SQLite and most databases; MySQL and MariaDB need the backtick dialect. Check the column types in CREATE TABLE and adjust them to your schema before running the script.