Names are a crucial detail that is often overlooked. You need to put some thought into what you name your characters, particularly your protagonists but also the minor characters.
Certain sounds are very hard and stick out in our minds such as the “K” “J” “P” “B”, etc. There are softer sounds like “S” “O” “I” and “R” (these are not complete lists, simply examples). You'd want to consider giving protagonists names starting with these more distinct and harder sounds. A name like Kara would stick out more in our minds than Sara. Try saying them out loud, and you'll notice a difference in the feeling you get when you pronounce the sound “K” versus the sound “S”. This is a very subtle way to make certain names more prominent in the readers' minds. Thus, it makes that character more memorable and pronounced.
Another very important thing about naming your characters: Every character's name should start with a different letter of the alphabet. Don't have two main characters named Bella and Bonnie, or Paul and Pete. Our brains latch onto the first letter of words the most, so we'd easily confuse the two. In The Three Musketeers, the author has two main characters of the names Aramis and Athos, and I found myself completely confusing the two of them all the time. Now if Athos was changed to Mathos or something, it would be so much easier to keep the two as distinguished entities in my mind. Again: Do not have two or more character names start with the same letter.
Now, this isn't completely set in stone. If you can make the two have such distinct personalities that there is no confusion at all about who is who, then by all means, have their names start with similar sounds. It also really helps if one of those characters is the protagonist, because we're with the protagonist all the way, so we're not going to mistake them for someone else most of the time. Another way to lessen the adverse effects of same sounds at the beginning of names is to make one of those characters a boy and another a girl (or two different species).
Now onto the full name. DO NOT write a high fantasy story set in a different world with a character named Steve or Barbara or John or Sarah. Don't write a real world story with an American Caucasian character named D'artagnan. In Eragon, the name Katrina absolutely didn't fit with the setting. There were names like Eragon and Roran and Brom, and out of nowhere comes the real-world name, Katrina. It was jarring and make me raise an eyebrow. If it's a fantasy story, use made-up fantasy names. If it's a real-world story, use real-world names you find on those baby name websites and books.
Likewise, the cultures of your world should share similar names. A girl shouldn't be named Laquesha and her biological big brother is named Bob. Someone with an Indian-style name like Rajesh would not have a sister named Arabella (unless the parents are of two different cultures and they agreed the mother would name the first child and the father the second, in which case different names like those would make sense). Above all, the names should make logical sense for the cultures to which they belong to unless you give a valid reason for something different. Don't just name your character Sage or Moonshine unless you can logically back it up in the story.
The name should fit their society and culture and background. I know the name Limue'lakarah sounds cool, but how jarring would it be to find a normal, middle-class Caucasian girl being called down to a dinner of mashed potatoes and green beans and being called “Limue'lakarah! Get yo butt down here!”? Don't do that. Simple names might seem boring, but they're also natural. I like to pick names somewhere in the middle. Some of my characters: Jared, Kara, Lenny, Annie, Darren, Flynn, Austin. They're “normal” and “well-known” names that are easily recognizable, but they're not boring old John, Sally, or Stacy. But that's just my personal preference. My favorite show is Burn Notice, and the main character's name is Michael. Such an ordinary name for such an extraordinary person. That might be a motif you want to explore, if you so choose.
Sometimes the more out-there names can still work for normal characters. Juno from the movie, Juno, for example. It refers to Jupiter's fiery wife, Juno, which fits the movie's protagonist, Juno. It's really hard to say when you can give more creative names and when you can't. In some instances, they work beautifully, and in some, they don't. That's why I pick names in the middle, just to be on the safe side, but you don't have to follow my example. Just something to think about.
Fantasy names. This is where some of the biggest name blunders are made. You've all read that book where the protagonist has such a complicated name, you can't even pronounce it. DON'T do this. Do not name someone Crytel'lia'ni'm'mo or Xilluthuaponpinons. Your reader needs to relate with the main character, and if they can't even figure out how to say their name, there's a problem. Keep apostrophes to an absolute minimum. Try to keep the name under four syllables unless you have a valid reason or give them a nickname that is used more often than their full name. My fantasy characters' names are usually two syllables, but I still give them one-syllable nicknames because even I get lazy with that. Anything more than that takes too much effort. Make reading as easy an experience for your readers as you can. Don't complicate their lives with unpronounceable names or names that take too long to say.
Try not to put strange combinations of letters together like Kthulu or Nzinga. I believe these are actual names I've heard somewhere? But they're difficult to pronounce and aren't spelled the way they sound per se, so this is something to avoid. To simplify the reading experience, keep the names spelled out like they sound. If your reader can't remember how to spell the protagonist's name after a few chapters, you need to rework the name and/or the spelling. This is just another tip on how to make the name memorable to the reader.
Names like: Faith, Hope, Charity, Destiny. I groan at these. It's usually some “clever” (cliché) ploy by the author to introduce some superficial significance and metaphors into the story. But they just don't work. A character named Rose is beautiful! GASP I never saw that coming. (I'm fully aware my beautiful character is, in fact, named Rose. Do not call me out on this because I know that was a ridiculous choice on my part, and I wish to burn that story in a firepit.) The character named Hope ends up being the light of hope for the rest of the characters! OH MY!
Really, please don't do that. It's horribly superficial and cliché and ridiculous. (NOTE: A couple people have come up with some exceptions to this rule in the comments below, so do take a look.)
On the flip side, having characters whose names are opposite of their personality such as naming a dark character Sunshine or a bubbly character Raven. I get you're trying to make this ironic and funny, but it's not. It's really not. It's like telling a joke that isn't funny and laughing at your own joke, but no one else around you is sharing in that laughter. In fact, they'd be giving sidelong glances of apprehension to each other before searching for the closest exit. (But I completely understand the appeal of this, as I've done exactly this with my character, Hero.... It was a stupid pun the entire story was based around, so if you can weave some extremely significant meaning for naming your character in this way, go for it.)
There are a ton of random name generators online. I've linked to one in External link. This one only gives British/American names, but you can find fantasy name generators, too. Or look at baby name sites for names from other countries.
YOU ARE READING
Yuffie's Writing How-To'sRandom
A story isn't just a bunch of words slapped onto a page. It's a living, breathing manifestation of your imagination. This guide explores aspects most guides don't touch on such as memorable protagonists, world building, character psychology, and bac...