About Us

A Rule-Driven Fantasy Name Generator

Built on real linguistic corpora, not AI hallucination. We're transparent about what this tool can do, what it can't, and where the boundaries lie.

Linguistically Grounded, Not Random

Most fantasy name generators work by concatenating random syllables. Ours works differently. We built a rule-driven system based on linguistic patterns from fantasy literature and tabletop RPG sourcebooks.

For each race, we defined:

  • Phonetic constraints: Which consonant clusters are allowed? Which vowel combinations sound natural? (e.g., Elvish favors "ae" and "ie" diphthongs; Dwarvish favors "or" and "ur" endings)
  • Syllable structure: How many syllables per name? Where does stress fall? (e.g., Elvish names average 3 syllables with penultimate stress; Dwarvish names average 2 syllables with initial stress)
  • Cultural morphology: How do prefixes, middles, and suffixes combine to create meaning? (e.g., "Durgan" = "Dur" (enduring) + "gan" (stone); "Ironforge" = "Iron" (material) + "forge" (occupation))

This approach produces names that feel authentic to their race, not just random. When you generate an Elvish name, it follows the same linguistic rules Tolkien used when creating Quenya and Sindarin. When you generate a Dwarvish name, it echoes Old Norse from the Poetic Edda.

Where This Method Hits Its Limits

Linguistic rules can't capture everything. Our generator doesn't understand:

  • Historical context: It doesn't know that a name like "Thalorien" might mean "star-watch" in an elven linguistic system, or that a dwarven name like "Durgan Ironforge" carries implied heritage of craftsmanship. It can produce names with similar sounds, but not the cultural weight of the original.
  • Phonetic aesthetics: It doesn't know if a name "sounds beautiful" or "sounds harsh" — that's subjective. We can enforce rules (e.g., "Elvish names must use soft consonants"), but we can't guarantee the result will feel elegant to every listener.
  • Uniqueness at scale: With thousands of possible combinations, duplicates are rare in small batches. But if you generate 1000+ names, you may see repeats. The system uses Math.random(), not a seeded generator, so results are not reproducible.

What This Tool Can and Cannot Do

What It Can Do

  • Generate culturally consistent names: Follow phonetic rules for each race, producing names that feel authentic to their linguistic tradition.
  • Create complete D&D 5e character cards: Include race, class, level, alignment, background, personality traits, ideals, bonds, flaws, and backstory hooks — all SRD-compliant.
  • Produce AI portrait prompts: Generate ready-to-use prompts for Midjourney, Stable Diffusion, or DALL-E, describing your character's appearance, equipment, and art style.
  • Decompose names into etymology: Show you the linguistic roots of each name: "Thalorien = thal (tree) + or (ancient) + ien (noble)."
  • Batch-generate up to 20 names: Perfect for naming entire adventuring parties, NPC populations, or enemy warbands in one click.
  • Export as text or JSON: Copy-paste into Roll20 character sheets or import into Foundry VTT using the Simple Import module.

What It Cannot Do

  • Replace human creativity: The tool produces coherent but generic backstories. For richer narratives, use the generated hook as a starting point and expand it yourself.
  • Guarantee uniqueness: With thousands of combinations, duplicates are rare but possible in large batches. The system uses Math.random(), not a seeded generator.
  • Understand phonetic aesthetics: The tool enforces rules (e.g., "Elvish names must use soft consonants"), but it can't guarantee the result will feel beautiful to every listener.
  • Integrate with external APIs: We don't have direct integration with Roll20, Foundry, or other VTT platforms. You must manually copy-paste or import exported files.

When to Use Other Tools

Our generator is optimized for D&D 5e and fantasy RPG worldbuilding. If your needs fall outside this scope, consider these alternatives:

  • Historical name research: If you need authentic names from real-world cultures (medieval England, feudal Japan, Viking Scandinavia), use academic databases like the Dictionary of American Family Names or Reaney & Wilson's Dictionary of English Surnames. Our tool is designed for fantasy, not history.
  • AI-generated narratives: If you need rich, creative backstories (not just hooks), use GPT-4 or Claude with a detailed prompt. Our tool produces template-based backstories; it doesn't generate original fiction.
  • Visual character design: If you need full character illustrations (not just portrait prompts), commission an artist on ArtStation or Fiverr. Our tool generates text prompts for AI art generators; it doesn't produce images itself.
  • Non-fantasy genres: If you're writing sci-fi, cyberpunk, or modern fiction, our fantasy-focused linguistic rules won't fit. Use genre-specific tools or build your own naming system.

How the Generator Actually Works

This site is a set of static HTML files with client-side JavaScript. There is no server-side component. Here's the technical flow:

1. You click "Generate"
2. JavaScript reads a JSON corpus in memory (name-generator.js, character-generator.js)
3. The system selects prefixes, middles, and suffixes following phonetic rules for your chosen race
4. It assembles a name and paints it to the DOM
5. It paints the result to the DOM
6. If you click the speaker icon, your browser's SpeechSynthesis API pronounces the name
7. If you click "Export," it copies text to your clipboard or downloads a JSON file

No data leaves your browser. There is no server-side component to send data to. No account. No database. No analytics on generated names. Reload the page and the session is gone.

The optional LLM-enhanced mode (if enabled) calls the API endpoint you configure, with your own key stored in localStorage. Your key never leaves your browser.

Frequently Asked Questions

Are these names generated by AI?

No. Our names are generated by rule-based algorithms, not large language models. The system reads a JSON corpus of linguistic patterns (prefixes, middles, suffixes) for each race, then assembles names following phonetic rules. This means names are consistent and predictable, not hallucinated.

Will I get the same name twice?

Possibly, but unlikely. With thousands of prefix/middle/suffix combinations, the probability of duplicates is low for small batches. However, if you generate 1000+ names, you may see repeats. The system uses Math.random(), not a seeded generator, so results are not reproducible.

Why doesn't the backstory feel very creative?

Because it's template-based, not AI-generated. Backstories combine personality traits, ideals, bonds, and flaws from D&D 5e SRD data using fill-in-the-blank templates. This produces coherent but generic hooks. For richer backstories, use the generated hook as a starting point and expand it yourself.

Can I export to Roll20 or Foundry?

We export as plain text or JSON. You can copy-paste text into Roll20 character sheets or import JSON into Foundry VTT using the Simple Import module. We don't have direct API integration with these platforms, but the export formats are compatible.

Do you store my generated names?

No. This site is a set of static HTML files with client-side JavaScript. When you click Generate, the JS reads a JSON corpus in memory, assembles a name, and paints it to the DOM. There is no server-side component to send data to. No account. No database. No analytics on generated names. Reload the page and the session is gone.