Fake Name Generator
Generate up to 1,000 fake US identities with 88 selectable fields, from name and address to social handles, card, SSN and salary. Every batch prints its own consistency receipt. Export JSON or CSV.
- Free, no account
- No watermark
- No usage limit
About the Fake Name Generator
A fake name is easy to produce and surprisingly hard to get right, and the name is never the hard part. It is everything that has to agree with it: the address, the email built from it, the card, the age against the birthday. On 16 August 2026 I pulled fifty rows out of the bulk person generator that currently ranks for this and ran a checker over all fifty, not a sample of them. Every single card number passed the Luhn test, and thirty two of the fifty carried a brand label that its own number contradicts. 4485 8615 1269 3046 is a Visa number printed under the word MasterCard. 3470 1926 3178 438 is fifteen digits on an American Express prefix, labeled MasterCard. Sixteen ages were a year out, because the age was worked out by subtracting the birth year and nobody checked whether the birthday had happened yet. Forty nine of the fifty ZIP codes belong to some other state than the one printed beside them, including a Michigan address on 09504, which is an overseas military prefix. Not one of the fifty coordinate pairs landed inside its own state.
None of that breaks a program. That is exactly why it survives. It ruins the fixture quietly, and you find out when a colleague opens your demo database and asks why the Visa card says MasterCard. So this generator does the one thing none of them do, which is read back what it just wrote and count the disagreements out loud.
How to use
- Pick your fields. Eighty eight of them, in ten drawers: name, personal details, contact, address, work and education, money and cards, social handles, online and devices, vehicle and shipping, and lifestyle. Tap a whole drawer or single buttons. The presets across the top get you back to one artifact in one click, nine of them, running from a whole person down to just a surname.
- Set how many. Anywhere from 1 to 1,000. Type 5,000 and you get 1,000 with a line telling you what happened, rather than the digits changing under your cursor.
- Choose an email rule. Realistic invents mail style hosts like
cedarharbormail.com, joining two words and a mail word from a screened bank. Reserved usesexample.comand friends, which by internet standard can never reach a live mailbox. The rule covers the employer too, so the company email and the company website move to.examplewith it. - Ask for a boys' or girls' name, or leave it on Any. The Social Security Administration publishes its baby name file already split by sex, so Boys reads the boys' lists and nothing is guessed from the spelling of a name. Any is what the page opens on, and it gives you a mixed batch.
- Read the receipt. It sits above the table and recounts every cross field rule that applies to the columns you switched on.
- Copy or export. JSON or CSV, always the full batch even when the table is only showing you the first hundred rows.
The receipt is the whole point
After every generate, one block above the table recomputes the checks from the strings in the rows and reports them as counts rather than as adjectives. 1000/1000 card brands match their own IIN. 1000/1000 ages recomputed from the birth date. 1000/1000 ZIP prefixes belong to their state. Forty five rules run when every column is on, down to the VIN check digit, whether the salary fits the pay band for that job title, and whether the company was founded before the person it employs turned up. Two of those rules cover the gender column, because asking for a batch of men and getting Mary in row nine is the same broken promise as the MasterCard label. The first name gets looked up on the Social Security Administration's own list for the gender printed beside it, and the title has to agree with that gender too.
That second pair of rules forced a decision worth naming, because a handful of names sit on both SSA lists and Taylor is mostly a girls' name while still being one plenty of boys were given. Asking for Boys here means asking for names boys were given, list membership and nothing cleverer, so Taylor can turn up. The alternative was a predominance cutoff at fifty or eighty percent that the SSA has never published, which would have put an invented number at the center of a tool whose whole pitch is printing numbers you can check. Any shared name that lands in your batch gets its own split printed under the filter, with the head counts behind it, so you can see what it did and disagree on the spot.
The rule that makes this worth anything is that the receipt reads the rendered output, not the generator's intentions. It never sees which brand was chosen. It reads the label and the number off the row and works out for itself whether they agree, which is what a reviewer with a spreadsheet would do. A receipt built the other way would have given all thirty two of those broken competitor rows a clean bill.
Switch a column off and its checks leave the list instead of reporting on data you cannot see. Generate zero rows and there is no receipt at all, because a check that passes over nothing is worse than no check.
City, state and ZIP are one decision
Most generators fill those three columns independently, which is how a Maryland address ends up on 38061, a Tennessee prefix. Here the state is picked first, then a real city in that state, then one of that city's own real ZIP codes. Nothing is drawn twice, so a mismatch is not a rare bug, there is no path that produces one.
That took a table of 2,877 real US cities, each paired with the ZIP codes USPS assigns to it, across all fifty states. This site built the table itself out of public facts, because city names, states and ZIP codes are not anybody's property, and then checked it against three US Census Bureau files that are public domain by statute. The Census ZCTA to county file was asked which state each ZIP is in, and of the 30,158 it could answer for, it disagreed zero times. A city filed under the wrong state fails the suite before it can reach you.
Two things the address deliberately does not claim, and I would rather name them than let you find them. The street name and house number are invented, so 75201 is a ZIP the Postal Service really does assign to Dallas and nothing here says that street exists inside it. And the coordinates land inside the state's bounding box, not inside its border, which means a Michigan row can occasionally sit in the lake. The label says bounding box for that reason.
The ZIP itself used to be the third thing on that list. It was the city's three digit prefix with two random digits stuck on the end, which is what most generators do. As of August 2026 all five digits are looked up.
Social handles that are the same person on every network
I checked four hundred and forty one scraped pages of the three generators that rank for this. Not one of them emits a social handle. The nearest thing is a generic username page advertising handles for Twitter, Instagram and TikTok, which then hands back one untyped string with no network attached, and that is the tell: a handle is only worth anything if it is the handle for a particular place.
The networks genuinely disagree with each other. X allows underscores and refuses periods. Instagram takes both and refuses a leading, trailing or doubled one. LinkedIn and GitHub take hyphens and refuse underscores. The caps run from fifteen characters to a hundred. Paste one string into all eight columns and its punctuation decides how much of it survives: an underscore is refused by three of the eight, a period by four, a hyphen by four, and a plain run of letters and digits by none of them. So each handle here is built to the rules its own network publishes at signup, and the receipt checks the finished string back against them.
They also spell the same person. Every handle is the first and last name on its own row, allowing for the affixes real handles carry, so a row reads as one human instead of eight unrelated strings. When a handle carries a number it is that person's own birth year, because that is what people actually do and because a number agreeing with another column is worth more than a random one.
Two things it will not do. There are no profile links, because a handle in a spreadsheet is inert and instagram.com/j.torres84 in a mockup is a live link to whoever really holds it. And it makes no claim the handle is free. A name shaped handle inside a network's rules is by construction one the network would have let somebody register, and there is no reserved handle range anywhere to draw a safe one from, which is the one promise the SSN and the phone number can make and this field cannot.
An employment history, not an employment label
The two competitors with an employment block give you a company and a job title. Neither gives you a date, and once you add dates you have to make them agree with the person.
So the start date is drawn inside a window that opens on the person's eighteenth birthday and closes today, which puts nobody on a payroll at nine years old. The years at the company are recomputed from that date by the same function that recomputes the age from the birthday, so the two columns cannot drift. The employer's founding year is drawn at or before the year its own employee joined, because a company founded in 2019 with a 2011 hire is the employment version of a Visa number under a MasterCard label. The industry is read out of the job title's own row rather than drawn beside it, so the two columns have no way to disagree. And the company phone carries an area code belonging to the company address printed next to it, read back out of that rendered line.
Numbers that cannot belong to anybody
A nine digit string that passes every published Social Security rule is, by construction, a number the SSA may have issued to a living person. That is why one competitor hides its SSN behind a login and another prints it next to the mother's maiden name, which is the classic bank recovery pair.
So almost every field here that a validator would recognize is drawn from a range the issuing authority has never used. SSNs sit in area 666, which the SSA has never assigned and never will. Routing numbers pass the real ABA checksum and then start between 33 and 60, a band the ABA has never issued, so the format check clears and the number still belongs to no bank. Phone numbers pair a genuine area code for the state with the reserved 555-0100 to 555-0199 fiction line, and IP addresses come from the private and documentation ranges. On the Reserved email setting the employer joins them, so the company mailbox and the company website sit on .example rather than on a domain somebody could own.
The card number is the exception, and I would rather name it than let the sentence above quietly cover it. There is no unissued card prefix to draw from, because the leading digits are what tell a validator it is looking at a Visa, so a card outside assigned space is not a Visa shaped number, it is a number nothing recognizes, and the field exists to be pasted into things that check the brand. What stands in for the guarantee is arithmetic. The prefix is fixed and the last digit is the Luhn check that the digits in front of it decide, so everything in between is free, which leaves eleven free digits on the tightest prefix in the table and fourteen on a Visa. Your number is one of at least a hundred thousand million that fit the prefix it carries, and no bank has to have minted it. That is a weaker promise than the other four make and it deserves to be read as one.
MAC addresses joined that list in August 2026 and they are the neatest case of it. The first three bytes of an ordinary MAC are an identifier the IEEE has genuinely assigned to a manufacturer, so six random bytes can drop you inside somebody's registered block and your fixture then claims a device Dell never made. How often that happens depends on how much of the 16,777,216 possible prefixes the register covers on the day you ask, and that is not a count this page can do, so it does not print one. IEEE 802 puts a flag in the second bit of the first byte meaning locally administered, which is the standard saying in its own words that this address was assigned on site and is not registered to anyone. Every MAC here has that bit set, which leaves 64 of the 256 possible first bytes to draw from and takes the question off the table. It is what every hypervisor does for the same reason, any parser will agree it belongs to nobody, and the receipt reads the bit back out of the printed string.
A strict validator that knows the 666 rule will reject the SSN, which is a real cost and one I would rather pay, because the only way to get a number that passes every check is to hand you one that might be a real person's.
Frequently asked questions
Why is there no country selector or IBAN column?
Because every other field is American. The address format, the state codes, the ZIP prefixes, the area codes, the tax ID. A locale is not a label you swap, it is a postal format, a region list and a reserved phone block that all have to arrive together, and half a locale gives you a French heading over a Kansas ZIP. On the IBAN, the United States is simply not in the scheme. The competitor renders an empty labeled IBAN box on every US row, which reads as a broken export rather than a fact about the country, so the column is absent here and the tax field is labeled EIN because an EIN is what it is.
What does the receipt not check?
It tells you, on the page, every time. Under the checks is a line naming the columns on screen that no rule speaks for, because a block of green ticks over an eighty eight column table invites you to believe all eighty eight were counted. Two kinds of column land on that line, one that nothing could ever check and one whose rule wants a second column you have switched off, and they are named separately so you know which ones a tick would fix. Narrow the picker far enough that no rule runs at all, a name on its own will do it, and the panel still turns up to say that nothing in the table is checked.
The honest answer is that thirty three of the eighty eight columns are free draws with nothing to agree with. Favorite color, favorite food, hobby, personality type, marital status, hair and eye color, the password, the license plate. There is no fact that makes a favorite food wrong for a thirty four year old electrician in Ohio, and a rule saying otherwise would be a stereotype with a checkmark next to it. A check that cannot fail is the same defect as a claim nobody checked, one level further in, so those columns get named instead of counted.
Beyond that, the things nothing could check. It cannot promise a generated name belongs to nobody, since the lists are common given and family names recombined and there are many real James Smiths. It cannot promise a social handle is unclaimed, for the reason above. And on the realistic email setting it cannot promise the domain is unregistered, which is what the Reserved setting is there for.
Which email setting should I use?
Realistic when the data is going in front of a person. A screenshot full of @example.net announces itself as filler, and a client reviewing a mockup will notice. Reserved when the data is going anywhere near a live mail path, because those names are held aside by internet standard and cannot route. Nothing here ever sends anything either way, the difference is what happens if your own code does.
Can I get more than 1,000 rows?
Not in one batch, and the table only draws the first hundred of them so it stays usable, though the export still carries all 1,000. For genuinely large volumes you want a seeded code library in your test suite, which is also the answer if a test asserts that user 3's email equals a specific value. Every press here builds fresh people, which is right for filling forms and demos and wrong for a test that needs the same rows twice.
What did you leave out on purpose?
Race and ethnicity, which several competitors include. Nothing in this generator could make that label agree with the name on the same row, and an unchecked label sitting beside a name is precisely the defect the whole tool exists to beat. Profile photographs are out for a blunter reason: one competitor's avatars are its own words scraped from free image sites, so a real person's face is presented as this invented person's. The UPS tracking number is shaped correctly but carries no computed check digit, because one that validates could resolve to somebody's actual parcel.