Most of my characters are Chinese-American like me. They usually have a Western name, a Chinese name, and a Chinese surname. I’ve always loved naming characters, and this structure gives me opportunities to explore both branches of my heritage. (I use modified or other methods for non-Chinese characters and characters in secondary worlds.)
Historical name records
I no longer remember where I heard this, but I once came across the idea that names from your grandparents’ era cycle into popularity again in a few generations. Contemporary names from the last decade, meanwhile, can often sound too current. So one way I like to find first names for my characters is to go through the Social Security Administration’s historical name data until I find a name that I like. You’ll be surprised by how many names you think are modern that have actually been around for a long time. (See also: The Tiffany Problem)
Of course, this method has drawbacks: It’s based on data from the US, so names are overwhelmingly Western in origin, and the data doesn’t take into consideration differences in cultural backgrounds. But if you’d like an unremarkable Western name, I find this method to be more fruitful than combing baby name sites.
The Hundred Family Surnames (百家姓)
There are hundreds of Chinese surnames, but the most widely used, as well as some historical examples, are included in the Hundred Family Surnames, available in full on Wikipedia with links to individual surname entries. I like letting my eyes wander until I find something that sounds good or is otherwise significant for the character I’m developing.
I also use the character’s surname as a starting point for understanding their personal history as both a Chinese-American and as a member of the Chinese diaspora. For example, if I choose to transliterate a surname using Jyutping to reflect a Cantonese pronunciation, I’ve made a decision about the character’s heritage. I’ve also made a cultural and historical statement: In work derived from our real-world history, my romanization choice is a reflection of the immigration patterns that the Chinese diaspora has followed, as well as the different sociolinguistic groups that emigrated. So my choice there isn’t neutral; it’s a deliberate act of placing my character within a larger setting and context, which inform the character’s upbringing and perspectives.
I take particular pleasure in choosing a character’s Chinese given name. Unlike English names, the meanings of Chinese names are transparent to Chinese readers and listeners. Names are selected not only for how they sound, but also their semantic connotations. At the same time, an anglophone audience unfamiliar with Chinese sees the name “Xiaoxi” as equally opaque as an English name like “Stephanie.” So I find Chinese names a wonderful place to hide Easter eggs and play with the significance of a character’s name.
The downside is that, to come up with natural-sounding Chinese names, you need some understanding of Chinese. Working with a native speaker is probably your best option, especially to check whether a name seems feminine, masculine, or gender-neutral. Without a native speaker, you can still draw a lot of inspiration from dictionaries. I like Pleco (iOS/Android) in particular for its detailed entries and its interface, which encourages word and etymology discovery. I search terms that might be relevant, or start from a sound that I think is a good match, and go from there.
Of course, there are many ways to name characters, including naming them after historical figures, celebrities, etc. However, I find that Chinese people don’t tend to name people after others, particularly relatives—the idea of my brother sharing my grandpa’s Chinese name feels incredibly weird. So I prefer to start from scratch and have fun with meaning.