User Rating 0.0 β˜…β˜…β˜…β˜…β˜…
Total Usage 0 times
Presets:
Configure your schema and click "Generate Data"
Is this tool helpful?

Your feedback helps us improve.

β˜… β˜… β˜… β˜… β˜…

About

Incorrect test data leads to undetected edge cases in production. A date field that never generates a leap year, an email column with no special characters, a price that never hits 0.00 - these gaps silently pass through QA and surface as customer-facing bugs. This generator constructs mock datasets from a user-defined schema with 20+ field types, each producing values that follow real-world distribution patterns and format constraints. Credit card numbers pass the Luhn checksum. UUIDs conform to RFC 4122 v4. Addresses combine plausible city/street/zip tuples rather than random string concatenation.

The tool approximates realistic data distributions but does not guarantee statistical uniformity. Generated personal data (names, emails, phones) is synthetic and not sourced from real individuals. For load testing, generate datasets up to 10,000 rows and export directly to JSON, CSV, SQL INSERT statements, or XML. Pro tip: always test with boundary values - set your integer range minimum to 0 or βˆ’1 to catch off-by-one errors your production schema won't.

mock data fake data generator test data JSON generator CSV generator SQL insert generator dummy data schema builder developer tools

Formulas

UUID v4 generation follows RFC 4122. The 128-bit identifier is constructed from cryptographically random bytes with version and variant bits set:

UUID=hex8βˆ’hex4βˆ’4xxxβˆ’yxxxβˆ’hex12

where y ∈ {8, 9, a, b} sets the variant bits.

Credit card validation uses the Luhn algorithm. Given a card number with digits d1, d2, … dn:

nβˆ‘i=1diβ€² mod 10 ≑ 0

where diβ€² doubles every second digit from the right. If the doubled value exceeds 9, subtract 9. The check digit dn is chosen so the total sum is divisible by 10.

Random integers within a range [min, max] use:

value = floor(random() Γ— (max βˆ’ min + 1)) + min

Float generation adds decimal precision control: value = round(raw Γ— 10p) Γ· 10p, where p is the decimal places parameter.

Reference Data

Field TypeFormat / PatternExample OutputConstraints
First NameDictionary lookupElenaGender filter (optional)
Last NameDictionary lookupNakamura -
Full NameFirst + LastElena Nakamura -
Email[email protected][email protected]Unique per dataset
Phone+1-XXX-XXX-XXXX+1-555-832-4017Country code prefix
IntegerUniform random42Min / Max range
FloatDecimal precision3.14Min / Max / Decimals
Booleantrue | falsetrueProbability weight
DateYYYY-MM-DD2024-03-15Start / End date range
DateTimeISO 86012024-03-15T09:30:00ZStart / End range
UUIDRFC 4122 v4a3bb189e-8bf9-4c7a-... -
Auto IncrementSequential integer1, 2, 3…Start value
EnumUser-defined listactiveComma-separated values
IP Address (v4)X.X.X.X192.168.1.42 -
URLhttps://domain/pathhttps://example.com/page -
Color (Hex)#RRGGBB#7C8CF8 -
ParagraphLorem ipsum sentencesLorem ipsum dolor sit…Sentence count range
CityDictionary lookupToronto -
CountryDictionary lookupJapan -
Street AddressNumber + Street Name742 Evergreen Terrace -
Zip Code5-digit US format90210 -
CompanyDictionary lookupAcme Corp -
Credit CardLuhn-valid 16 digits4532-XXXX-XXXX-XXXXPasses Luhn checksum
Usernameadjective_noun_digitscool_tiger_42 -
PasswordMixed charsxK9#mPq2!vLLength configurable
JSON ObjectNested key-value{"key": "value"}Template-based

Frequently Asked Questions

No. The generator creates numbers that pass the Luhn checksum algorithm (mod 10 validation), which means they are structurally valid. However, they are not linked to any real bank account, have no valid expiration date or CVV association, and cannot be used for transactions. They are intended solely for testing payment form validation logic in development environments.
UUID v4 uses crypto.getRandomValues() for 122 bits of entropy, yielding approximately 5.3 Γ— 10³⁢ possible values. The probability of collision in a dataset of 10,000 rows is astronomically low (β‰ˆ 10⁻²⁸). For practical testing purposes, duplicates will not occur. If your application requires guaranteed uniqueness, combine UUID with the Auto Increment type as a composite key.
The current schema operates on a single flat table. For relational testing, generate a primary table first with an Auto Increment ID field, export it, then create a second schema using the Integer type with a min/max range matching your primary key range. This simulates a foreign key relationship. Set min to 1 and max to your row count.
The generator processes data in batches to prevent UI freezing. Up to 1,000 rows generate near-instantly. Between 1,000 and 5,000 rows, expect 1-3 seconds with a progress indicator. Up to 10,000 rows is supported but may take 5-10 seconds depending on field complexity (paragraphs and regex patterns are the most expensive). Beyond 10,000 rows, use the exported file rather than the preview table.
Emails are constructed by combining a lowercased first name, a separator (dot or underscore), a lowercased last name, and a domain from a curated list (example.com, test.org, etc.). They conform to RFC 5321 format rules. The Unique constraint ensures no duplicate emails within a single generated dataset. They will pass standard email regex validation but do not resolve to real mailboxes.
Use SQL INSERT format for direct database seeding - it generates valid INSERT INTO statements with proper string escaping. For API testing and frontend development, use JSON (array of objects). CSV works best for spreadsheet analysis and bulk import tools like pgAdmin or MySQL Workbench. XML is provided for legacy SOAP service testing and enterprise system integration.