Quick Answer: The most common Roll20 map problems misaligned grids, blurry images, tokens that are the wrong size all come from the same three mistakes: importing at the wrong resolution, skipping the grid configuration step, and using the default page settings without adjusting them. Fix those three things and your maps will work cleanly every time.
Upload your map image to the Roll20 library, drag it onto the map layer, and resize it to match your intended grid square count before touching any grid settings. Then align the Roll20 overlay grid to the map's printed grid using the page settings. Set token size to one grid square and configure fog of war last. Done in that order, the process takes under ten minutes. Done out of order, it takes an hour of troubleshooting.
You found a great battle map, uploaded it to Roll20, and placed it on the page. The grid is off by half a square in every direction, your tokens are the size of buildings, and the fog of war is covering terrain your players should be able to see. You have now spent 45 minutes on setup and the session starts in 20 minutes.
This is not a Roll20 problem. It is a process problem. Roll20 gives you enough control to set maps up cleanly and quickly, but the steps have to happen in the right order with the right values. This guide walks through the exact sequence, the settings that trip people up, and the checks to run before players ever join the session.
Why Does Your Roll20 Map Setup Actually Matter?
A misaligned map is not a cosmetic problem. It is a gameplay problem. When the Roll20 grid does not match the map's terrain, players cannot accurately measure movement, ranged attack ranges, or spell areas of effect. Combat slows to a crawl while everyone debates whether a token is in a doorway or through it. Rulings that should take five seconds take five minutes.
A clean map setup does the opposite. Players move without asking. Measurements are trusted. Fog of war reveals terrain at the right moment. The map becomes a tool that accelerates the session rather than one that interrupts it every other turn.
The investment is ten minutes of setup before the session. The return is every combat running faster and feeling more credible. It is one of the highest-leverage things a DM running online games can do.
What Resolution and File Format Should Your Map Be?
Start here before you touch Roll20 at all. The quality and dimensions of your source file determine everything downstream.
Resolution. The standard for VTT maps is 140 pixels per grid square (px/sq). A 20x30 square map at this resolution is 2800 x 4200 pixels, which is approximately 10 MB as a PNG. Roll20 has a 10 MB file size limit on free accounts. If your map file exceeds this, export it as a high-quality JPG instead of PNG. You will lose some crispness at extreme zoom but it will not matter at normal play distance.
Pixel-per-square value. Most professional battle map packs include this in the product documentation. If yours does not, divide the image width in pixels by the number of grid columns on the map. That gives you your px/sq value. Write it down. You will need it during the grid configuration step.
File format. PNG for maps with transparent elements or sharp terrain edges. JPG for everything else. Avoid uploading maps as PDFs directly. Export to image first.
The VTT standard for battle map resolution. Maps built at 140 pixels per grid square display cleanly at standard zoom, stay under Roll20's file size limits on most common map sizes, and scale correctly when you configure the Roll20 grid overlay.
How Do You Import and Size a Battle Map Correctly in Roll20?
This is where most DMs make their first mistake. They drag the map image onto the page and try to resize it by eye. Do not do this. Size it by numbers.
Step 1: Configure the Page Before You Import
Go to the Page Settings (the gear icon on the page toolbar). Set the page width and height in squares to match your map dimensions. If your map is 30 squares wide and 20 squares tall, set the page to 30 x 20. Set the grid square size to 70px. This is Roll20's default and works correctly with 140 px/sq source images. Leave it at 70px unless you have a specific reason to change it.
Step 2: Upload the Map to Your Library
Go to the Art Library tab, click Upload, and add your map image. Do not drag a file from your desktop directly onto the canvas. Upload first, then drag from the library. This gives Roll20 time to process the image and prevents the sizing issues that come from dragging unprocessed files.
Step 3: Place and Size the Map Image
Drag the map from your library onto the canvas. Make sure you are on the Map Layer (not the Token Layer). Click the image to select it, then open the Advanced sizing options by right-clicking and choosing Advanced. Set the width to your map's pixel width and the height to your map's pixel height. Lock the aspect ratio. Click Apply.
Then position the map so its top-left corner sits at the top-left corner of the page (coordinates 0,0). You should now see the map filling the page with the Roll20 grid overlay sitting on top of it. If the grids do not align yet, that is normal. The next step fixes it.
How Do You Align the Roll20 Grid to Your Map's Grid?
This step is where misalignment gets fixed. Do not skip it and assume the grids will match automatically. They almost never do without adjustment.
Go back to Page Settings. You will see two fields under the Grid section: Grid X Offset and Grid Y Offset. These shift the Roll20 overlay grid left/right and up/down in pixels without moving the map image itself.
Zoom in on the map until you can clearly see one grid intersection on both the Roll20 overlay and the map's printed grid. Adjust the X and Y offset values in small increments (try 2 to 5 pixels at a time) until the overlay grid lines sit exactly on top of the printed grid lines. Once one intersection aligns, the entire grid should align across the whole map.
If the grid lines converge at some intersections and diverge at others, the map's px/sq value does not match your Roll20 grid size setting. In that case, go back to Page Settings and adjust the Grid Square Size until the lines are consistent. The correct value is exactly half your map's px/sq (so 70px for a 140 px/sq map, 50px for a 100 px/sq map).
"If you have to eyeball the grid alignment during a session, you already lost ten minutes of everyone's time. Align it in prep. It takes three minutes."
Black Lantern Forge map packs ship at 140 px/sq with grid square counts documented in every product listing. Drop them into Roll20, match the page dimensions, and the grid aligns on the first try. No guesswork, no offset hunting.
Browse Map Packs →How Should You Set Up Tokens Before the Session?
Token setup is the second most common source of Roll20 friction. Wrong-sized tokens, tokens without linked character sheets, and tokens missing vision settings all create problems mid-session that are frustrating to fix in front of players.
Size tokens to the creature size, not the map aesthetic. A standard Medium creature (most player characters and humanoid NPCs) should occupy exactly one grid square. Large creatures take 2x2. Huge creatures take 3x3. Do not resize tokens smaller because they look better. Accurate sizing is what makes movement and reach mechanics work correctly.
Link player tokens to their character sheets. Right-click a player token, open Token Settings, and link each of the three bar values to the corresponding character sheet attributes (hit points, AC, and one of your choice). This lets HP updates in combat reflect automatically on the token without manual editing.
Place enemy tokens on the GM layer before the session. Use the GM Layer to stage enemy tokens where they will start. They remain invisible to players until you move them to the Token Layer. This lets you position everything accurately in advance without telegraphing the encounter.
| Creature Size | Token Size (squares) | Roll20 Token Dimensions (px at 70px grid) |
|---|---|---|
| Tiny | 0.5 x 0.5 | 35 x 35 |
| Small / Medium | 1 x 1 | 70 x 70 |
| Large | 2 x 2 | 140 x 140 |
| Huge | 3 x 3 | 210 x 210 |
| Gargantuan | 4 x 4 | 280 x 280 |
What Fog of War and Lighting Settings Should You Actually Use?
Fog of war is where new Roll20 DMs most often overcomplicate things and where experienced DMs most often underuse a tool that genuinely improves encounter tension.
Basic Fog of War (Free Accounts)
Enable fog of war in Page Settings by toggling "Fog of War" on. The entire map becomes hidden. You reveal areas manually using the Reveal/Hide Fog of War tools in the DM toolbar. Reveal the starting area before players join. Reveal additional areas as players explore them.
The key setting to get right is fog opacity. The default makes hidden areas fully black. Set it to somewhere between 0.6 and 0.8 opacity so you as the DM can see the full map while players see only revealed areas. This is in Page Settings under "Fog of War Opacity."
Dynamic Lighting (Plus Accounts and Above)
Dynamic lighting calculates vision automatically based on token sight ranges and wall placement. It is the tool that makes Roll20 feel closest to a real VTT like Foundry. The tradeoff is setup time: you need to draw wall segments on your map before dynamic lighting works. For a simple room or corridor map, this takes five to ten minutes. For a complex dungeon, it can take thirty minutes or more.
In our experience, dynamic lighting is worth it for dungeon crawls and indoor encounters where walls matter. For outdoor wilderness encounters on open terrain, basic fog of war is faster to set up and produces nearly the same result. Match the tool to the encounter type.
What Should You Test Before Players Join the Session?
The single most valuable habit in Roll20 prep is checking your map from the player's perspective before anyone joins. Roll20 lets you view the session as a player by opening a separate browser tab and joining as a player character. Do this every time.
What to look for in the player view: are the correct areas of the map revealed? Are any enemy tokens visible that should be hidden on the GM layer? Is the grid overlay clearly visible against the map's terrain or is it washed out? Do player tokens appear at the correct starting position?
Problems caught in the player-view test take 30 seconds to fix. The same problems caught mid-session while four people are watching take five minutes and break the scene. One browser tab and two minutes of checking eliminates most mid-session map surprises entirely.
Frequently Asked Questions
Why is my Roll20 grid not lining up with my map?
There are two separate causes. If the grid lines are offset consistently across the whole map, use the Grid X Offset and Grid Y Offset settings in Page Settings to shift the overlay until it aligns. If the grid lines match in some places and diverge in others, the Roll20 grid square size does not match your map's px/sq value. Adjust Grid Square Size in Page Settings to half your map's px/sq until the lines are consistent across the full image.
What file size limit does Roll20 have for map uploads?
Free Roll20 accounts have a 5 MB file size limit per upload and a total storage cap of 100 MB. Plus and Pro accounts have a 10 MB per-file limit with more total storage. If your map exceeds the limit, export it as a high-quality JPG instead of PNG. JPG compression typically reduces file size by 60 to 80 percent with minimal visible quality loss at standard zoom levels.
How do I stop players from moving tokens they should not be able to move?
In Roll20, token control is set per token. Right-click any token, open Token Settings, and check the "Controlled By" field. Set player tokens to be controlled only by the corresponding player. Enemy and NPC tokens should have no players listed in "Controlled By." Tokens with no assigned controller can only be moved by the DM.
Do I need a paid Roll20 account to use battle maps effectively?
No. The free tier supports map uploads, basic fog of war, token placement, and initiative tracking. That covers everything in this guide except dynamic lighting, which requires a Plus account. Most DMs running campaigns on Roll20 for years do so on the free tier. Upgrade when you have a specific feature need, not before.
How do I quickly switch between maps mid-session without losing token positions?
Create a separate page for each encounter map in advance. Tokens placed on a page stay on that page when players switch to a different one. When you need to move to a new encounter, send all players to the new page from the Page toolbar (the players icon next to the page name). Set up the new map's starting token positions before the session so the transition is instant.
Why do my tokens look blurry on Roll20?
Token blur is almost always caused by using a low-resolution source image. Token images display best at a minimum of 280 x 280 pixels. Roll20 also compresses uploaded images, so starting with a higher-resolution source compensates for compression loss. PNG format preserves crispness better than JPG for token images specifically, since tokens are small and fine edge detail matters more than file size.
Can I use Black Lantern Forge maps directly in Roll20?
Yes. Black Lantern Forge maps are exported at 140 px/sq and include the grid dimensions in each product listing. Upload the file to your Roll20 art library, set your page dimensions to match the listed grid size, set your Roll20 grid square to 70px, and the map aligns with minimal or no offset adjustment needed. The maps are also available as gridless versions if you prefer to use Roll20's overlay grid exclusively.
Every Black Lantern Forge map pack includes VTT-ready files at the correct resolution with grid dimensions documented. Set up in minutes, not hours.
Shop Battle Map Packs →Sources
| Roll20 | Map Images: Uploading and Configuring |
| Roll20 | Dynamic Lighting Overview |
| Reddit / r/Roll20 | Roll20 Community Wiki and Setup Guides |
| Sly Flourish | Running D&D Online: A Practical Guide |
| Tabletop Builds | Roll20 Setup Guide for New DMs |
