Name Generator
This name generator draws from built-in English name lists and hands back as many names as you ask for: first names only, surnames only, or complete names in the usual “first last” order. Set the gender filter, set the quantity between 1 and 100, and press one of the three generate buttons; the names appear in a plain text box that the Copy button lifts to your clipboard in one click. It is a random name generator in the literal sense — every entry in the list has the same chance of coming up — which makes it a practical name picker for stories, games, screen names, placeholder records and baby-name brainstorming, and, by the same token, not a census of what people are actually called.
What This Random Name Generator Does
Three buttons cover the three things people come here for. Generate First Name returns given names only — the first name generator path. Generate Surname returns family names only, and Generate Fullname pairs one first name with one surname into a complete name. The Copy button puts whatever is in the result box on your clipboard and flashes “Copied!” for two seconds, so you can tell the click registered. It takes one click to generate random names in batches of up to 100.
Two inputs steer the draw. The Gender: dropdown offers Any, Male and Female: choose Male or Female and every row is drawn from that first-name list, while Any flips a fresh coin for each row, so one batch can mix male and female names. The Quantity: field defaults to 5 and accepts 1 to 100 names per click. The Result: box shows one name per line, and every click replaces the previous list rather than appending to it — the box always holds the most recent draw.
| Control | What it returns | How the gender filter applies |
|---|---|---|
| Gender: Any / Male / Female | the pool for the next draw | Any re-rolls a gender for every row; Male and Female fix it for the whole batch |
| Quantity: 1 to 100 (default 5) | how many names one click returns | clamped to the range; a blank field falls back to 5 |
| Generate First Name | n first names, one per line | selects the male or the female first-name list |
| Generate Surname | n surnames, one per line | no effect — the English surname list is a single shared list |
| Generate Fullname | n complete names, “first last” | the first name is filtered; the surname is not |
| Copy | every line of the result box as text | nothing to filter — the button shows “Copied!” for two seconds |
The draw itself comes from the site’s shared secure random module: the picker reads bytes from the browser’s own cryptographic source, crypto.getRandomValues, and discards out-of-range samples instead of taking a remainder, so every entry in a list is equally likely with no modulo bias — Math.random() is not used on that path. And because all of it runs in the page, nothing you type or generate is uploaded or stored; the names exist only in the result box until you copy them somewhere.
The Formula Behind the Draw: Uniform, Bounded, Repeats Allowed
It helps to be precise about what “random” means here, because three properties explain every surprise this tool can hand you. Each row is a single independent draw from a finite list, made with replacement. Uniform means the entries carry no weights; with replacement means the tool does not cross a name off after using it.
Uniform odds. If the list being drawn from holds \( N \) entries, each entry has the same chance of being the one that comes out:
\[ P(\text{any single name}) = \frac{1}{N} \]
where: \( N \) is the number of entries in that list, not the number of names you asked for. Surname draws use one list; first-name draws use the male or the female list, whichever the filter selects.
The coin behind “Any”. With Gender set to Any, the tool re-rolls a gender for every row before drawing, so the coin is per row rather than per batch:
\[ P(\text{male}) = P(\text{female}) = \frac{1}{2} \]
The quantity clamp. Whatever number ends up in the Quantity field is squeezed into the supported range before anything is drawn:
\[ n = \min\bigl(\max(q,\,1),\,100\bigr) \]
How many full names exist. A full name is one first name plus one surname, so the number of possible pairings is a product:
\[ N_{\text{full}} = N_{\text{first}} \times N_{\text{surname}} \]
Repeats are allowed. Rows do not talk to each other, so two rows can return the same name. For \( n \) draws from a list of \( N \) entries, the chance that every draw differs is:
\[ P(\text{all distinct}) = \prod_{k=0}^{n-1}\left(1 – \frac{k}{N}\right) \approx e^{-n(n-1)/(2N)} \]
That product says the honest thing plainly: a long list and a short batch rarely repeat, while a batch that approaches the size of the list — and 100 rows against a short list is close — makes a repeat nearly certain. There is no no-repeat switch, and there is no weighting by how common a name really is. The lists are curated rather than census-ranked, so a familiar name can come up twice while an unusual one waits its turn. This is a name picker and an idea starter, not a population sample.
Precision and boundaries. Nothing here is rounded to two decimals, because the output is text and not a measurement; the only number in the whole tool is the quantity, which must be a positive number of 1 to 100 whole names per click. There are no units either — no cm or inches, no kg or pounds — since what comes back is a name, not a physical size.
How to Use the Name Generator
- Pick the gender filter. Any is the default and re-rolls a gender for every row; Male or Female locks the first-name list for the whole batch.
- Set the quantity. Type a number from 1 to 100, or leave the default 5 for a shortlist and push it toward the top of the range when you want a large pool. A blank field falls back to 5.
- Choose a button. Generate First Name for given names, Generate Surname for family names alone, Generate Fullname when you want the pair joined as “first last”.
- Read the Result box. Names arrive one per line, and each new click replaces the whole box with the newest draw.
- Copy what you like. The Copy button copies every line at once, and its label changes to “Copied!” for two seconds so you know it worked. Copy the names worth keeping before you re-roll, because the next click replaces the batch.
- Re-roll when the batch is not convincing. Draws are independent, so clicking again is a genuinely fresh draw that does not build on the previous list. If only the surname needs replacing, use the surname generator on its own so the first names you liked are not re-drawn with it.
Examples: What a Worked Draw Looks Like
The names a draw returns cannot be quoted in advance — that is the whole point of a random name generator — so what follows is four honest walkthroughs of the interface, with the settings to use and what the screen does at each step.
Example 1 — a baby-name shortlist, Gender: Any, Quantity: 5
Set Gender to Any and Quantity to 5, then click Generate First Name. Five first names land in the Result box, one per line, and because Any re-rolls per row the five can mix male and female names in a single batch — useful while you are still undecided. Read them, copy the ones worth keeping, and click again: the next batch is a completely new draw, and a name you skipped may return. Treat it as a name picker that feeds your shortlist, not as a ranking of the most popular names.
Example 2 — a character name for a story or a game, Quantity: 1
For a character you already know is female, set Gender to Female and Quantity to 1, then click Generate Fullname. One complete name appears in the ordinary “first last” order — no comma, no middle initial — ready to paste into a draft. If only the surname disappoints, re-draw with Generate Surname alone; pressing Generate Fullname again rebuilds both halves, because each row is assembled from an independent draw of each list.
Example 3 — a pen name or a handle, Quantity: 10
A pen name, a fresh e-mail alias or a screen name suits this tool well, because the draw is uniform and the lists hold ordinary English names rather than celebrities: set Quantity to 10 and click Generate Fullname for ten candidates in one pass. Check the winner against the service you plan to use — this tool can confirm a name exists in its list, not that a handle is free anywhere else.
Example 4 — placeholders, classroom role-play and test data, Quantity: 10
Two everyday uses deserve spelling out, because they are where people misread the tool. For placeholder records in a prototype, a scratch spreadsheet or a form you are testing, Quantity: 10 with Generate Fullname gives you ten random person names in one click — but they are ordinary real names from a finite list, so a record can coincide with a real person, and two rows can repeat; deduplicate, and never treat a generated name as an identity. In a classroom, the honest use is as a random name picker for role-play: assign each student a persona for a language exercise, or draw one name when a group needs an arbitrary character. It cannot pick from your class roster itself, because the lists are built in — number your students and draw numbers instead, with the random number generator linked below.
Name Generator FAQ
Is this a random name generator or a list of popular names?
It is a random name generator: every entry in a list has an equal chance of being picked, no matter how common that name is in real life. Nothing is weighted by birth-certificate frequency or by fashion, so a chart-topping name has no advantage over an ordinary one. If you need names ranked by how often they are actually used, a census table is the right source, not this page.
Why did the same name come up twice?
Because rows are drawn independently, with replacement, from a finite list. Nothing is crossed off after a draw, so a repeat is always allowed: a short batch from a long list usually shows no repeat at all, while a large batch or a short list repeats often. Clicking again is a fresh draw that can repeat too, since the tool has no no-repeat mode.
Does the gender filter change the surnames?
No. The filter selects the male or the female first-name list, while the English surname list is shared, so Generate Surname returns the same pool whichever gender is chosen. With Generate Fullname the filter shapes the first name only, and the surname is then drawn from that shared list — which is why Any produces mixed-gender batches of first names paired with ordinary surnames.
What order are full names printed in?
First name, then a single space, then the surname — “first last”, the ordinary English order. The full name generator is wired to the English lists and the English order, so you will not see “surname, first” or a middle initial; if your format needs a comma or an initial, add it in your own text after pasting.
Can I use it as a character name generator or a name randomizer for a game?
Yes, that is one of its best uses: a character name generator for a novel, a screenplay, a tabletop campaign or a game prototype, and a name randomizer when you just need ten options fast. Two limits matter. The lists hold ordinary English given names and surnames, so there are no fantasy constructions, no invented spellings and no culturally specific sets beyond English; and every name it prints is a real common name, so a coincidence with a real person is possible.
Can it generate 500 names, or avoid duplicates automatically?
No on both counts. The quantity is capped at 100 names per click, and the tool does not track what it has already handed you, so nothing prevents duplicates inside a batch. For more than 100, click again and paste the batches side by side in a text editor, then deduplicate there.
Where does the data come from, and is anything saved?
Everything is local: the name lists ship with the page, the draw runs in your browser through its cryptographic random source, and no request carries your settings or your results anywhere. There is no account, no history and no upload — close the tab and the batch is gone, so copy anything you want to keep before you leave.
Related Tools
This page belongs to the same random family as three other BunTool pages, and each one covers what a name generator cannot. When you need numbers rather than names — picking a student by their class number, drawing lottery-style digits, or generating test IDs — the random number generator draws integers inside a range you set. When what you need is a token, a coupon code or a short unique identifier, the random string generator builds strings from the character sets you choose. And when the thing being generated must actually stay secret, a name out of a public list will not do: the password generator produces high-entropy passwords from the same secure random source. Names are for ideas and placeholders; secrets and rosters need the other two.