HomeGeneratorsDeveloper ToolsFake Data Generator

Fake Data Generator

Developer Tools

Generate realistic fake Indian names, emails, phone numbers, cities, and more for testing and development. Export as JSON or CSV — free, browser-based, no sign-up.

What is a Fake Data?

A Fake Data Generator produces realistic but entirely fictional records — names, email addresses, phone numbers, city and state, pincode, and company name — formatted as JSON or CSV, ready to paste into a database seed script, a test fixture file, or a design mockup.

Every application under development needs data. UI components must be tested with realistic names and addresses to verify that text wraps correctly, that truncation works as expected, and that edge cases like long names or unusual characters do not break the layout. Databases need seed data to make local development environments feel realistic. Automated test suites need input fixtures that vary across runs. Using real user data for any of these purposes is a privacy risk and, under India's DPDP Act 2023, potentially a compliance violation.

The generator produces Indian-context data: names drawn from a diverse pool of Indian first names and surnames spanning north Indian, south Indian, Bengali, and Gujarati origins; phone numbers in the +91 [6-9]XXXXXXXXX format matching TRAI allocations; cities and states correctly paired (Mumbai → Maharashtra, Bengaluru → Karnataka); and company names from recognisable Indian companies and tech brands.

For generating individual fake email addresses in bulk, use the Fake Email Generator. For individual phone numbers with more format options, use the Fake Phone Number Generator. For unique IDs to use as primary keys, use the UUID Generator.

How to use this Fake Data calculator

  1. Set the number of records — enter how many records you need, from 1 to 50.
  2. Choose the output format — JSON for use in code and database seeds; CSV for spreadsheet and database import tools.
  3. Click Generate — all records appear in the output field instantly.
  4. Copy the output and paste into your seed script, test fixture file, or spreadsheet.
  5. Re-generate to get a fresh set of records — each generation uses a new random seed based on the current time.

Formula & Methodology

Each record is built by selecting items from fixed arrays of Indian first names (50 entries), surnames (40 entries), cities (25 major Indian cities), company names (25 Indian companies), and email domains (6 common providers).

Selection uses a linear congruential generator (LCG) seeded from Date.now() at generation time, with different multipliers per field to avoid correlation between fields within the same record. City and state are always correctly paired — the state is looked up from a fixed city-to-state map rather than generated independently. Phone numbers use a random digit in [6, 9] as the first digit (reflecting TRAI's active mobile allocation) followed by 9 random digits. Pincodes use a random non-zero first digit followed by 5 random digits.
Frequently Asked Questions
What is fake data and why do developers use it?
Fake data is realistic-looking but entirely fictional information — names, email addresses, phone numbers, cities — generated algorithmically rather than collected from real people. Developers use it to populate test databases, seed demo environments, fill UI mockups, and write automated tests without involving real personal information. Using real user data in development environments is a privacy risk and often a compliance violation under data protection laws including India's DPDP Act 2023.
What fields does the Fake Data Generator produce?
Each record includes eight fields: a unique ID (UUID-style hex string), full name (Indian first and last name combination), email address (name-based with common email domains), phone number (Indian format with +91 country code, starting with 6–9), city (major Indian city), state (matching the city), pincode (6-digit Indian format), and company name (Indian company or well-known Indian tech/enterprise brand). All fields are realistic in format and pass standard validation patterns.
Can I use fake data generated here in automated tests?
Yes — that is the primary use case. Generated fake data passes standard field-level validation (email format, phone number format, pincode format) and provides realistic variety across test runs. For tests that must hit specific validation rules (e.g. only certain Indian pincode prefixes are valid for a specific state), generate a batch and manually pick the records that match your constraint. Using fresh generated data per test run avoids the brittleness of hardcoded test fixtures.
What is the difference between JSON and CSV output?
JSON output produces a valid JSON array where each record is an object with named fields — suitable for seeding a database via a seed script, populating a REST API mock, or importing into MongoDB or PostgreSQL using `jsonb` columns. CSV output produces a comma-separated file with a header row — suitable for importing into Excel, Google Sheets, MySQL via LOAD DATA INFILE, or any tool that accepts tabular data imports. Company names that contain commas are quoted in CSV output to prevent parsing errors.
Are the generated names realistic for Indian applications?
Yes. The name pool draws from common Indian first names (Aarav, Priya, Rahul, Deepa, Arjun, Ananya, and dozens more across regions) and surnames (Sharma, Patel, Singh, Iyer, Nair, Reddy, Bose, Rao, and others spanning Hindi, South Indian, Bengali, and Gujarati origins). The combinations produce believable full names representative of a diverse Indian user base. Phone numbers follow the TRAI allocation — first digit 6, 7, 8, or 9 — and pincodes follow the 6-digit Indian format.
Is there a limit on how many records I can generate?
The generator supports up to 50 records per generation. This is sufficient for seeding a small demo database, writing a batch of test fixture files, or generating a sample dataset for a design review. For larger datasets (hundreds or thousands of records), a server-side seed script using the same data generation logic is the appropriate approach — the browser tool is optimised for quick, small-batch generation.
Is any of the data I generate stored or transmitted?
No. All generation runs entirely in your browser using JavaScript arrays and a deterministic random number generator seeded from the current timestamp. No data is sent to any server, stored in a database, or logged in any way. Closing the tab loses the generated output unless you have copied or downloaded it.
Can I use this data to test Indian-specific validation like phone number or pincode checks?
Yes. The generated phone numbers follow the pattern `+91 [6-9]XXXXXXXXX` — the format required by Indian mobile number validators. Pincodes are 6 digits starting with a non-zero digit. PAN, Aadhaar, and GST number fields are not included in the generated output (they have specific structural constraints and checksum rules); use the [Regex Generator](/regex-generator/) to understand the patterns, and construct compliant test values manually.