Pick the columns you need, set a row count, and generate a table of realistic fake records. Each selected field becomes a column: choose First Name, Email, and City for a contact list, or Product, Price, and SKU for a catalog. Values come from the @faker-js/faker dataset, so names, addresses, and companies read like plausible records rather than random characters.
The table renders live and rerolls whenever you change the columns, row count, or locale.
Columns
Fields are grouped by type: Person, Internet, Location, Company, Finance, Commerce, Phone, Dates, Vehicle, and IDs. Toggle any combination. The column order in the table and exports follows the group order, so the layout stays stable as you add or remove fields.
For a fixed, single-purpose set, use one of the presets such as the user data generator or address data generator.
Seed and repeatability
A seed turns the generator deterministic. Enter any text or number, and the same seed plus the same columns reproduces the exact same rows on any machine. This matters when a test needs stable fixtures or when two people need the identical dataset from a shared URL. Clear the seed to return to random output, and press Regenerate for a fresh roll.
Locale
The Locale selector changes the underlying data source. German produces German street names and cities, Japanese produces Japanese names, and Brazilian Portuguese adjusts phone formats. Fields without regional variants, such as card numbers and UUIDs, stay the same across locales.
CSV and JSON export
CSV output quotes every value and escapes embedded quotes, following RFC 4180, so records containing commas or quotation marks import cleanly into spreadsheets and databases. JSON output is an array of objects keyed by column label, which drops straight into API mocks, seed scripts, and test fixtures. Both exports include every generated row, not only the 100 shown in the preview.
Card numbers and other limits
Generated card numbers follow the standard length and checksum rules but are not real or usable. Emails and usernames are synthetic and may collide at high row counts. For guaranteed-unique keys, add a UUID or Nano ID column.