👤

Random Name Generator

A random name generator picks a first name and a surname independently from curated lists, so every draw is fresh: 40 English male first names times 40 surnames gives 1,600 possible full names. Ask for 5 and you get results like Sharon Moore or Andrew Smith in one click, with no repeats.

Generated Names ()

The pool ran out of unique names, so fewer than requested are shown. Lower the quantity or untick "No duplicates".

Paste at least one name above, then press Generate.

Embed this tool on your website

× px

                        

💡 Integration Tip

Copy the embed code and paste it into your website HTML. The responsive version adapts to all screen sizes automatically.

1 rating

How does this random name generator work?

Each draw makes two independent random choices: one index into the first-name list for the culture you picked, one into the surname list. The two are joined with a space. That means the number of full names a set can produce is simply first names multiplied by surnames - 40 x 40 = 1,600 for English men, or 80 x 40 = 3,200 once the male and female lists are merged under Any. Nothing is generated by AI and no name is invented; the lists are fixed, so the same name can come back on a later press of Generate.

Name pool size by culture

Name set Male first names Female first names Surnames Full names (Any)
English 40 40 40 3,200
French 22 20 20 840
Spanish 20 20 20 800
Japanese 20 20 20 800
Arabic 20 20 20 800

Full names (Any) = (male + female first names) x surnames. The five sets hold 242 first-name entries and 120 surname entries. Nine first names and four surnames belong to more than one set - Emma is in the English, French and Japanese lists, the surname Garcia in the English and French ones - so the sets together hold 232 distinct first names, 116 distinct surnames and 6,426 distinct full names out of 6,440 per-set combinations.

How do I pick a random name from my own list?

This is the mode most people mean by "random name picker". Instead of inventing names, the tool shuffles the names you paste and hands back the top of the shuffled deck. With "No duplicates" ticked - the default - that guarantees a fair order with no repeats, the property a wheel spinner gives you but a plain random pick does not. Clear the box and every draw is taken independently, so the same name can be picked more than once.

  1. Press "Pick from my list" above the form.
  2. Paste your names into the box - one per line, or separated by commas, semicolons or tabs. While "No duplicates in this batch" is ticked, case-insensitive duplicates are merged; clear it and every entry stays in the draw.
  3. Set Quantity to how many you want drawn: 1 for a single winner, or the full roster length to randomise the whole order.
  4. Press Generate, then Download CSV to keep a numbered record of the draw.

Which name formats can it produce?

Name type changes what each result looks like. Usernames are built from the same first name and surname, then formatted with one of four patterns chosen at random, so a batch of 20 usernames almost always mixes all four styles. The examples below all come from the pair Sharon + Moore.

Output Example Pattern
Full name Sharon Moore First name + space + surname
First name Sharon First name only, from the male, female or merged list
Last name Moore Surname only, 20 to 40 per culture
Username A sharonmoore417 firstlast + a number from 0 to 999
Username B sharon_moore first_last, lowercase, no digits
Username C sharon.moore42 first.last + a number from 0 to 99
Username D smoore8321 First initial + last + a number from 0 to 9999

How do I make a random name generator in Excel?

If you would rather keep the draw in a spreadsheet, three formulas cover almost every case. Put your names in A2:A21 (20 rows) and adjust the ranges to match your data.

  • =INDEX(A2:A21,RANDBETWEEN(1,20))
    picks one name at random from 20 rows; works in every Excel version.
  • =INDEX(SORTBY(A2:A21,RANDARRAY(20)),SEQUENCE(5))
    returns five names with no repeats (Microsoft 365 and Excel 2021 dynamic arrays).
  • =TEXTJOIN(" ",TRUE,INDEX(A:A,RANDBETWEEN(2,41)),INDEX(B:B,RANDBETWEEN(2,41)))
    joins a random first name from column A with a random surname from column B, 40 rows each.

The formulas use the English function names. A localized Excel expects the translated names - RANDBETWEEN is ZUFALLSBEREICH in German and ALEA.ENTRE.BORNES in French - and, depending on your regional settings, a semicolon instead of a comma between arguments.

RANDBETWEEN, RAND and RANDARRAY are volatile: they re-roll on every edit and every recalculation, so a winner drawn at 10:00 will not be the same winner at 10:01. SORTBY is not itself volatile - the second formula still re-rolls because RANDARRAY feeds it. Copy the cells and use Paste Special > Values to freeze the result before you announce it. Microsoft's RANDBETWEEN reference

About Random Name Generator

This random name generator draws from five hand-checked name sets - English, French, Spanish, Japanese and Arabic - and combines a first name with a surname at random. The five sets add up to 6,440 first-name x surname combinations, 6,426 of them distinct once names that sit in more than one set are counted once, and that is before the four username patterns on top. Nothing is invented by a language model. The English surnames follow published frequency data: the US Census Bureau's 2010 surname file, taken roughly in descending frequency and trimmed to 40 entries - Smith, Johnson, Williams, Brown, Jones, Garcia. The English given names, like the French, Spanish, Japanese and Arabic sets, are names in common use today, compiled and checked by hand rather than copied from one official ranking, so read the order inside those lists as arbitrary.

You choose four things. Name type decides whether you get a full name, a first name only, a surname only, or a username built from both. Gender narrows the first-name pool to the male or the female list, or leaves it merged under Any. Culture picks the name set. Quantity runs from 1 to 50 names per draw. Leaving "No duplicates" ticked makes the generator reject a name it has already produced in this batch, so a run of 20 gives 20 different names rather than 20 independent coin flips.

The second mode is what most "random name picker" searches are actually after. Switch to "Pick from my list", paste your own names - one per line, or separated by commas, semicolons or tabs - and, while "No duplicates in this batch" is ticked, the tool shuffles them with a Fisher-Yates pass and hands back the first N. Because the shuffle removes each name as it is drawn, a Secret Santa order, a giveaway winner list or a stand-up rota comes out with nobody picked twice; clear the box and the draw samples with replacement, so the same name can come up more than once.

Every result set can leave the page: copy one name, copy the whole batch, download it as a plain .txt file, or export a CSV with an index column so a spreadsheet preserves the draw order. Everything runs in your browser with JavaScript's Math.random - no account, no API key, no server ever sees your list. That also means the randomness is statistical, not cryptographic; for security-grade randomness use a password generator instead.

Use Cases

Drawing a giveaway winner or a Secret Santa order from a pasted list of entrants, with nobody picked twice
Filling a novel, a screenplay or a tabletop campaign with human character names instead of reusing John Smith
Building 20 or 50 realistic test records - name plus username - for a signup form or a seeded database
Randomising a class roster, a stand-up rota or team pairings by pasting the roster and drawing every name
Finding a free handle: the username mode outputs four patterns such as sharon_moore or smoore8321 to test on sign-up

How do I generate names step by step?

1

Pick a mode: "Generate names" builds names from our five name sets, "Pick from my list" draws from names you paste.

2

Choose the name type - full name, first name, last name or username.

3

Set gender and culture (English, French, Spanish, Japanese or Arabic), then how many names you want, from 1 to 50.

4

Leave "No duplicates" ticked so the same name is never drawn twice in one batch.

5

Press Generate; the results appear numbered underneath in draw order.

6

Copy a single name, copy all of them, or download the batch as TXT or CSV.

Pro Tips

  • Leave "No duplicates" ticked when you draw from your own list: each name is removed as it is drawn, so 12 pasted names give 12 different winners in a random order.
  • Untick "No duplicates" only when you actually want repeats. With it ticked a batch never repeats a name at all; with it cleared, setting Gender to Any doubles the English first-name pool from 40 to 80 and roughly halves the chance of seeing the same name twice.
  • Ask for 50 at once and use Download CSV: the file carries an index column, so a spreadsheet keeps the draw order as a record of the giveaway.
  • The English set is by far the largest at 3,200 full-name combinations; French, Spanish, Japanese and Arabic hold 800 to 840 each, so raise the quantity carefully there.
  • Generated names are real names recombined, so a result can belong to a living person. Search it and check trademarks before you use it as a brand or a book character.

Troubleshooting

Problem:

The results list is empty after switching to "Pick from my list"

Solution:

The textarea is still blank, or every line is whitespace. Paste at least one name and press Generate again; entries can be separated by new lines, commas, semicolons or tabs.

Problem:

I asked for 50 names but got fewer

Solution:

"No duplicates" is on and the pool ran out. A single-gender first-name list holds 20 to 40 entries, and your pasted list holds whatever you pasted. Either lower the quantity, switch to Full name, or untick "No duplicates" to allow repeats.

Problem:

The same name appears twice across two separate draws

Solution:

Each press of Generate starts a new independent draw; "No duplicates" only applies within one batch. To keep a running list unique, generate the whole quantity in one go, or download the CSV and de-duplicate in a spreadsheet.

Frequently Asked Questions

A random name generator is a tool that returns names chosen at random from stored name lists. This one holds 232 distinct first names and 116 distinct surnames across five cultures and pairs them independently, so English alone yields 3,200 full names. You set the type, gender, culture and quantity, press Generate, and get up to 50 names at once.

They pick an index at random from an array. This generator calls JavaScript's Math.random() twice per name - once for the first name, once for the surname - and joins the results. With "No duplicates" on, it keeps a set of names already produced and re-rolls whenever a collision appears, which is why 20 requested names come back as 20 different names.

Yes. Switch to "Pick from my list", paste your names one per line (commas, semicolons and tabs also work) and set how many to draw. The tool shuffles the whole list with a Fisher-Yates pass and returns the first N, so with "No duplicates" ticked - the default - a 30-name roster gives 30 unique winners in a random order, ideal for giveaways or Secret Santa. Clear that box and the draw samples with replacement, so the same name can come up twice.

Keep the "No duplicates" checkbox ticked; it is on by default. In generate mode the tool re-rolls any name it has already produced in the batch. In list mode it removes each entry as it is drawn and also collapses case-insensitive duplicates in your pasted text, so "Anna" and "anna" count as one person. Clear the box and both modes sample independently, so the same name can appear more than once.

Put your names in A2:A21 and use =INDEX(A2:A21,RANDBETWEEN(1,20)) for one pick. In Microsoft 365, =INDEX(SORTBY(A2:A21,RANDARRAY(20)),SEQUENCE(5)) returns five names with no repeats. RANDBETWEEN and RANDARRAY are volatile and re-roll on every edit, so copy the result and Paste Special as Values to freeze it.

They are statistically random, not cryptographically random. Math.random() is a pseudorandom generator seeded by the browser; MDN warns explicitly that it must not be used for security. For a prize draw, a rota or test data that is fine. For anything where an attacker could gain by predicting the output, use a source that meets NIST SP 800-90A instead.

Up to 50 per batch, set in the Quantity field. If you ask for more unique names than a pool can supply - 50 unique English male first names when the list holds 40 - the tool returns everything the pool has and says so. Full names have far more room: 3,200 English combinations, 840 French, 800 each for Spanish, Japanese and Arabic.

No. This generator returns realistic human names from five real-world name sets, which is what you want for characters that should sound like people, for test data and for prize draws. It does not invent invented-language words, elf names or place names. For those, a dedicated fantasy name generator is the better fit.

Set Name type to Username. Each result uses one of four patterns picked at random: sharonmoore417, sharon_moore, sharon.moore42 or smoore8321. Generate 20 at once, copy them all, and paste them into a sign-up form or a handle checker to find one that is still free on the platform you care about.

Legally you should check first. The names here are common real names recombined, so a result may be an existing person's name or an existing brand. Search the exact string, and for commercial use run it through your national trademark register (USPTO in the United States, EUIPO in the EU) before you print anything.

Sources and further reading

The English surname list follows the frequency table the US Census Bureau published from the 2010 census; the given-name lists are compiled by hand and are not taken from any national ranking. The two randomness references explain the limit stated above: Math.random() is fine for a giveaway and unfit for anything an attacker could profit from predicting.

Popular Tools

No more tools to show
Explore All Tools
FreeWebTools AI
Powered by free AI models · Full chat →