3tej home
← Writing & Text

What is Character Name Generator?

A Character Name Generator produces a character name on demand, using a deterministic algorithm or a cryptographically strong random source. Output is generated entirely in your browser so nothing is sent to a server. 8+ genres including fantasy, sci-fi, modern, medieval, mythological, dark, noble, and post-apocalyptic.

Character Name Generator

Generate fictional character names across 8+ genres - fantasy, sci-fi, modern, medieval, mythological. Mixes first names, surnames, and titles.

About the character name generator

The character name generator produces first-name and surname pairs drawn from genre-specific banks: fantasy (Tolkien-inspired and Society for Creative Anachronism registries), sci-fi (constructed pseudo-Latin and Anglo-Saxon roots), modern (US Social Security Administration baby-name lists), medieval (Domesday Book derivatives), mythological (Greek, Norse, Egyptian, Hindu), dark (gothic/horror archetypes), noble (House of Lords and European peerage patterns), and post-apocalyptic (single-word or epithet-style). For writers, RPG players, and game developers who want a usable name in three seconds.

How it works

The algorithm is two independent uniform-random samples: one from the first-name bank, one from the surname bank, both filtered by the selected genre. The two are joined with a space and rendered. Each generation is statistically independent, so 8 names produced in one batch are not constrained to be unique.

// Generation pipeline
GENRES = {
  fantasy:        {first: [...]   , last: [...]   },   // 480 first / 320 last
  sci_fi:         {first: [...]   , last: [...]   },   // 320 / 240
  modern:         {first: [...]   , last: [...]   },   // 800 / 600 (US SSA top names)
  medieval:       {first: [...]   , last: [...]   },   // 280 / 180
  mythological:   {first: [...]   , last: [...]   },   // 200 / 120
  dark:           {first: [...]   , last: [...]   },   // 240 / 180
  noble:          {first: [...]   , last: [...]   },   // 300 / 220
  post_apocalyptic:{first: [...]  , last: [...]   },   // 180 / 80
}

generate(genre):
  bank = GENRES[genre]
  return bank.first[random(bank.first.length)]
       + " "
       + bank.last[random(bank.last.length)]

The combined name space for the fantasy genre is roughly 480 x 320 = 153,600 unique combinations. Collision probability for 8 samples is about 1 in 19,000, so most batches return 8 distinct names.

Worked example

Generate a single fantasy name:

  1. Genre filter: fantasy. Bank size: 480 first names, 320 surnames.
  2. Sample first-name index: random integer in [0, 480) -> 217 -> Aerion.
  3. Sample surname index: random integer in [0, 320) -> 88 -> Stormblade.
  4. Concatenate with a space: Aerion Stormblade.
  5. Render to the result list.
Result: Aerion Stormblade. The whole pipeline runs in well under 1 ms because there is no Markov chain or external API: just two array lookups. To explore the space, click "Generate 8" and pick the pair that fits the character's tone.

Genre reference

Each genre uses a distinct linguistic register and source material. The table below summarises what each bank is built from and the typical character profile it suits.

GenreSource patternTypical useExample
FantasyTolkien-style, SCA, Welsh and Gaelic rootsHeroic protagonists, wizards, rangersAerion Stormblade
Sci-FiPseudo-Latin, Anglo-Saxon, alphanumeric codesStarship captains, AI handlers, agentsVex Korovin-7
ModernUS SSA top 1000 baby names + Census surnamesContemporary fiction, screenplaysSarah Chen
MedievalDomesday Book, parish records 1086 to 1500Peasants, knights, low-fantasyAldwyn of Hawksmoor
MythologicalGreek, Norse, Egyptian, Hindu pantheonsDemigods, archetypal heroesAstraea Heliosdottir
DarkGothic horror, Victorian gravestonesVillains, ghosts, vampires, cultistsMortimer Bleakwood
NobleEuropean peerage, House of Lords recordsRoyalty, aristocratsLord Edmund Ashworth-Wycliffe
Post-apocalypticSingle-word, occupational, epithetWasteland raiders, mutantsCrow Whisper

Common pitfalls and limitations

  • Trademark surnames. Distinctive surnames from popular franchises (Skywalker, Stark, Targaryen, Potter, Bond) are protected by trademark in their commercial context. The banks exclude registered marks, but always run a USPTO trademark search before naming a major character in a commercial project.
  • Cultural mismatch. The mythological bank mixes Greek, Norse, Egyptian, and Hindu sources. A character named "Astraea Heliosdottir" pairs a Greek first name with a Norse patronymic, which makes no historical sense. Cross-check the surname's origin against the first name's culture for serious projects.
  • Modern gender bias. The modern bank uses the US SSA's top 1000 names per year, which over-represents English-language and Christian-tradition naming. For multicultural casts, supplement with names from regional sources or use the dedicated cultural generators.
  • No phonotactic check. The generator does not test whether "Vex Korovin" sounds pronounceable to English readers. Some surname-first-name combinations create awkward stress patterns or hard-to-say consonant clusters. Read each name aloud before adopting.
  • Bank staleness. The modern bank is updated annually from the SSA's December release. Names trending in 2024 to 2026 (Aria, Mateo, Luca, Olivia) appear; emergent names from the last year may be under-represented.

Frequently asked questions

Where do the name lists come from?

Each genre uses a curated bank assembled from public-domain sources: medieval names from the Domesday Book and Doomesday rolls (1086 onwards); fantasy names from Tolkien-style constructed lexicons and the SCA (Society for Creative Anachronism) name registries; modern names from the US Social Security Administration baby-name lists; mythological names from Bullfinch's Mythology and Hesiod's Theogony. None are scraped from copyrighted fiction.

Are the generated names safe to use in published fiction or games?

Plain names cannot be copyrighted, so "Aerion Stormblade" is yours to use. However, distinctive surnames from popular franchises (Skywalker, Stark, Targaryen, Potter) are protected by trademark in their commercial context. The generator excludes registered marks from its banks, but always run a quick search against the USPTO trademark database before naming a major character in a commercial project.

How do I pick a name that fits the character's culture or class?

Pick the genre that matches your setting (medieval for low-fantasy peasants, noble for aristocrats, dark for villains, post-apocalyptic for raiders). Within a genre, shorter names (1 to 2 syllables) read as common-folk while longer names (3 to 4 syllables with apostrophes or hyphens) read as elite or magical. Try regenerating with a different first-name + surname combo and pick the pairing that fits the character's age and station.

Can I get names from a specific real culture like Norse or Japanese?

The current banks cover archetypes (fantasy, sci-fi, dark, noble) rather than specific real cultures, because culture-specific naming requires understanding gender markers, patronymics, and clan suffixes that vary by region. For Norse use the medieval bank with -son/-dottir suffixes manually appended. For Japanese, use a dedicated cultural name resource: the patterns are too distinctive for archetype-style sampling.

Sources and further reading

Last updated 2026-05-28.

CT
3Tej Editorial
Free, browser-based tools - no signup, no tracking.