OpenFray

Free · Open source · No account

Never lose concentration.

OpenFray holds the whole state of a Dungeons and Dragons encounter — who’s frightened by whom, who has advantage on whom, what every creature has left to spend — so you run it instead of remembering it.

A fight in progress

The whole encounter on one screen

The whole console mid-fight: the tracker with the Ogre carrying advantage-against, Prone, and Bane chips, its stat block in the middle, and the game log ending on its Greatclub swing — two d20s at disadvantage, the 20 wasted, the Bane d4 off the kept 12, a miss.
  1. 1The trackerTurn order, hit points, and every condition as a chip on its row.
  2. 2The stat blockThe active creature, its actions one click from rolled.
  3. 3The game logEvery change written down, with the dice behind it.

The difference

What OpenFray keeps hold of

Effects have two ends, and OpenFray records which end is which. The cleric's Bane rides the Ogre's own rolls; the wizard's Faerie Fire arms everyone who swings at it — and when the Ogre finally attacks, all of it is already in the arithmetic.

A scratchpad, not a second character sheet: it never asks for a player's build. It tracks what just happened and what has to be remembered this round — which is why it stays fast instead of becoming a worse VTT.

How the tracking works →

One swing, watched through: Prone forces two d20s and the lower die, Bane takes its d4 — named right under the roll — and the log files the receipt.

The crunchy moments

Six creatures, one Fireball, one click

One spell hits six creatures, and OpenFray rolls every save at once with each one's defenses applied — the Goblin Warrior fails on a 2 and owes all 32, the fire-immune Hell Hound reads 0, the Quasit saves and still resists, down to 8. Cast straight from the stat block, and the whole spell card comes with it.

More about smart rolling →

Every save rolled at once — and the eight d6 listed right above the rows they hit. Click through for the whole board.

For your players

Share the fight, keep your secrets

A live view on their own devices

Share a link and the turn order, conditions, and game log follow the fight on your players' screens as you run it. It's read-only — there is nothing there to press.

You choose what they see

Hit points in words — Bloodied, not a number — or exact, or hidden. Armor class held back, rolls without the dice, any creature kept off their screens until you reveal it.

Nothing stored, nothing to set up

It works without an account. The board goes straight to their screens and is kept nowhere — stop sharing and it's gone.

The player view, in detail →

The same fight as above, the way your table sees it. Click through for the whole screen.

Your books, your monsters

Bring the libraries you actually use

Over 2000 creatures included

  • Basic Rules 2024 (SRD 5.2.1)
  • Basic Rules 2014 (SRD 5.1)
  • Tome of Beasts 1 (Kobold Press)
  • Tome of Beasts 2 (Kobold Press)
  • Tome of Beasts 3 (Kobold Press)
  • Creature Codex (Kobold Press)

And OpenFray's own, free to read and use:

Plus a full homebrew editor, and a free importer that turns a D&D Beyond creature page into an OpenFray creature — Chrome or Firefox.

More about the libraries →

A searchable compendium of creatures and spells, right next to the fight. Click through to read it.

Start here

Your first fight, in three steps

  1. 1Add your partyThe Add PC popover takes a name, an armor class, and hit points. Quick add covers whatever wanders in.
  2. 2Pick the foesSearch over 2000 creatures across the libraries your table enabled, or bring your own homebrew.
  3. 3BeginType your players' initiative rolls, the monsters roll their own, and Start combat orders the board.

The rest of the table

Everything else you'd expect

Honest dice, written down

Every number equally likely, and every roll logged with the dice behind it.

End-of-combat recap

Experience earned, how long the fight ran, and the hits your table will retell.

Campaigns with house rules

Your table's rulings set once and applied to every fight. Needs a free account.

A durable roster

Save your players once and drop them into any fight — with a free account — plus a quick add for whatever wanders in.

Nothing waits on the network

The fight lives in the browser and saves in the background. Rolling a die answers instantly.

Sync when you want it

Sign in free with Discord or Google to pick a fight up on another device.

Plays beside your other tools

A paper map on the table, players rolling on D&D Beyond, the fight on OpenFray. It never asks to take over: it does not do maps and will not, so the battlefield stays wherever you already run it.

When you're ready

Everything works without an account

The free account is for keeping. Sign in with Discord or Google and your fights, custom creatures, characters, and campaigns follow you between devices. Everything on this page works before you do.

Open source

Free to use, and built in the open

Version 1.0

Out of beta, and running tables. Free and ad-free, with no paid tier — this is the whole product, signed in or not.

Open all the way down

The code is AGPL-3.0 and every line of it is public. The creatures and rules in our own books are Creative Commons.

Tell us anything

A bug, a rule OpenFray gets wrong, or something your table needs and can't find — open an issue and it gets read.