Fantasy Name Generator
A fantasy name generator makes character names that fit a chosen race, from flowing elf names to hard dwarf names and fierce orc names. Pick a race and style below, generate a batch, and copy the ones you like. Everything runs in your browser.
Names
Choose your options and generate a batch of names.
The races and their naming style
| Race | Naming style |
|---|---|
| Elf | Flowing, vowel-rich names with surnames drawn from moonlight, stars, and the forest. |
| Dwarf | Hard, sturdy names with surnames built from stone, iron, and the forge. |
| Human | Classic medieval-style given names with place-based surnames like Oakford or Ashwood. |
| Orc | Guttural, blunt names with fierce surnames like Skullcrusher or Bloodfang. |
| Fairy | Light, whimsical names with surnames from dew, moss, and bramble. |
How to use it
1. Pick a race and style
Choose a race, a masculine, feminine, or neutral style, and whether to include a surname.
2. Set how many
Generate a batch of 6 to 50 names at once.
3. Copy a favorite
Click any name to copy it, or use Copy all to grab the whole list.
Common questions
How are the names made?
Each name is built by combining original sound pieces that fit the chosen race, a starting sound, sometimes a middle, and an ending, then a matching surname. The pieces are hand-written for this tool, so the names stay in character and sound right together rather than being random letters.
Can I use these names in my game or story?
Yes. The names are yours to use for characters in tabletop games, video games, novels, usernames, or anything else. Because they are generated from sound pieces rather than copied from any single source, you are free to take any that fit.
What do the styles and surnames do?
The style picks which pool of given-name endings is used, so you can lean masculine, feminine, or neutral. The surname toggle adds a race-flavored family name, such as a forge name for dwarves or a forest name for elves. Turn it off for a single given name.
Does anything leave my device?
No. Every name is generated in your browser with plain JavaScript. Nothing is sent to a server, so the tool keeps working the same way even after the page has loaded and you go offline.