Writers, GMs, game devs

Fantasy & Character Name Generator

Names for characters, factions, and worlds — phonotactically plausible, never seen before, and tuned so their gematria collapses to 3, 6, or 9 across every method.

Names that sound found, not assembled

Fantasy names are easy to do badly. Drop a quick apostrophe in the middle of a noun, add an unpronounceable consonant cluster, decide the result is "exotic," ship it. Readers wince and quietly skip the character's dialogue.

Fantasy names are harder to do well. They have to sound like they were borrowed from a real language — even when the language doesn't exist. They need plausible syllable structure, a defensible phoneme inventory, and a rhythm that survives being said aloud at three in the morning by a tired GM.

GeMater's character-level Markov chain handles the "sounds like a real language" part: it learns the joint distribution of letters in a corpus and generates new strings that obey the same joint distribution. The 3·6·9 numerology gate handles a different problem — pruning the output. A generator that hands you 40 names per click is exhausting; one that hands you 10–20 names that have already passed a non-trivial filter is usable. About one candidate in nine survives the gate.

Open the generator with your seed →

What "3·6·9" adds to a fictional name

The generator only keeps names whose digital root lands on 3, 6, or 9 in every one of three different ciphers — Simple, English, and Jewish gematria. The math is explained in detail in the 3·6·9 pattern primer; for a fantasy context, two things matter:

  • You get a hidden mathematical signature you can lean into in the worldbuilding. Maybe House Aleron's coat-of-arms contains three triangles, six pillars, and a nine-pointed star. Maybe the prophecy about Lirien Maelys is written on the back wall of the temple of Nine Returns. The number 9 in your in-world cosmology costs you nothing to assert and gives the reader a shape to find.
  • You inherit the manifestation-tradition association for free. Real-world readers who recognise the 3·6·9 pattern will feel an extra layer of resonance. Real-world readers who don't will just read the names as good names.

If you don't want any of that, the names also work as pure phonetic outputs. The filter is invisible to a reader who doesn't go looking for it.

How the engine builds character names

The model is a character-level trigram Markov chain with digram and unigram fallbacks — see how GeMater works for the deeper description. The fantasy-relevant features:

  • Seedable. Type a sound (a partial name, a faction prefix, a language root) and the chain biases the output toward starting with that pattern. "Mael" tends to yield Maelys, Maelinor, Maelron. "Korv" tends to yield Korven, Korva, Korvath. The seed steers the river; the model does the swimming.
  • Pronounceable by construction. Because the chain learns from real-name corpora, the output skews toward European/Mediterranean phonotactics by default. If you want something more guttural or more sibilant, just pick a seed in that register and the chain will follow.
  • Filtered downstream. The 3·6·9 gate runs after generation. About 1 in 9 candidates passes. A keyword-echo filter prevents the result from being a one-letter mutation of your seed.
  • No dictionary lookups. The model doesn't know what Aleron means. That's a feature: it's free to generate names that read like real proper nouns in languages that don't exist.

Sample 3·6·9 fantasy names

The samples below illustrate the model's range across registers. Each one passes the three-cipher digital-root gate.

Noble human / high-fantasyAleron, Lirien, Marien, Sevren, Aderys, Korva, Maelys, Tovan, Eloren, Quorel.

Elven / liminalSael, Aerinis, Lirae, Wren, Telya, Maerin, Sevana, Aleon.

Dwarvish / earth-keyedKarvon, Tordek, Brennir, Halvik, Solven, Maerith, Korven.

Sinister / drow / cursed-lineVornic, Aderon, Maelinok, Voryn, Nyx, Sevithar, Trelyx.

Faction / order / family namesHouse Aleron, Order of the Nine Returns, Vale of Korven, The Sevran Concord, The Maelys Codex.

When you run the generator yourself you'll see a fresh batch, with each name's gematria signature visible on its card.

Building a naming system, not just one name

For long-form fiction or a TTRPG world, single-shot generation is the easy part. The harder part is keeping the names consistent within a culture and distinct between cultures. A few practical moves:

  • Pick one seed per culture and stick to it. All Aerian names start with vowels and end in -is or -en. All Korven names start with hard consonants and end in -ek or -ath. The Markov chain will follow the seed; your reader will start to feel the cultures as distinct.
  • Reserve unusual letters for one group. If only the antagonist culture uses the consonant Z, Z does heavy work for you. The 3·6·9 filter doesn't care which letters you use — it only cares about the resulting numbers — so you're free to constrain the alphabet per culture.
  • Generate the parent first, then the children. Pick a noble-house name. Then seed the generator with the first three letters of that house's name to generate cousins, vassals, and heirs. The shared phonotactic shape will feel like genealogy.
  • Save and curate. The generator's bookmark icon adds a name to a collection (sign-in is free). For a long campaign or a novel, pre-generating a hundred saved names is much better than improvising at the table.

Frequently asked

Will the same name come up twice between sessions?

Often, no — the chain is randomised. But the model has stable favourite sub-structures, and certain syllables (-en, -on, -is) recur because they're statistically common in the training corpus. If you see a name twice, the model is voting for it; that's not a bug.

Can the generator make names from a specific real language?

Not directly — the model is trained on a broadly Latin-alphabet corpus, not on a per-language dictionary. But you can imitate a language by seeding with a characteristic prefix from it. "Aelf" yields Anglo-Saxon-feeling names; "Korv" yields Slavic-feeling ones; "Quor" yields vaguely Mediterranean ones. The result is flavour, not authenticity. For real-language names, use a proper dictionary.

Why does my fantasy name have to "pass 3·6·9"?

It doesn't, narratively. The numerology is invisible in-world unless you decide to make it visible. The reason GeMater applies it is to curate: ~8 in 9 candidates get dropped, which is what makes the output scannable instead of overwhelming. If you really want every candidate the chain produces, use the calculator to score hand-typed names instead.

What if I want a single-syllable name?

The chain produces them sometimes — Sael, Wren, Nyx, Veld — but they're rarer in the output because shorter strings have less room to hit the 3·6·9 filter. Generate several batches; the single syllables show up.

Are these names safe for commercial fiction?

The model generates novel strings, not licensed material. The 3·6·9 filter doesn't change that. Standard caveats apply for character names: if the name reads like a real person's, do a quick search; if it reads like an existing fictional character's, swap it. The USPTO doesn't trademark fictional first names, but you should still avoid landing on someone else's published proper noun.

How do I get titles, place names, and faction names?

Same generator, different seeds. For "place names," seed with a landscape word ("vale", "north", "stone"). For "faction names," generate a head noun then prepend "The," "House of," or "Order of" manually. The 3·6·9 filter applies to the head noun; the prefix is free.

Does the model handle non-Latin scripts?

No. The corpus and the gematria computations are both Latin-alphabet. For names in Cyrillic, Hebrew, Arabic, etc., use a real linguistic resource and run the result through the calculator if you want the gematria reading.

Next steps

Open the generator, seed it for the culture you're building, and harvest in batches. The 3·6·9 filter handles the curation; your worldbuilding handles the meaning. If you want the deeper math, the 3·6·9 pattern primer is the next click; the baby name generator page is the closest sibling — same engine, different register.

Related name ideas

← All name ideas