Available Smarty Vars

{$isFirstBatch}, {$isLastBatch}

Booleans for whether or not the current batch of results being generated is the first or last. This is only ever used for users generating the data in-page, which generates the results in chunks. For all other situations, both are always true.

{$colData}

An ordered array of strings containing the column names.

{$rowData}

An ordered array of arrays. Each top level array contains the contents of the row; each child array contains an ordered array of values for each item of data.

Data format

<table><ul><dl>

Use custom HTML format

Available Smarty Vars

{$isFirstBatch}, {$isLastBatch}

Booleans for whether or not the current batch of results being generated is the first or last. This is only ever used for users generating the data in-page, which generates the results in chunks. For all other situations, both are always true.

{$colData}

An ordered array of strings containing the column names.

{$rowData}

An ordered array of arrays. Each top level array contains the contents of the row; each child array contains an ordered array of values for each item of data.

Generates human names (mostly Western) in any format you need.
You can specify multiple formats by separating them with the pipe (|) character. The following strings will be converted to their random name equivalent:

Name

A first name, male or female.

MaleName

A male first name.

FemaleName

A female first name.

Initial

An upper-case letter, A-Z.

Surname

A random surname.

Because of this additional complexity, however, the code runs slightly slower. You can specify multiple formats by separating them with the pipe (|) character. The following strings will be converted to their random name equivalent:

Name

A first name, male or female.

MaleName

A male first name.

FemaleName

A female first name.

Initial

An upper-case letter, A-Z.

Surname

A random surname.

Whatever text you enter into the options text field will be used to generate telephone numbers. Capital X's will be converted to a random number between 1 and 9; lower-case x's will be converted to a random number between 0 and 9.

Select one of the values in the example dropdown for some ideas. Remember: anything other than the X and x character are left unconverted.

As with many of the other data types, to generate phone numbers in multiple format separate them with a pipe | character.

Generates a phone number in an appropriate format for the row of data. If it encounters an unfamiliar country, it generates a default phone number in the format (xxx) xxx-xxxx.

No help available.

This data type randomly generates a date between the dates specified, and allows for unique formatting of the result. See the table below for a list of viable formatting rules (these are cribbed from the standard PHP date() formatting options). Take a look at the example dropdown to select from existing formatting options.

Char

Description

Example

Day

d

Day of the month, 2 digits with leading zeros

01 to 31

D

A textual representation of a day, three letters

Mon through Sun

j

Day of the month without leading zeros

1 to 31

l

A full textual representation of the day of the week

Sunday through Saturday

S

English ordinal suffix for the day of the month, 2 characters st, nd, rd or th. Works well with j

Sunday through Saturday

w

Numeric representation of the day of the week

0 (for Sunday) through 6 (for Saturday)

z

The day of the year (starting from 0)

0 through 365

Week

W

ISO-8601 week number of year, weeks starting on Monday

42 (the 42nd week in the year)

Month

F

A full textual representation of a month, such as January or March

January through December

m

Numeric representation of a month, with leading zeros

01 through 12

M

A short textual representation of a month, three letters

Jan through Dec

n

Numeric representation of a month, without leading zeros

1 through 12

t

Number of days in the given month

28 through 31

Year

L

Whether it's a leap year

1 if it is a leap year, 0 otherwise.

Y

A full numeric representation of a year, 4 digits

1999 or 2003

y

A two digit representation of a year

99 or 03

Generates a random company name, comprised of a lorem ipsum word and an appropriate suffix, like Dolor Inc., or Convallis Limited.

Generates IBAN (International Bank Account Number).
The generated IBAN has a valid checksum, countrycode and length and the BIC is in the right place.
The number is highly unlikely to be really valid though, since there are usually a bunch of checks to do which are country specific.

No help available.

Generates a personal number, used in some countries for social security insurance.
At the present time only swedish ones are supported. The personal numbers are generated according to the format you specify:

PersonalNumberWithoutHyphen

A (swedish) personal number with 12 siffers and no hyphen

PersonalNumberWithHyphen

A (swedish) personal number with 12 siffers and an hyphen

Generates organisation numbers, used in some countries for registration of companies, associations etc.
At the present time only Swedish ones are supported. The organisation numbers are generated according to the format you specify:

OrganisationNumberWithoutHyphen

A (Swedish) organisation number with 12 siffers and no hyphen

OrganisationNumberWithHyphen

A (Swedish) organisation number with 12 siffers and a hyphen

No help available.

No help available.

No help available.

Generates random Canadian provinces, states, territories or counties, based on the options you select. The Full Name and Abbreviation sub-options determine whether the output will contain the full string (e.g. "British Columbia") or its abbreviation (e.g. "BC"). For UK counties, the abbreviation is the standard 3-character Chapman code.

No help available.

This data type generates a random latitude and/or longitude. If both are selected, it displays both separated by a comma.

This data type generates random, valid credit card numbers according to the format you specify.
It is currently capable of generating numbers for the following brands:
Mastercard, Visa, Visa Electron,
American Express, Discover, American Diner's,
Carte Blanche, Diner's Club International, ,
JCB, Maestro, Solo,
Switch, Laser.

Generates a random credit card PIN number from 1111 to 9999.

Generates a random credit card CVV number from 111 to 999.

This option generates a fixed number of random words, pulled from the standard lorem ipsum latin text.

This option generates a random number of words - the total number within the range that you specify (inclusive). As with the Fixed number option, the words are pulled the standard lorem ipsum latin text.

This Data Type lets you generate random alpha-numeric strings. The following table contains the character legend for this field. Any other characters you enter into this field will appear unescaped.

L

An uppercase Letter.

V

An uppercase Vowel.

l

A lowercase letter.

v

A lowercase vowel.

D

A letter (upper or lower).

F

A vowel (upper or lower).

C

An uppercase Consonant.

x

Any number, 0-9.

c

A lowercase consonant.

X

Any number, 1-9.

E

A consonant (upper or lower).

H

An Hexidecimal number (0-F)

Generates a Boolean value in the format you need.
You can specify multiple formats by separating them with the pipe (|) character. The following strings will be converted to their Boolean equivalent:

Generates a column that contains a unique number on each row, incrementing by whatever value you enter. This option can be helpful for inserting the data into a database field with an auto-increment primary key.

The optional placeholder string lets you embed the generated increment value within a string, via the {$INCR} placeholder. For example:

ROW-{$INCR} -> ROW-1, ROW-2, ROW-3, ROW-4, ...

{$INCR}F -> 1F, 2F, 3F, 4F, ...

This randomly generates a number between the values you specify. Both fields allow you to enter negative numbers.

This data type generates random currency values, in whatever format and range you want. The example dropdown contains several options so you can get a sense of how it works, but here's what each of the options means.

Format

The format field governs exactly how the money value should be formatted. X's are converted into a number: all other values are left as-is.

Range - From

Specifies the lower range of whatever values you want to generate. Note: this field should only contain numbers and (if you want) a decimal point and two following numbers to represent cents/pence/etc.

Range - To

The upper range of the numbers to generate.

Currency Symbol

Whatever currency symbol you want to use, e.g. $, €, etc.

Prefix/Suffix

This determines where the currency symbol should appear.

No help available.

This data type lets you generate a column of data that has repeating values from row to row. Here's a couple of examples to give you an idea of how this works.

If you'd like to provide the value "1" for every row, you can enter "1" in the Value(s) field and any value (>0) in the Loop Count field.

If you'd like to have 100 rows of the string "Male" followed by 100 rows of the string "Female" and repeat, you can enter "100" in the Loop Count field and "Male|Female" in the Value(s) field.

If you'd like 5 rows of 1 through 10, enter "5" for the Loop Count field, and "1|2|3|4|5|6|7|8|9|10" in the Value(s) field.

Try tinkering around with it. You'll get the idea.

The Composite data type lets you combine the data from any other row or rows, and manipulate it, change it, combine the information and more. The content should be entered in the Smarty templating language.

To output the value from any row, just use the placeholders {$ROW1}, {$ROW2}, etc. You cannot refer to the current row - that would either melt the server and/or make the universe implode.

Here are a few examples:

Display a value from row 6: {$ROW6}

Assuming row 1 and row 2 contain random numbers, the following are examples of some simple math:

This data type lets you generate tree-like data in which every row is a child of another row - except the very first row, which is the trunk of the tree. This data type must be used in conjunction with the Auto-Increment data type: that ensures that every row has a unique numeric value, which this data type uses to reference the parent rows.

The options let you specify which of your form fields is the appropriate auto-increment field and the maximum number of children a node may have.

Enter a list of items, separated by a pipe | character. Then select whether you want Exactly X number of items, or At most X items from the list. Multiple items are returned in a comma-delimited list in the results. If you want your data set to include empty values, just add one or more pipe characters at the end - the more pipes you enter, the greater the probability of an empty value being generated.

The Computed Data Type gives you access to the metadata about fields in the row to let you generate whatever output you want based on that information. If you just need to access the generated string value from another field (i.e. what you see in the output), see the Composite Data Type. This field type gives you much more access to each field.

{$ROW1}, {$ROW2} etc. contain everything available about that particular row. The content changes based on the row's Data Type and what has been generated, but high-level it contains the following properties:

{$ROW1.OPTIONS} - whatever options were entered in the interface/API call for the row

{$ROW1.COL_METADATA} - any additional metadata returned for the Data Type

{$ROW1.DATA} - the actual generated random content for this field (always in a "display" property) plus any other information about the generated content

{$ROW1.DEBUG} - a handy JSON-serialization of everything in the row, so you can see what's available. Just run it through a JSON formatter.

Example

{$ROW1.RANDOM_DATA.gender} - will output the gender ("male", "female" or "unknown") of the generated content of a Names Data Type field (be sure to replace "1" with the right row number!). If you used FemaleName as the placeholder string this variable will return "female" every time. If you entered "Name", the value returned will depend on the generated string. If you entered a placeholder string with multiple formats, it will return "unknown" if it contained both genders, or no genders (e.g. a surname without a first name).

De-nied. In order to share this Data Set with other people, you need to save it first.

You have bundling/minification enabled. If you click the Reset Plugins button you will need to run grunt to recreate the bundles. For more information read this documentation page. If you have any problems, you may want to turn off bundling.

User Accounts

This section lets you create any number of users accounts to allow people access to the script. Only you are able to create or delete accounts.

Plugins

Check/uncheck the rows to determine which functionality you'd like to see in the interface.

Data Types

37

Human Data

Names

Names, Regional

Phone / Fax

Phone / Fax, Regional

Email

Date

Company

Bank Account Nums (IBAN)

Chilean RUT number

Personal Number

Organisation Number

Social Security Number (SSN)

Geo

Street Address

City

Postal / Zip

Region

Country

Latitude / Longitude

Credit Card Data

PAN

PIN

CVV

Track 1

Track 2

Text

Fixed Number of Words

Random Number of Words

Numeric

Alphanumeric

Boolean

Auto-increment

Number Range

GUID

Currency

Math

Normal Distribution

Other

Constant

Composite

Tree (parent row ID)

Custom List

Computed

Export Types

8

SQL

Excel

CSV

Programming Language

JSON

LDIF

XML

HTML

Countries

21

Spain

Sweden

France

Australia

India

Austria

Canada

Turkey

United Kingdom

Netherlands

Brazil

Belgium

Poland

Germany

Costa Rica

Nigeria

Italy

Chile

Ireland

United States

New Zealand

About

Sometimes you need fake data for things like testing software, populating databases and creating realistic-looking mockups. For text, we have lorem ipsum; but for everything else...? This tool was written to provide a quick and simple way to let you generate large volumes of custom data in whatever format you require.

The Generate page contains the entire script: just fill in the various fields in the page to construct the data set you're interested in, then click the Generate button. And hey presto! Easy, huh?

Extend it

The out-the-box script contains the sort of functionality you generally need. But nothing's ever complete - maybe you need to generate random esoteric math equations, pull random tweets or display random images from Flickr with the word "Red-backed vole" in the title. Who knows. Everyone's use-case is different.

With this in mind, the new version of the script (3.0.0+) was designed to be fully extensible: developers can write their own Data Types to generate new types of random data, and even customize the Export Types - i.e. the format in which the data is output. For people interested in generating more accurate localized geographical data, they can also add new Country plugins that supply region names (states, provinces, territories etc), city names and postal/zip code formats for their country of choice.