Guide

D&D NPC Tracker

The problem with NPCs is not that you forget their names. You can bluff a name. The problem is the moment a player says “we go back and talk to the harbor master” and you cannot remember whether he liked them, what he wanted, or how he talked.

Most NPC trackers are lore databases. They store history. What you need mid session is not history, it is a character you can play in ten seconds without breaking momentum.

The seven fields that matter

Track these and you can run any NPC cold. Everything else is optional, and most of it is decoration.

Identity

One sentence on who this person is to the party. Not their backstory. Their function in your players' lives. “Honest blacksmith who owes the party for rescuing his daughter” is worth ten paragraphs of history.

Disposition

Ally, friendly, neutral, wary, or hostile. One word, updated as it changes. This is the field you will reach for most, because it decides how they open the conversation.

Last beat

The most recent thing that happened between them and the party. Not a summary of every meeting. Just the last one, so you can pick up mid conversation without stalling.

Wants

What actively drives them right now. A goal, not a feeling. “Control of the southern trade routes” gives you something to play. “Is greedy” does not.

Fears

What they will avoid or try to prevent. Be concrete. “Death” is useless. “Being exposed as a Harper informant” writes half a scene for you.

Under pressure

How they behave when cornered, caught out, or threatened. This is the field that keeps a character consistent when players do something you did not plan for.

Voice

How they sound. Speech patterns, verbal tics, cadence, a phrase they repeat. This is the single most useful field for actually playing them, and the one almost every NPC tracker leaves out.

Plus one running list: open threads

Separate from the seven fields, keep a list of every unresolved thing between this NPC and the party. A promise, a debt, a favor owed in either direction, a threat sworn.

Be strict about what counts. An open thread is something with an obligation attached, not a vibe. “Seems suspicious” is not a thread. “Party owes Gareth 200gp for silvered weapons by the next full moon” is a thread, and it is also next session's opening scene.

What not to track

Full stat blocks for social NPCs. If the innkeeper never rolls initiative, his Constitution score is noise. Add stats when combat becomes plausible, not before.

Backstory the players will never learn. If it does not change how you play the character in a scene, it belongs in your worldbuilding notes, not your NPC tracker.

Every NPC. Named characters who did something get an entry. The guard who said one line does not. If you track everyone, you will stop tracking anyone by session five.

A real filled in example

This is an actual NPC from a Tomb of Annihilation campaign, after three sessions of appearances.

Zindar

Harbor master

Friendly

Identity

Half gold dragon harbor master who is never in his office; met the party blackout drunk before giving a sober morning briefing on sea dangers.

Last beat

Sober at dawn, briefed the party on Armag the dragon turtle, pirate ships, sea monsters pushing north, and offered a 50 gold river route south.

Voice

Booming, drunk warmth; short blunt questions; randomly affectionate; forgets everything.

Wants

Safe and orderly passage through the Bay of Chult for ships he oversees.

Fears

Ships being destroyed by Armag or pirates on his watch.

Under pressure

Holds firm on practical advice; deflects with bluntness when pressed.

Open threads

  • Thrain has a dawn meeting with Zindar at the Thundering Lizard to discuss ship passage.
  • Party can hire Zindar's river transport south for 50 gold if they choose the river route.

Read that in ten seconds and you can play him. You know he is warm, blunt, unreliable about details, and that the party has an unfinished deal with him. That is the whole job.

Keeping it current is the hard part

The framework is easy. Updating it after every session is what actually fails. The trick that works for most DMs is to update NPCs at the same time you write your session notes, while you still remember what the harbor master said, rather than treating it as a separate chore you will do later. You will not do it later.

CritSheet builds these dossiers automatically from your session notes or a recording, and updates the last beat and open threads every time an NPC shows up again. The example above came from a live campaign.

The seven fields work just as well in a notebook. Steal them either way.