Do you need a realistic user record for a test database or a UI mockup? Hand-typing fake names and addresses takes time and gets repetitive. The fake profile generator builds one complete mock identity with one click. Use it to test sign-up forms, dashboards, and seed data.
It serves developers, QA testers, and designers who need placeholder people. Everything runs in your browser with built-in lists of names, jobs, cities, and streets.
Table of Contents
- What the Fake Profile Generator Does
- How to Use the Fake Profile Generator
- How the Profile Fields Are Built
- Worked Example
- How to Read the Results
- Practical Tips for Test Data
- Limitations and Assumptions
- FAQs About the Fake Profile Generator
What the Fake Profile Generator Does
The tool shows one mock user profile at a time.
- Gender: Any Gender, Female Identity, or Male Identity. Any Gender picks one at random.
- Address Country: United States (US), United Kingdom (GB), Canada (CA), or Australia (AU). The code appears at the end of the address.
- Generate New Profile: builds a fresh profile. Changing either selector also builds one.
- Copy Profile JSON: copies the current profile to the clipboard as JSON text.
The script sends no profile data anywhere, and it stores nothing between visits.
How to Use the Fake Profile Generator
- Open the Gender list and choose Any Gender, Female Identity, or Male Identity.
- Open the Address Country list and choose your country.
- Press Generate New Profile to create a fresh profile.
- Press Copy Profile JSON to copy the profile into your test data file.
How the Profile Fields Are Built
Most fields use a random number from JavaScript's Math.random function. Your gender and country choices only pick a name list or the country code.
Gender Choice→Name Lists→Age and Birth Date→Username and Email→Full Profile
Here, r is one random number that is at least 0 and below 1. Math.floor rounds a number down to the nearest whole number.
- Drawn age = Math.floor(r × 40) + 20, so the drawn age runs from 20 to 59.
- Birth year = the current calendar year minus the drawn age. Subtract one more year if the birthday has not happened yet this year.
- Birth month = Math.floor(r × 12) + 1. Birth day = Math.floor(r × 28) + 1.
- Displayed age = whole years from the birth date to today. It always equals the drawn age.
- Name pick = Math.floor(r × list length), used for first and last names.
- Username = lowercase first name, underscore, lowercase last name, then Math.floor(r × 90) + 10.
- Email = username followed by @example.com.
- Area code = Math.floor(r × 800) + 200. If the last two digits are 11, add 1.
- Phone = +1, the area code, then 555-01, then two digits from Math.floor(r × 100).
- Address = Math.floor(r × 9000) + 100, a street name, a city, and the country code.
Worked Example
The example uses fixed random values and the date November 9, 2026. A live run uses new values, so your results will differ.
| Field | Random Value and Math | Result |
| First name | 0.42 × 10 = 4.2, rounded down to 4 | Chloe |
| Last name | 0.27 × 11 = 2.97, rounded down to 2 | Johnson |
| Drawn age | 0.50 × 40 = 20, plus 20 | 40 |
| Birth year | 2026 minus 40. August has passed, so no adjustment | 1986 |
| Birth month | 0.61 × 12 = 7.32, rounded down to 7, plus 1 | 08 |
| Birth day | 0.30 × 28 = 8.4, rounded down to 8, plus 1 | 09 |
| Username suffix | 0.73 × 90 = 65.7, rounded down to 65, plus 10 | 75 |
| Area code | 0.50 × 800 = 400, plus 200 | 600 |
| Phone line | 0.50 × 100 = 50, written as two digits | 0150 |
| Street number | 0.50 × 9,000 = 4,500, plus 100 | 4600 |
| Street | 0.10 × 6 = 0.6, rounded down to 0 | Main St |
| City | 0.20 × 8 = 1.6, rounded down to 1 | Los Angeles |
Gender is set to Female Identity, so the tool skips the random gender pick. The result is Chloe Johnson, age 40, born 1986-08-09. The email is chloe_johnson75@example.com, and the phone is +1 (600) 555-0150.
August has passed by November 9, 2026, so the displayed age is 40. The address ends with US.
How to Read the Results
- Full Name: the first name, then the last name.
- Age card: shows the age only, such as 40 Yrs.
- Age / DOB field: shows the age and birth date together, such as 40 Yrs (1986-08-09).
- Email Address: the username plus @example.com. That domain is reserved for documentation and examples.
- Phone Number: always uses the +1 format, whichever country you pick.
- Username: shown with an @ sign, but the copied JSON stores it without one.
- Address: street number, street, city, and a two-letter country code such as US or GB.
The copied JSON has ten keys, including fullName, dob, and username. A confirmation line appears under the profile when the copy works.
If the browser blocks direct clipboard access, the tool tries an older copy method. If that also fails, an error message asks you to select the JSON text manually.
Practical Tips for Test Data
Generate one profile per test case, then copy it into a fixture file. Combine several copied profiles into one JSON array, then check it with the JSON Validator before you import it.
Check for repeat emails or usernames before you load large batches. For separate name or address data, try the Fake Name Generator or the Fake Address Generator. For username ideas, see the Username Generator, or browse the Developer Tools hub for more utilities.
Limitations and Assumptions
- The tool makes one profile per click. It has no batch mode, CSV download, or saved history.
- Names, jobs, cities, and streets come from short built-in lists. The lists hold 20 first names, 11 last names, 8 jobs, 8 cities, and 6 streets.
- The Address Country setting changes only the country code at the end of the address. Names, streets, cities, and phone formats stay the same, so New York can appear with GB.
- Repeats are possible, because the username pattern allows about 19,800 combinations and no duplicate check runs.
- Area codes are random and not tied to any place.
- Math.random is not cryptographically secure, so never use these values as passwords or secrets.
- Do not use a profile to open an account, pass an identity check, or mislead anyone.
FAQs About the Fake Profile Generator
Is the Fake Profile Generator Safe for Testing?
Yes, for placeholder records in development and QA work. Keep the output out of live systems that handle real customers.
Are the Generated Profiles Based on Real People?
No, the tool does not look up real people. Any match with a real person is a chance overlap.
Can I Choose an Age Range or a Phone Format?
No, the tool has no age or phone settings. Edit the copied JSON if you need a different value.
Can a Profile Change After I Copy It?
No, the copied JSON is a snapshot of the values on screen when you copy. Your saved copy stays the same when you generate another profile.
Does the Birth Date Depend on Your Clock?
Yes, the tool reads the date from your device. The same random draws give a birth year one year later in 2027.
This calculator gives general estimates only and is not professional advice. Reviewed for general accuracy by Prof. Dr. Khalil Mudassar, PhD.