TL;DR
Keep two lists side by side: what the party did, session by session with an in-game day count, and what the world is doing in the background if nobody interferes. Count days instead of calendar dates unless your setting needs them, spend five minutes updating after each session, and share the party side with your players.
Here’s what a finished timeline looks like six sessions into a campaign called The Ashen Circle:
| Session | In-world date | Party | World |
|---|---|---|---|
| Session 1 | Day 1 | Learn about missing villagers in Oakhurst. The mayor now owes them a favor | The Ashen Circle begins preparing a ritual under Oakhurst, due on Day 10 |
| Session 3 | Day 4 | Spare the bandit leader Kessa in Thornwood. She knows the cult’s hideout and wants revenge on the party | The cult keeps gathering victims |
| Session 5 | Day 9 | Find the ritual map in Brann’s mine and learn the date | The ritual is one day away |
| Session 6 | Day 12 | Arrive in the capital to warn the Duke | Day 10: the ritual was completed. Next: Duke Varen closes the northern pass on Day 18, and the summoned thing reaches the capital on Day 30 |
What the Timeline Tells You
Read across the last row. The party spent days on Kessa and the mine, arrived in the capital on Day 12, and the ritual happened on Day 10 because nobody went back to Oakhurst. When a player asks how long it’s been since they left, you can say “twelve days” instead of “about a month,” and the table understands what that means without you saying another word.
In a short adventure, time barely matters. In a long campaign, it quietly drives everything:
- Deadlines feel real. “The ritual happens in ten days” only creates tension if someone is actually counting.
- The world moves without the party. Wars start, villains finish their plans, the baker’s kid grows up. You can only show that if you know how much time has passed.
- Travel and downtime have weight. A two-week journey through the mountains should cost something.
- Answers stay consistent. When a player asks “how long ago did we meet Brann?”, you have an answer instead of a guess.
- The campaign becomes a story. A timeline is the backbone of any recap, retrospective, or campaign novel.
What Goes in Each Column
The common mistake is mixing everything into one list. The sample keeps two separate tracks, because they answer two different questions and are read by different people:
| Track | What it answers | What goes in it | Who sees it |
|---|---|---|---|
| Party track | What did we do, and when? | Sessions, in-game days, places, key events, consequences | Everyone |
| World track | What’s happening out there? | Faction plans, deadlines, background events, “if the party does nothing” | Usually just the DM |
The party track: what the players did
This is the history of your table. One line per meaningful event, in order:
- Day number: the in-game day it happened (“Day 14”).
- Session: which session it was, so you can find the details later.
- Where: the location.
- What happened: one sentence.
- Consequence: what changed because of it. This column is the one you’ll actually use.
You don’t need every fight. “Killed some wolves on the road” can go. “Spared the bandit leader, who swore revenge” stays. Share this side with your players: they like seeing their own history laid out, and they’ll often catch your mistakes.
The world track: what happens if nobody interferes
This is where your world comes alive. For every major faction or villain, write down what they’re doing and when, assuming the party doesn’t interfere, and keep it to yourself:
| Day | Who | What happens if nobody stops it |
|---|---|---|
| Day 10 | The Ashen Circle | The cult completes the ritual under Oakhurst |
| Day 18 | Duke Varen | Closes the northern pass to all trade |
| Day 30 | The Ashen Circle | The summoned thing reaches the capital |
Each session, compare the two. If the party is on Day 12 and nobody went to Oakhurst, the ritual happened. Players feel that immediately, and it makes the world seem to keep moving when they look away.
Pick a Calendar (or Don’t)
Whether you need a real in-world calendar depends on how much your campaign cares about seasons, holidays, and years:
| Option | Good for | Watch out for |
|---|---|---|
| Day count | Most campaigns. Simple and fast | No seasons or holidays unless you add them |
| Official setting calendar | Published worlds: the Calendar of Harptos in the Forgotten Realms, Absalom Reckoning in Golarion | More to look up, but festivals and seasons come built in |
| Homebrew calendar | Your own world, when time is part of the theme | Keep it short. Twelve named months is plenty |
A good middle ground: track days internally, and mention the season or a festival only when it matters at the table. “It’s been three weeks, and the first snow is falling” does more than any date.
A Copyable Timeline Template
Copy this into a document or spreadsheet and fill it in as you go:
CAMPAIGN TIMELINE · [campaign name]
Current day: [Day __] Season: [__]
ACTIVE DEADLINES
• [What] · by Day [__] · [days left]
PARTY TRACK
Day | Session | Where | What happened | Consequence
WORLD TRACK (if the party does nothing)
Day | Who | What happens
LONG AGO (before the campaign)
• [Year / era]: [event that still matters]The last section is optional, but useful: a few lines of ancient history (the war that ended a century ago, the fall of the old empire) give players context without a lore dump.
Where to Keep It
| Tool | Pros | Cons |
|---|---|---|
| Spreadsheet | Easy to sort, filter, and count days. Free | Hard to connect to NPC and place notes |
| Wiki tool | World Anvil, LegendKeeper, Obsidian and similar tools keep the timeline next to your NPCs and places | More setup. Easy to over-engineer |
| Document or notebook | Zero setup | Gets messy after twenty sessions |
If you already keep a campaign wiki, put the timeline there, so every event can link to the people and places involved. Our guides on building a campaign wiki and tracking NPCs, locations, and lore cover how to set that up.
Keep It Updated
A timeline only works if it’s current. Updating it takes about five minutes after each session, especially if you already write a recap. Pull two things from it: how many in-game days passed, and which events had consequences. Our session recap template is built to make that easy. If your group plays on Discord, Kazkar can record each session and keep the chronicles in order, so the raw material for the party track is already written when you sit down to count days.
If you’re starting a timeline in the middle of a long campaign, don’t try to reconstruct every day. Rebuild the big events first, mark uncertain dates with “(?)”, and fill gaps as they come up. The same approach works when turning old campaign notes into a wiki.
Start with one row for last session and one deadline you care about. By session ten you’ll have a page that tells you exactly where the campaign has been and what is coming for the party if they keep taking detours.
Frequently Asked Questions
How do you keep track of time in a D&D campaign?
Keep an in-game day count and update it after every session. Log travel, rests, and downtime as they happen, and list active deadlines with the days remaining.
What should a campaign timeline include?
The party’s history (day, session, place, event, consequence) and the world’s plans (what factions do and when if nobody stops them). A few lines of ancient history are a useful extra.
Do I need an in-world calendar?
No. A day count works for most campaigns. Reach for Harptos or a homebrew calendar only when seasons, holidays, or years matter to your story.
Should players see the campaign timeline?
Show them the party side, since it’s their history. Keep the world side private, because it holds plans and deadlines the characters haven’t discovered.
What’s the best tool for a D&D timeline?
A spreadsheet is the simplest. If you already use World Anvil, LegendKeeper, or Obsidian, keep the timeline there so events link to NPCs and places.
Never lose track of session 9
Kazkar records each Discord session and keeps the chronicles in order, with NPCs, places, and factions linked in your campaign wiki, so your timeline always has its raw material. Free to start, no card required.
Add Kazkar to DiscordDanylo
Co-founder, Kazkar
Danylo is a co-founder of Kazkar and a tabletop RPG player and GM. He writes about running games, tracking campaign lore, and turning messy session notes into stories worth keeping.
Meet the Kazkar team →