vwag-table · guide

A local-first virtual tabletop — run a battlemap for players around a screen, a TV, or the internet. No account needed to start.

What this is

vwag-table is a virtual tabletop for running tactical maps. You — the game master — drive everything from a private panel: you load a map, hide parts of it behind fog, drop tokens for the party and their foes, track whose turn it is, and reveal the world as the players explore it. The players see a clean version of the map with none of your notes or controls, cast to a second screen, a TV laid flat on the table, or their own browsers over the internet.

It runs entirely in your browser. There's no software to install and no account to create to try it — the sandbox is a full copy you can play with right now. Everything you make stays on your own machine unless you deliberately choose to share it.

Getting started

Open the tool and you'll see three regions: a control panel down the left, a toolbar of icons, and the map filling the middle. Here's the quickest path to a playable table:

  1. Load a map. Use the map upload control in the left panel and pick any image — a dungeon, a town, a world map, a hand-drawn sketch, a photo of a battle mat. It fills the middle.
  2. Set the scale. Tell the tool how big one grid cell is, so distances and movement come out right. See Grid & calibration — it's one quick drag, and maps without a printed grid work fine too.
  3. Open the player display. Click Open player display. A second window appears showing only what the players should see. Drag it to your second monitor or TV.
  4. Drop some tokens for the party and their enemies, reveal the first room, and you're running.

Just trying it? On the sandbox there's a demo map already loaded, so you can skip straight to dropping tokens and painting fog to get a feel for it.

Got a prebuilt map with walls and lights? If you have a DungeonDraft .dtt module or a Universal VTT file (.uvtt, .dd2vtt, or .df2vtt — the format DungeonDraft, Dungeon Alchemist, Dungeon Fog and others export), use the Import map module button next to the map upload instead of loading a plain image. The map comes in with its grid already calibrated and its walls, doors, and lights placed for you, so line-of-sight and dynamic light are ready immediately — no manual calibration needed. Roll20 and Owlbear Rodeo maps work too; export them to Universal VTT first.

Moving around the map

The default tool is Move (the arrows icon, shortcut V). With it selected you can:

Move mode is also where you select things — click a token, an image, a note, or a placed area-of-effect to pick it up, drag it, or edit it.

The player display

Click Open player display and a second browser window opens. This is what your players see: the map, revealed areas, tokens, and any effects you've placed — but never your fog tint, your notes, your controls, or unrevealed rooms. Move that window onto a second monitor, a projector, or a TV lying flat on the table, and press F in it (or double-click) for fullscreen.

You decide what fills the players' screen from your panel — you can have them follow your view, fit the whole map to their screen, or frame a specific area (see the player frame). The two windows stay in sync automatically, with no server in between.

Grid & calibration

Turn the grid on from the panel and adjust its size, colour, offset, and opacity. Most of the time, though, you don't want to nudge those by hand — you want the tool to know how big a cell is. That's what calibration does, and it works whether or not your map has a grid drawn on it.

Switch on calibration and drag out a square. If your map has a printed grid, drag over exactly one of its cells and the tool matches it. If it doesn't, just size the square to whatever you want one cell to represent — a five-foot space, say. Either way the tool takes that as your cell size, lines its overlay up with the map, and sets the scale for measuring and movement. Now a 30-foot move really covers six squares, and tokens snap where they should.

Do this each time you load a new map. Maps come in all sizes, and one calibration drag is all it takes to make the rest of the tool accurate.

Tokens

Pick the token tool (T) and click the map to drop a token, or drag image files in to make custom ones. Select a token in Move mode to open its panel, where you can rename it, recolour it, resize it, and set its type. A coloured ring marks each type — party members, NPCs, and monsters — so a glance tells you who's who. Tokens can also carry current HP and status markers (poisoned, prone, and the like) right on the board.

Moving a token

Drag a selected token and a live distance readout follows your cursor. For precise single steps, select a token and eight little arrows appear around it — tap one to step exactly one cell in that direction, diagonals included. The arrow keys do the same four cardinal steps. Every step is wall-aware: it won't walk through a wall you've drawn.

Adding a lot at once

Select several image files together and each becomes its own token in your palette, ready to drop — handy for a stat block full of goblins.

Fog of war

Fog hides the map from players until you reveal it. You see hidden areas as a translucent tint (so you can still plan); the players see solid black. Nothing under unrevealed fog — tokens, images — shows on their screen.

There are several ways to shape it, all in the fog tools:

A common flow: black out the whole map at the start of a session, then reveal each room with the brush or a traced area as the party walks in.

Vision & light

Beyond simple fog, vwag-table can compute what each token can actually see from where it stands — line of sight blocked by walls, and darkness that only lifts near a light source.

It's all toggleable per session, so you can run a simple fog-only game or a full dynamic-lighting dungeon crawl from the same map.

Area of effect

Pick the area-of-effect tool (A), choose a shape — circle, square, or cone — a colour, and a size in feet. Hover to preview, click to drop it, and give it a name. It commits to the map and mirrors to the players in real time, label and all — perfect for a lingering web or a wall of fire.

A cone points somewhere: aim it with the direction slider, or roll the mouse wheel over the map. To adjust a zone you've already placed, click it — the panel lets you rename it, recolour it, resize it, and (for a cone) re-aim it, with every change mirroring live to the players. Right-click a zone to remove it.

Measure & ping

The measure tool (M) drags out a line and reports the distance in cells and in feet or metres. Because you calibrated the grid, that distance is honest.

To point something out to everyone, hold Alt and click — an animated ping ripples on both your screen and the players' display. Great for "the trap is here."

Initiative tracker

Open the initiative tracker from the toolbar. Add combatants with their initiative and HP — or import the whole party roster in one step — and it sorts the turn order for you. Step through turns and rounds, and the active combatant is highlighted on the board on both your view and the players'. A compact turn-order overlay can ride in the corner of either screen independently, and it keeps its own turn arrows so you can advance the round without reopening the panel.

Notes

Notes are your private GM annotations, pinned to points on the map and never shown to players. Open the notes drawer from the toolbar and it lists every note on the current floor.

Map images

You can drop extra images onto the map on top of your base map — a treasure chest, a piece of furniture, a handout. Add one from the View controls or drag a file in, then use the on-canvas handles to move, resize, and rotate it, and snap it to the grid if you like. Each image has a toggle for whether players can see it — hidden from them by default, so you can stage a reveal.

Floors, stairs & travel

A location can have several floors, each with its own map, fog, tokens, and stairs. You and the players can even be looking at different floors at once — prep the boss room upstairs while the party explores the cellar. Push to table points the players' display at whichever floor you choose.

Place stairs (S) and link them between floors; they're invisible to players. When a token stands on a stair, it (and any group you've selected) can traverse to the linked floor together.

Map-links (G) connect whole maps — a world map into a region, a region into a town, a town into a building. Players can follow a link too, and when they do the whole party travels together to the linked map.

Finally, the Splash and Blackout checkboxes drop a title image or a plain black screen onto the player display — a clean way to pause between scenes.

Rotating & the player frame

Rotate the map in 90° steps from the panel — fog, tokens, and stairs all come along. You can also rotate just the player display, so a map reads right-side-up to people sitting around a flat table while you keep yours oriented your way.

The player frame

On your screen a coloured frame shows exactly what the players are currently seeing. You can adjust its colour and opacity, and — the useful part at a table — you can grab the frame and drag it to pan the players' view. That lets you steer what the TV shows from across the room without touching the player window. You can also have the players simply follow your view, or fit the whole map to their screen.

Online play

Beyond a second screen in the same room, vwag-table can host a game for players joining over the internet from their own browsers.

This needs a relay backend, which isn't part of the tool itself — you either run your own, or connect to a hosted instance by creating an account and logging in. Once you're connected, you mint a join code, a player redeems it on a landing page, and they watch the table live and can drag their own token. Each player's device fits your broadcast to its own screen.

Setting up your own relay or an account is a bigger topic than this guide covers — a dedicated online-play guide is on the way. None of it is needed for in-person play.

The public sandbox has no backend, so online play is turned off there — but everything else (maps, fog, tokens, the second-screen display) works fully.

Saving & backups

Use Save map to store a full setup — the image, grid, fog, tokens, floors, view, and calibration — and My maps to bring one back. This library lives in your browser's own storage, on your machine. For everyday in-person play nothing is uploaded anywhere.

Because that storage is tied to a specific browser and web address, a saved library only appears when you reload from the same place you saved it. Maps saved on one address won't show up in a different browser, on another computer, or in a private window, and clearing your browser's site data erases them.

So for anything you want to keep or move between machines, use Export in the GM panel to write your whole library to a single file, and Import it wherever you need it. That file is the one copy that doesn't depend on a browser setting — it's the safe way to back up or carry your maps.

On the sandbox: treat anything you make as throwaway and export what you want to keep — it's a shared demo address with no account, so there's no server-side save there.

With a backend (a login), you can instead publish a map and its live game state to the server and pick the session back up from any machine. That's the one case where your data is stored off-device, and only when you choose to publish it.

Keyboard shortcuts

KeyDoes
VMove / select
TTokens
AArea of effect
MMeasure
SStairs
DDraw walls (line of sight)
LPlace lights
GMap-links
PFog area (trace)
NNamed fog area
BFog brush
EFog eraser
[ / ]Brush size down / up
FFit map to screen
Ctrl+ZUndo
↑ ↓ ← →Step a selected token one cell
Alt+clickPing (both displays)
Right-clickRemove a token, zone, stair, or fog area

Shortcuts stand down while you're typing in a text field or a note's Details, so you can write freely without switching tools. Press Esc to step out of a field.

Tips & troubleshooting