"""Page copy: how-to, article sections, example intro, FAQs. One H1 lives in the hero.""" HOW_TO_HTML = """

This free DnD NPC generator builds non-player characters for the person who has to run them: the Dungeon Master. Instead of a name and three adjectives, every result is a complete, table-ready character — a performable voice, a motive that drives scenes, named relationships, a secret, and three plot hooks you can drop into your next session. It works for 5e and the 2024 rules, runs right on this page, and needs no signup.

  1. Describe the slot you need filled. Every field is optional. Give a role ("harbor-master", "fence", "village priest"), or a location, or just what the party needs from them — the generator fills in the rest.
  2. Set their importance. Background NPCs get local, small-stakes hooks; Recurring NPCs get an agenda that advances between meetings; Major NPCs get campaign-relevant secrets built to escalate across an arc.
  3. Pick a demeanor, or don't. Friendly, gruff, scheming, weary — a single word here shapes the whole performance. Leave it blank and the generator chooses something that fits the role.
  4. Generate, then run them. You get a structured NPC sheet, not a wall of prose. Copy the Markdown into your prep notes or download the file, and hit Regenerate until the character feels right. The Surprise Me button rolls a role, race, importance, and demeanor for you.
""" INCLUDES_HTML = """

Most random NPC tools stop at a name and a personality trait. That is the part of NPC creation that was never hard. The hard part is the moment your players decide the weigh-clerk is interesting and you have to be him for twenty minutes. Every NPC this tool generates includes the fields that survive contact with a party:

""" EXAMPLE_INTRO_HTML = """

Here is a complete, unedited output from this generator. The inputs were: role "canal lock-keeper", importance Recurring, demeanor Gruff — everything else left blank.

""" RUN_AT_TABLE_HTML = """

A generated NPC earns its place the moment your players talk to it. A few habits turn a good sheet into a good scene:

""" FAQS = [ ( "How do you make a good D&D NPC?", "Give them three things: something they want, something they hide, and " "something you can perform. Motivation makes their answers consistent, a secret " "gives the DM ammunition for later, and a concrete voice or physical tic makes " "them memorable at the table. This generator produces all three in every " "result, plus named relationships and hooks so the NPC connects to the rest of " "your world.", ), ( "How do DMs keep track of NPCs across a campaign?", "The classic failure is inventing a great NPC mid-session and losing them by " "next week. Keep a single NPC list with a two-line entry each — who they are, " "what they want, where the party left things — and update it right after the " "session while it's fresh. The quick-reference field in every generated NPC is " "written for exactly that list. Tools that turn session recordings into " "organized notes can automate the 'right after the session' part, which is " "where most tracking systems quietly die.", ), ( "What stat block should an NPC use?", "Borrow, don't build. Most NPCs never fight, and the ones that do are covered " "by SRD blocks: Commoner for ordinary folk, Guard or Thug for muscle, Spy for " "the competent and quiet, Bandit Captain for dangerous veterans, Mage or Priest " "for casters. Every generated NPC includes a stat suggestion naming which " "block to grab — and which to escalate to if the scene turns violent.", ), ( "Can I generate shopkeepers, villains, and allies?", "Yes — the importance setting is the lever. Background covers shopkeepers, " "guards, and one-scene characters with small local hooks. Recurring covers " "allies, contacts, and rivals with agendas that advance between meetings. " "Major covers patrons and villain-grade figures whose secrets are " "campaign-relevant. Put the specifics in the role and party-need fields and " "the output follows.", ), ( "How is this different from a character backstory generator?", "A backstory generator writes a player character's past — history the player " "acts from. An NPC generator writes for the DM's side of the screen: NPCs are " "performable (voice, mannerism, quote), hook-driven (three scenes you can " "run), and present-tense (what they want now, not what happened to them at " "twelve). If you need a player character's history, use our backstory " "generator linked below instead.", ), ( "Can I reuse an NPC across campaigns?", "Absolutely — good NPCs are portable. Download the Markdown and keep a " "personal roster; when a new campaign needs a fence or a ferryman, lift one " "you already know how to play and swap the named relationships for local " "ones. The voice and motivation travel intact; only the connections need " "re-wiring.", ), ( "Does it support homebrew settings?", "Yes. Put your setting in the campaign-setting field — a sentence is enough " "(\"floating archipelago ruled by cartographer-priests\") — and names, " "factions, and hooks will be invented to fit it. Add a faction or place name " "in the notes field if you want it woven in directly.", ), ]