CSV generator

CSV template name:
template id (for API):

First file generated

This tool allows you to generate CSV files.You can generate multiple CSV files at the same time (exported to a single ZIP file).It is also a SQL data generator, you can directly generate SQL queries.JSON output is also possible.

You can see the user guide to help you to use this CSV generator Online.

It is Open source :), you can download the source code here.

How to generate CSV files?

This dataset generator allows to generate random CSV files:

    CSV generation setting
  • Step 1: Add the correct number of fields.

  • Step 2: Select the name each field.

  • Step 3: Select the data type of each field.

  • Step 4: Fill in the options.

  • Step 5: You have the right to make mistakes: You can remove a field, and also change the positions of the different fields.

  • Step 6: Choose the CSV format!
    Then choose the number of lines to generate for each file, as well as the number of CSV files to generate.

  • Step 7: Choose the format of your CSV files (Delimiter, quote, escape, newline and header).
    You can generate CSV data, but also generate TSV file.

  • Step 8: Start generation of CSV files.

  • CSV generation setting
  • Step 9: You have the preview of a generated CSV file.

  • Step 10: Copy to the clipboard or download the CSV files generated.
    You can also download a ZIP file that contains all CSV files.

How to generate SQL queries?

This SQL data generator allows to generate SQL files containing insert statements so that you can directly feed a database table.

  • Steps 1 - 5: Same as generating CSV files, see above.

  • Step 6: Choose the SQL format!
    Then choose the table name and if the statement create table should be added or not.

  • Steps 7 - 10: Still identical to the generation of csv files, see above.

How to save your SQL / CSV template?

You can save your templates so that you can generate SQL or CSV data later without having to reconfigure all columns.You must create an account for this feature.

CSV generation setting

Click on "save" button to save your template.

Click on "copy" button to copy the current template. This feature allows you not to start from scratch.

The section "Your templates" contains your templates.You can click on the cross button to delete your template.


An API is available to generate CSV/SQL data files.

Usage limits:

  • 200 requests per day
  • 5000 rows per call


Generate CSV / SQL data from a saved template.

Hearder codeDescriptionData typeRequired
api-keyYour API KEY.StringRequired
JavaScript example:
const request = new XMLHttpRequest();
request.open("POST", "https://api.extendsclass.com/csv-generator/templates/6uvjybck8/generate", true);
request.setRequestHeader("api-key", "Your API key");
request.onreadystatechange = () => {
Success: 200
		-- CSV generated							
Error: 404
Template not found
Error: 401
API key unknown

List of data types

You can choose between different data type for the fields of your CSV / SQL table:

  • GUID: Globally Unique Identifier. Format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx.
  • Index: It is a self-incrementing field one by one. You can choose the starting index.
  • Random (Integer): An integer drawn at random in the interval you define.
  • Random (Float): A float drawn at random in the interval you define. You can choose the scale.
  • Date: A date drawn at random in the interval you define. You can choose the format.
  • Regular Expression: A random string that matches a given javascript regex.
  • Expression: A string containing values of the other columns of the row. Just put the name of the column in brace, example: ({{column name}}.
  • First name: A first name.
  • Last name: A last name.
  • City: A city name.
  • Country: A country name.
  • Country code: A country code on two characters.
  • Choice: You can define a word list (enter one word per line). The field will contain one of the words you have defined.
  • Lorem ipsum: A list of characters among those you have defined.
  • Custom: You can define a javascript function that returns the content of the field.
    You have access to the other fields of the row (from their names).
    Example of function to return an email address that contains the first and last name (You must have defined fields with the names "firstname" and "lastname"):
    Note: This data type is not available in API (For safety reasons)!
    function (line) {
    return line.firstname + '.' + line.lastname + '@gmail.com'; 
You can report a bug or give feedback by adding a comment (below) or by clicking "Contact me" link (at the top right hand corner of the page).


2020-01-01-2020-06-10 22:09
Love you guys for this.

Hasta la proxima-2021-01-26 22:26
best page ever <3

yan-2021-05-02 07:50
Nice game

Axel-2021-10-06 14:47
Compliment! This is the best free online random data generator for creating unspecific data that I could find. :-)
Idea for a little improvement: An option for the basic data types, which allows to include some "NULL" values (possible with SQL resp. relational databases). At the moment this is only possible with "Choice", as far as I can see?

Cyril (admin)-2022-02-05 13:13
Hi, this option looks interesting

Zurisaddai Lumbreras-2022-01-11 19:28
saving template is not working

Cyril (Admin)-2022-01-11 19:57
Hi, the server is struggling