How Our Name Generators Actually Work

Guides · Published July 13, 2026

Most name generators on the web are recombination machines: a list of prefixes, a list of suffixes, and a random number smashing them together. Gal-adriel, Thal-adriel, Gal-orn. They work, roughly, but the seams show — every name is visibly two puzzle pieces, and after twenty clicks you've seen every piece.

NamingRealm's generators use a different approach: a character-level Markov chain. It's a small, old, elegant piece of statistics — the same family of idea that powered predictive text before neural networks — and it turns out to be almost perfectly shaped for inventing names. Here is how it works, from the ground up.

Step 1: Learn What Follows What

Take a training list of names that share a tradition — say, a few hundred elven-style names. Slide a window across every name, two letters at a time, and record what letter comes next. After the pair ae, how often is the next letter l? How often r? After th, how often does the name simply end?

Do this across the whole list and you get a big frequency table — a statistical fingerprint of the tradition. The table knows that elven names love l after vowel pairs, that -iel is a common way to end, that no elven name in the corpus ever puts k after z. Nobody programmed those rules; they fell out of counting.

Step 2: Walk the Table

To generate a name, the model starts with the special "beginning of name" marker and asks the table: what letters tend to start names, and how often? It picks one, weighted by frequency — common starts are picked often, rare starts occasionally. Then it looks at what it has so far and asks again: given these last two letters, what comes next? Letter by letter, the name assembles itself, until the model draws the "end of name" marker and stops.

The crucial point: the model is not copying any name from its list. Every step is a fresh weighted choice. It can produce a name that happens to exist in the corpus, but the overwhelming majority of outputs are new — new sequences that nonetheless obey every statistical habit of the tradition. It is the difference between quoting sentences from a book and speaking the language the book is written in.

Why Two Letters of Memory Is the Sweet Spot

The "order" of the chain — how many previous letters it considers — is the whole art. With one letter of memory, output is chaos: legal letter pairs chained into illegal words, Aeleoa, Rnrilth. With four or five letters of memory, the model becomes a parrot — the only way to continue a five-letter sequence is usually the exact way the corpus did, so it reproduces training names verbatim.

Two to three letters of memory sits in the productive middle: enough context that every transition sounds native, little enough that the model must constantly improvise. That balance — coherent but forced to invent — is what makes the output feel like discovery rather than shuffling.

The Part the Math Can't Do

A Markov chain is only as good as its corpus. Feed it a mixed bag and you get mixed-bag names. The real editorial work behind each of our generators is corpus curation: choosing training names that agree with each other phonetically, so the fingerprint the model learns is sharp rather than smeared. The dwarf generator is trained only on names with dwarven bone structure — hard stops, short vowels, heavy endings. The dragon corpus skews long, sibilant, and resonant. That's why the two generators sound like different cultures instead of one generator with different labels.

We also post-process: length filters trim outputs to the range you asked for, gender-weighted corpora shift the ending distributions where a tradition genders its names, and a few hygiene rules discard the occasional statistical accident (triple letters, unpronounceable pileups) before you ever see it.

Why Not Just Use an LLM?

Large language models can generate names too — but for this job the little machine has real advantages. The Markov model runs entirely in your browser, instantly, offline, at zero cost, with no prompt drift: it cannot get distracted, moralize, or slip into producing the same five famous names it half-remembers from its training data. Its outputs are guaranteed to come from the sound-space of the curated corpus and nowhere else. For a tool whose entire job is "sound exactly like this tradition, forever, for free," a sixty-year-old statistical trick remains the right size of hammer.

Try it with the model in mind: open the elf generator, generate a few batches, and watch the outputs — you'll start to see the fingerprint, the favored transitions and endings, the way no name ever steps outside the tradition's sound. Then try the orc generator and feel the entire statistical table change under your fingers.