Fix era and culture before sound
A 1920s heiress and a 2020s engineer cannot share a name pool. Before generating anything, write one sentence: 'This character was born [year] in [place] to [kind of family].' That sentence eliminates most wrong names silently and makes generator batches useful instead of random.
Sound symbolism does real work
Readers feel sound before meaning: plosive-heavy names (Bella, Kate, Max) read as assertive; liquid names (Elena, Milo, Sylas) read as gentle; cluster-heavy names (Gertrude, Dexter) read as eccentric or hard. Match the sound to the role the character plays in the story's emotional economy, not to their self-image.
The cast-level rules
No two significant characters share a first initial (Katie/Kevin collides in the reader's ear). Vary syllable counts across the cast — four two-syllable names blur. And keep the protagonist's name the shortest and most pronounceable on the page; readers say it a thousand times.
The read-aloud test
Say every finalist name aloud in three sentences: dialogue ('Rosalind, the door!'), action ('Rosalind ran'), and attribution ('said Rosalind'). Any stumble — tongue trips, unintended pun, unfortunate rhyme with a common word — eliminates. The ear catches what the eye excuses.
Where generators fit
Generators solve the volume problem: producing thirty plausible names in a minute so you can audition them against the era-and-culture sentence. They cannot do the cultural research or the read-aloud test — those stay yours. Generate wide, judge narrow.