One of the writing questions I get asked most often is “How do you come up with character names?”
Or “can I give two characters similar names?”
Or “I want to name my characters after the seven deadly sins/the four classical elements/models of Ford automobile, but I don’t want it to be obvious, what can I do?”
Or “I hate name generators but I can’t think of a name for this character, what can I do?”
If you’re at a loss what to name a character and you don’t want to use name generators, try this method instead.

First: List all your character’s major traits.
Start by listing your character’s most obvious traits. These can be physical traits, personality traits, quirks, preferences, whatever you like.
For example, the main character in a fantasy story might be:
- female
- redheaded
- pale-skinned
- a princess
- lost/missing from her kingdom
- cat lover
- gets jealous easily
- the eighth child in her family
The idea is to generate a list of starting points for exploring different name ideas. You can put pretty much anything on this list, as long as it describes the character in some way.
Decide how obvious you want to be.
Which traits, if any, do you want the reader to pick up on just from reading the character’s name? How obvious do you want the connection between that trait and the character to be?
If you’re writing an allegory – a story in which characters are basically ideas or traits in disguise, like Justice or Peace – you might want the names to be pretty clearly linked to character traits. Likewise, if you’re writing about a character with one particular trait that plays a huge role in the story, you might want to give them a fairly obvious name linked to that trait.
Some names that are just the names of traits characters might have:
- Hope
- Charity
- Joy
- Baby
- Cash
- Messiah
You can also use names with direct “trait” meanings, but in languages other than English. For example:
- Esperanza (Hope, but in Spanish)
- Jizen (Charity, but in Japanese
- Joie (Joy, but in French)
- Angelo (Angel, but in Esperanto)
- Octavia (“eighth,” in Latin)
Try a baby name book or website.
If you want a name that means or evokes a certain trait, but isn’t just [Name of Trait], try baby name websites. Many allow you to search for names by meaning.
In the case of our red-headed cat-loving jealous princess, some name options might be:
- Akane (meaning “red” in Japanese),
- Alba or Blanche (meaning “white” in Latin or French, respectively)
- Eadoin (meaning “jealousy” in Irish)
- Latifah (meaning “kind” or “gentle” in Arabic).
For these, I used the name search tool at BabyNames.com. This tool also lets you search by nationality, by letter, and in other ways, so you can further narrow down your search.
Use a thesaurus.
For this one, you’ll need an actual print thesaurus. Not the ones that have been rearranged in alphabetical order. An actual copy of Roget’s International Thesaurus is ideal.
Contrary to popular belief, a thesaurus is not merely a book of synonyms and antonyms. A properly-organized thesaurus actually shows the relation of every word in English to every other word in English.
Why does that matter here?
The thesaurus is a great way to generate character names, because you can see which words and concepts are closely related to a word or concept you want to associate with that character.
Suppose, for example, that you want to emphasize not your princess’s red hair or love of cats, but the fact that she vanished early in life and has been missing – from the point of view of her parents, anyway – for years. Maybe you want to make it clear that this disappearance was the result of a prophecy or curse: something inherent to the princess and out of her control.
Roget’s International Thesaurus, Seventh Edition, has an entry for “missing person” (it’s 222.5, for the curious). Entry 222.5 reads “absentee, truant, no-show, missing person.”
You can certainly run these words through a baby name search, if you like. BabyNames.com, however, didn’t give me much to go on.
Entries 222.3 and 222.6, however, offer closely-related concepts to that of “missing person.” They include “absence,” “loss,” “death,” “vacation,” and “nobody.”
Now we’re getting somewhere. BabyNames.com gives a whole list of names meaning “loss,” including “Adsila,” “Calantha,” “Hana,” and “Zarah.” Searching for “death” turns up the Slavic name “Morana,” which also means “illness.” Our princess is probably not experiencing her life as much of a vacation, but “nobody” can be translated nicely with the Japanese name “Mumei,” which literally means “nameless.”
Borrow names from existing literary characters or authors.
Yet another way to emphasize a certain trait you want readers to associate with your character is to name that character after an existing well-known literary figure. For example, we might name our fictional princess:
- Anne (after redheaded Anne of Green Gables, or Anne Frank, one of the youngest published authors in history)
- Lillian (after Lillian Jackson Braun, author of a series of mysteries featuring cats)
- Desdemona (a victim of jealousy in Shakespeare’s Othello)
- Phronsie (after Phronsie Pepper, famous youngest Pepper sibling)
- Alice (after Alice in Wonderland, who went missing down a rabbit hole)
- Penelope (Odysseus’s wife, who sits around weaving for ten years after her husband gets extremely lost post-Trojan War)
Will your readers make the connection between the literary figure and your character? Maybe! Maybe not! For those that do, your story gains another dimension, and they get the fun of feeling like they decoded an in-joke.
If you go this route, avoid characters with very recently-made-popular invented names, like Katniss or Khaleesi. You may find yourself on the receiving end of a cease and desist order. At the very least, your readers might confuse your work with fanfiction, and find themselves unhappy when your “Katniss” doesn’t live in a dystopia or your “Khaleesi” has never even heard of dragons.
A Note On Characters With Similar Names
As a rule, I recommend avoiding giving any two characters similar names.
Ayn Rand’s Atlas Shrugged is a What Not to Do example of a novel in many ways, but one thing Rand got right was to scrupulously avoid giving characters similar names. Rand went so far as to introduce every character (and there are dozens) by both their first and last names – and to give every one of them a different set of initials.
The result is that, even in a dizzyingly long tome with a weak plot, an implausible setting, and ridiculous characters, it’s remarkably easy to keep track of which character is which – even if you only see them once or twice. Nobody else has the same initials as any other character.
For instance, there may be more than one character whose first name starts with D, but the only one of those whose last name starts with T is Dagny Taggart. You don’t have to deal with Dagny Taggart and Dave Thomas and Doris Trumboldt and Donald Trump. So the reader can just register “DT” and know which character this is, and that a “DS” or “DA” will be someone else.
I recommend avoiding not only similar names, but also similar initials. There are exceptions to every rule, however.
If you’re going to use similar names, make sure there’s a plot-based reason the names are similar. For example, maybe the characters Alissa and Alicia are twins. Or Macduff and Macbeth are rival soccer team captains and the story is a rather obvious retelling of Macbeth but with soccer. Maybe Sydney is the new girl at school who had to deal with queen bees Cindy and Candy, and mixing them up is key to how Sydney defeats them.
If there’s no reason in the story itself that characters have to have similar names, change one of the names so your readers don’t get confused – especially if the similarly-named characters appear in a lot of scenes together, or if the story will make no sense if the reader mixes them up. “Wait, why is Alissa the one activating the giant laser? I thought Alicia was the mad scientist” is not a problem you want readers to have at the crucial moment in the story.
(“Alissa” is an English name meaning “of noble kin,” and is related to names like “Alice,” in case you’re wondering. Other options that also mean “noble” but won’t get her mixed up with Alicia include Brianna, Earleen, Heidi, Katrice, Nabila, and Trisha.)
When all else fails….
…just name the character after your crush. No one will notice.
Help me produce more writing advice: buy me a coffee or share this post on social media.
You must be logged in to post a comment.