TEST DATA TOOLS

Mock Data Generator with CSV, JSON and SQL Export

Define your own columns, generate up to 5,000 rows of synthetic data and export them in the format your test, API or database expects.

Everything happens on your device. Your inputs and files are never sent to a server.

When the ready-made templates do not match your schema, define the table yourself. This mock data generator works as a lightweight, no-install alternative to Faker scripts: write one column per line in the form name:type, choose how many rows you need, and get JSON, CSV or SQL INSERT statements back. Column names are yours, so the output can match an existing table or API contract exactly.

There are 11 data types. Some keywords are Turkish because the tool comes from the Turkish edition of Falanca: ad means first name, soyad last name, eposta email, sehir city, sirket company, urun product, sayi number and tarih date. The remaining types, id, boolean and uuid, work as you would expect. All text values are Turkish, which makes the output especially useful for localization testing.

How to use: Mock Data Generator with CSV, JSON and SQL Export

  1. In Column name:type (one column per line), write each column, for example email:eposta.
  2. Set Number of records to anything from 1 to 5,000.
  3. Pick a Copy / download format: JSON, CSV (Excel-compatible UTF-8) or SQL (MariaDB / MySQL INSERT).
  4. For SQL, enter the SQL table name; it must start with a letter or underscore.
  5. Click Generate test data and check the first 100 rows in the Data preview.
  6. Copy the result or Download it as a .json, .csv or .sql file.
EXAMPLE

Example: user_id:uuid, first_name:ad, email:eposta, signup:tarih, active:boolean

Column types and what they produce

Column names may use up to 48 ASCII letters, digits and underscores and must be unique. Each type generates the following:

  • id: a sequential integer starting at 1.
  • ad / soyad: a Turkish first name / last name, such as İrem or Yılmaz.
  • eposta: a unique email built from the row's name, ending in @example.com.
  • sehir: a Turkish city; sirket: a fictional company name; urun: a sample product name.
  • sayi: a random whole number from 0 to 100,000.
  • tarih: a date in YYYY-MM-DD format between 2024 and 2026.
  • boolean: true or false; uuid: a random version 4 UUID.

Seeding databases with SQL INSERT statements

SQL output is written for MariaDB and MySQL, one INSERT statement per row. Text values are encoded as hex literals converted to utf8mb4, so Turkish characters survive regardless of your SQL mode or client encoding, and quotes inside values can never break the statement. Booleans become 1 or 0. The tool does not generate a CREATE TABLE statement; create the table first with matching column names, then run the file with your client or a migration seed script.

CSV for Excel and formula safety

Downloaded CSV files are UTF-8 with a byte order mark, which makes Excel display ç, ğ, ı, ş and İ correctly. Formula safety is on: any value that starts with =, +, -, @ or a tab is prefixed with an apostrophe so spreadsheets do not execute it. That guards against CSV injection if the file is later opened by someone else.

Why synthetic data beats a production copy

Copying production tables into a test environment spreads personal data to laptops, CI logs and shared drives, which is hard to justify under the GDPR or KVKK. Synthetic rows give you the same volume and structure with nothing to leak. Use them for load tests, demos, API mocks and training, and never use generated identities to deceive anyone.

Frequently asked questions

Is this a Faker alternative?

For quick jobs, yes. You get realistic rows without installing a library or writing a script, and nothing leaves your browser. Faker remains the better choice when you need dozens of locales, addresses or phone numbers, or generation inside an automated test pipeline. This tool focuses on 11 types and Turkish data.

What are the limits?

You can define 1 to 20 columns and generate up to 5,000 rows per run, with a maximum output size of 10 MiB. The preview shows the first 100 rows to keep the page fast, while Copy and Download include the full dataset.

Can I generate phone numbers, addresses or credit card numbers?

No, and that is deliberate. Phone numbers, street addresses, national ID numbers, IBANs and card numbers are not available, because realistic versions of them can match real people or be misused. For card fields, use the official test card numbers published by your payment provider.

Why do I get an "unknown type" error?

Each line must be name:type with exactly one colon, and the type must be one of id, ad, soyad, eposta, sehir, sirket, urun, sayi, tarih, boolean or uuid. Type keywords are lowercase and Turkish ones have no accents, so write eposta rather than email and sehir rather than city.

Do the name and email columns match in each row?

Yes. Within a row, ad, soyad and eposta are generated together, so the email [email protected] appears next to Çağla Öztürk. The row number in the email keeps every address unique, which is handy for tables with a unique index on email.

Is the generated data reproducible?

No. There is no seed option, so every run produces new random values. If your tests need a stable dataset, generate it once, save the JSON or SQL file in your repository and load it as a fixture.

Cookie and ad preferences

Your favorites and theme preference are stored on your device. Tool inputs are never saved. Ads load only when the consent management integration allows them.

No consent management platform is connected on this installation, so no ad requests are sent.