Random Character Generator
Generate random characters for fantasy RPGs, novels and sci-fi stories: name, race, class, looks, personality, motivation and D&D stats
[ Character Generator - Quick Summary ]
What: Generate complete random characters in three genres: Fantasy / RPG (race, class, alignment, background and 4d6 ability scores), Modern (occupation and life story) and Sci-Fi (species, ship role, origin). Every character gets a name, age, appearance, two personality traits, a motivation, a flaw and a quirk. Generate up to 10 at once.
When to use: D&D and tabletop NPCs, one-shot player characters, writing prompts, novel and short-story casts, game master prep, improv and drama exercises, game development placeholders.
Example: Sinella Fizzlebang - 121-year-old female Gnome Cleric (Chaotic Evil), Urchin. Wants to buy back her family's land; freezes in a crisis.
Free: No signup, no limits. Copy a single character or export the whole cast to TXT, CSV or JSON.
Our random character generator creates ready-to-use characters for games and stories in one click. Pick a genre - fantasy / RPG, modern or sci-fi - and get a full profile: name, age, race or species, class or occupation, background, appearance, personality traits, what the character wants, their flaw and a memorable quirk. Fantasy characters can come with D&D-style ability scores rolled the classic way (4d6, drop the lowest) with modifiers. Use it as a random NPC generator for your next session, a character idea generator for writing, or pair it with our random name generator and D&D dice roller. No signup required, completely free.
Related Gaming & Writing Tools
Roll the full D&D dice set with modifiers, advantage and disadvantage.
Random first and last names by gender for characters, NPCs and stories.
Complete fake identities with address, phone, email and job for 28 countries.
Roll a d20 for attacks, saving throws and ability checks.
What is a Random Character Generator?
A random character generator builds a complete character for you instead of a single name: who they are, what they look like, how they behave and what drives them. Our generator combines independent random tables - race, class, background, build, hair, eyes, a distinguishing feature, two personality traits, a motivation, a flaw and a quirk - so you get a fresh combination every time, often with a surprising twist (a sarcastic Halfling Paladin who is terrified of birds) that is the best part of a good character.
Characters come in three genres. Fantasy / RPG uses the classic tabletop races (Human, Elf, Dwarf, Halfling, Gnome, Half-Orc, Tiefling, Dragonborn) and twelve classes, with nine alignments and optional ability scores. Modern gives realistic names, occupations and life stories for contemporary fiction. Sci-Fi adds species such as androids, cyborgs, clones and Belters, with starship roles and origins. Need a quick roll at the table? Use our dice roller.
Character Generator Options
Genre (Fantasy / RPG, Modern, Sci-Fi)
Gender (Any, Female, Male)
Ability Scores (Fantasy only)
Quantity (1-10 characters)
Copy & Export
How to Use the Character Generator
[STEP 1] Choose a Genre
Pick Fantasy / RPG, Modern or Sci-Fi.
[STEP 1] Set Gender and Stats
Leave gender on Any or choose one. For fantasy characters, keep ability scores on to roll 4d6 stats.
[STEP 1] Set Quantity
Choose how many characters to create, from 1 to 10.
[STEP 1] Generate
Click "Generate Character" to get complete profiles with name, looks, personality, motivation, flaw and quirk.
[STEP 1] Copy or Export
Copy a character into your notes or export the cast to TXT, CSV or JSON.
Common Uses for a Random Character Generator
- _ D&D and Tabletop NPCs: Have a shopkeeper, villain or quest giver ready the moment players go off-script
- _ Player Characters: Roll a random race, class and stats for a one-shot or a challenge campaign
- _ Writing Prompts: Combine a motivation and a flaw into a story conflict when you are stuck
- _ Novel and Screenplay Casts: Fill out side characters with distinct looks and personalities
- _ Classroom and Drama Exercises: Give students a character to write about or improvise
- _ Game Development: Placeholder NPC data in JSON while the real writing is in progress
Technical Details: How Characters Are Built
Each attribute is drawn independently from its own table with PHP's random_int(), so every entry in a table is equally likely. Ages are drawn from a range that fits the race or species. Ability scores follow the 4d6-drop-lowest rule: four six-sided dice are rolled and the three highest are added, which gives scores from 3 to 18 with an average of about 12.2. Modern names come from the same name data as our person generator.
// Character generation (fantasy)
$race = pick(RACES); // Human, Elf, Dwarf, Halfling, Gnome, Half-Orc, Tiefling, Dragonborn
$name = pick($race.first) . pick($race.endings[$gender]) . ' ' . pick($race.surnames);
$age = random_int($race.min_age, $race.max_age);
$class = pick(CLASSES); // 12 classes
$alignment = pick(ALIGNMENTS); // 9 alignments
// Personality: 2 distinct traits + motivation + flaw + quirk
$traits = pick_distinct(TRAITS, 2);
// Ability scores: 4d6, drop the lowest
foreach (['STR','DEX','CON','INT','WIS','CHA'] as $ability) {
$dice = [d6(), d6(), d6(), d6()];
sort($dice);
$score = $dice[1] + $dice[2] + $dice[3]; // 3..18
$modifier = floor(($score - 10) / 2); // 15 -> +2, 8 -> -1
}