Fog of war is one of those features that every Dungeon Master wants and every VTT handles differently. Roll20 has its own fog system. Foundry has its own. Owlbear Rodeo has another. If you play on a TV table, across Discord, or use a mix of platforms, none of those built-in solutions help you. This tool fills that gap.
The concept is simple: upload a battlemap, the entire map is covered in black fog, and you paint to reveal areas as the party moves. Switch to Hide mode to re-cover anything you revealed by mistake. No accounts, no installs, no plugins.
How the fog layer works
The tool maintains a separate mask layer on top of your map image. When you paint in Reveal mode, it erases the mask in a circular brush area, exposing the map beneath. In Hide mode, it paints the mask back in. The fog opacity slider controls how dark the unrevealed areas appear, from fully opaque black to a semi-transparent overlay that lets players see terrain hints without full detail.
This approach means the original map is never modified. The mask and the map are composited together only at render time and at export. Your source image stays clean.
Screen sharing for live sessions
The most common workflow is to open this tool in a browser, share the tab via Discord, Zoom, or Google Meet, and reveal areas as the party explores. The canvas updates in real time, so remote players see the fog lift as you paint. This works for any platform because it is just a browser tab. No VTT integration needed.
For in-person sessions with a TV table, open the tool in full screen on the display and use a separate device to control it. Reveal areas as you narrate. The black fog hides upcoming encounters, traps, and map layout until the players earn the view.
Brush sizing
The brush size slider ranges from 10 to 200 pixels. For corridor-scale reveals in a dungeon, a smaller brush (20 to 40 pixels) gives precision. For outdoor maps or large chambers, push the brush up to 100 or beyond. The brush cursor follows your mouse and shows the exact area that will be affected, so there is no guesswork about coverage.
Exporting the result
The Download button exports the current view as a full-resolution PNG with the fog composited onto the map. This is useful for session recaps, sharing a "state of the map" with players between sessions, or preparing a handout that shows only the explored portions of a larger dungeon.
The export always uses the original image dimensions, regardless of how the preview is scaled in the browser. If you uploaded a 4000 by 3000 pixel map, the export is 4000 by 3000 pixels with the fog overlay applied at the same scale.
Map sources
Any PNG, JPG, or WEBP battlemap works. Maps from MakeMythic, Czepeku, Forgotten Adventures, or any other mapmaker drop in directly. AI-generated maps work too. The tool does not care about grid size, art style, or aspect ratio. It covers whatever you upload in fog and lets you paint it clear.
Privacy and performance
The image never leaves your browser. All fog masking happens on the HTML5 Canvas element using local pixel operations. There is no server, no upload, no processing queue. Close the tab and the image is discarded from memory. For maps under 8000 by 8000 pixels, performance is smooth on any modern browser. Larger maps may see slight lag on brush strokes depending on your hardware.