There are some names from literature which are unique and feel imprinted on our memories, such as Heathcliff, Hannibal, Simba and even Cinderella. Would these names immediately bring to mind a single entity if they were Jack, Peter, Mohammed or Claire?
Here are a few tips to help you find the perfect fit name:
Reflect the character's personality in the nameYou can be obvious about this (surnames like Moody, Love, Nice and Right all exist in real life), but you may want to be a bit more subtle. This is a lot easier if your character is from a foreign country. It's great fun to use a meaning of name website (these are often in the guise of baby name websites, even though adults have names too) and search for a trait you feel is strong in your character. This is much harder when it comes to villains, because there are far fewer names around that deliberately invoke negative characteristics. If there aren't any real names, then make one up.
Make sure they aren't too similarThere's nothing more frustrating for a reader than getting mixed up between characters and having to go back and reread to check who really did what. Use first letters, length and contours to make sure the names are instantly visibly distinguishable.
Research the era and locationIf your book is set in a particular time or place, then make sure you do your research and not accidentally use an innappropriate name - for example a Chinese name instead of a Japanese one, or a name that didn't exist in that period.
Or, if you're really not having any luck, then give up and use a character name generator.
If you want more help in developing characters, seeing the story from their point of view and general novel writing advice - then click here.