About the data. First names are from US Social Security Administration baby-name records, by recorded sex and by decade of birth. Surnames are from the 2010 US Census top 5,000. Both are public-domain US government data, credited on our about page. Results are random combinations, not real people.
How this character name generator works
- Choose who you need. Pick masculine, feminine or any first names, and an era if your character has a birth decade.
- Set how distinctive the name should be. Common names suit everyday characters. Rare ones make people memorable.
- Generate, copy and save. Add a middle initial for a formal feel, star the names you like, and copy a whole list for your cast sheet.
Each result is a first name and a surname drawn at random from the data, weighted by how common each is. Nothing is invented and no AI is involved. A blocklist skips a handful of offensive words and the full names of well-known characters and authors.
Fitting a name to the era
Names go in and out of fashion in waves, which makes them a quiet way to place a character in time. A woman born in 1925 and a woman born in 2005 are unlikely to share a first name. Use the era setting to match a name to the year your character was born, not the year your story is set. A 70-year-old in a 2026 story was born in the 1950s, so look at that decade.
Genre matters too. A noir detective, a regency heroine and a space-station engineer carry different expectations. Older decades suit period pieces and characters with a weight of history. Recent decades suit contemporary stories, and mixing decades inside one family is a cheap way to show generations.
Keeping your cast distinct
Avoid shared initials
If five characters begin with the same letter, readers will lose track of who is who. Aim for different first letters for your main cast, and vary the length of the names as well.
Avoid sound-alikes
Sarah and Sara, or Jon and John, will confuse readers even when the spellings differ. Rhymes like Lena and Gina cause the same trouble. Say the cast list aloud once before you commit.
Plan for nicknames
People are rarely called by their full names. Decide ahead of time who shortens a name and who does not, because a nickname can collide with another character. A Robert who is Bob to his family and Rob to his friends is one way to show who knows him how well.
Common mistakes
- Defaulting to the same few names. If every character you invent is a Michael or a Jennifer, use the rarity setting to get further down the list.
- Matching a famous person. A famous full name pulls readers out of the story. Search anything that feels too familiar.
- Treating one country’s names as universal. This tool uses US data. For another setting, adapt the results to local customs.
A simple cast-sheet method
Generate a long batch, then build a one-page cast sheet. List each character’s full name, birth decade, nickname and the first letter of their first name. Look down the sheet for repeats and crowded letters, and swap names until every main character stands apart. Work out which characters share a surname for a reason, such as family, and which share one only by accident.
Finally, read the finished names in the order they appear in your first chapter. If two names arrive close together and feel alike, change one. Readers meet your cast quickly, and a clear first impression is worth the extra five minutes.
Once you have a cast, give them something to do with the plot generator, which builds a full story outline around a protagonist, an opposing force and what is at stake.
Want invented names instead? Try the fantasy name generator or the villain name generator. You can also browse surnames alone with the last name generator.