iCloud Numbers as Virtual Tabletop for Play by Post Roleplaying

Chris Ramakers
May 10, 2019 · 5 min read

I’ve recently started DM’ing on a Discord Play by Post server. I’ve also always been a DM that loved to work with props, battle maps, handouts, miniatures, etc … I put ridiculous amounts of work into preparing and finetuning encounters (it’s like leisure, relaxation for me) and would also like to bring that to my online games. So I went looking for options.

First I went looking for existing tools but none of them really pleased me. Either they have too many limitations (Google Spreadsheets), need a paid subscription (Roll20), aren’t actively supported or developed no more (3DVTT), or just didn’t work on mobile which is a requirement for me.

Until I thought to myself “why not try iCloud Numbers?”, the online variant of the Apple spreadsheet application. I’m fairly settled in the Apple ecosystem with a Macbook, iPhone, iPad, etc … so might as well give that a try. And damn, it works really well … a lot better than expected.

It’s important to note that you don’t need an Apple device to use this method, all you need is your browser, on whatever platform you wish, MacOS, Windows, Linux, a Tablet … it all works.

Here is a rundown of how I managed to prepare my Numbers battle map for online play.


The first thing you need to do is create an iCloud account if you don’t have one yet. Go to https://www.icloud.com/ and register or login. Then open the Numbers application from there.

Now let’s get some things out of the way, clean up the workspace and get it ready for our battle map.

Make sure that snapping is enabled on the “Guides” tab in the settings.

Then position your map in the top-left corner of your workspace, it should snap right into place and leave a small margin which is fine.

With that out of the way you also want to disable the grey headers and footers so your whole table is void of background colors. Make sure you’ve got your table selected and then set all values to 0 under “Headers & Footer”.

You also want to disable the name displayed on top of your table. This can be done by selecting the table and then on your right-hand side uncheck the “Name” option under “Table options”. And that leaves you with a simple table, ready to serve as your digital battle map.

Graphics/image support

The first thing that I really like is how well Numbers supports graphics. One of the biggest drawbacks of Google Spreadsheets to me was that I couldn’t place graphics behind the grid/spreadsheet. This works wonderfully well in Numbers.

All you need to do is place an image on your workspace and align (it snaps right into place!) the top-left corner with the top-left of your spreadsheet table. Then send it to the back and bam, your map sits behind your grid. All that’s left now is locking it in place so you won’t accidentally move it around.

Creating and aligning your grid

I’ve had my fair share of trouble with Virtual Tabletops when aligning grids with my digital battle maps (looking at you Roll20!). More often than not it’s hell to get them to align properly. Not so in Numbers. In 3 easy steps you get the perfectly aligned, but first make sure that the top-left of your

  1. Count the number of rows and columns on your battle map image
    (17 total rows and columns to “V” on my map)
  2. Drag the handles of your table until your table has the same number of rows and columns.
  3. Then resize the table to equal the width and height of your battle map, it again snaps right into place

🎉 All of a sudden you have a battle map with a perfectly aligned grid. That was easy right?

Sharing your map

Now you are ready to share your map, you can add tokens later (see below) but first let’s get your players on board.

Hit the share button in the menubar. Then you want to choose the “Copy link” option. Under “Share options” set the options so that anyone with the link can view the map but not allow them to edit the map. Then his share and copy/past the generated URL into your Discord channel. Your players will now be able to view the map, including realtime updates you make.


Placing tokens representing your players and monsters is equally easy. I create all my tokens with Tokenstamp, a great free service that allows you to upload images and create tokens from them really easy.

After you’ve created tokens it’s as easy as dragging them from your computer onto the workspace, resize them(again use snapping to perfectly resize it to fit into a cell!) and you can place it where ever you want.

Set the opacity of incapacitated or dead tokens to 50% or place a border around it. Really easy!

Our druid is in a pickle! Will he win the fight versus these ruffians? One down, two to go!

Bonus: spell effects, decals, and more …

The same way you added the tokens you can also easily add spell effects to the map. Find some free Dundjinni spell effect assets and drag them onto the battle map, resize them and bam!

Your wizard suddenly created a summoning circle! Did the rogue throw a smoke bomb? Smears of blood on the road? A bright light appears? Easy peasy!

As you can see there are many options, and since I haven’t found an easy solution that fits my need yet, I’m going to roll with iCloud Numbers for my online battle map needs for now.

Keep in mind however that there are many better solutions if you want to run a realtime online game where you are online at the same time. This solution, however, is perfect for my play-by-post needs and allows me to build good looking battle maps and share them with my players with little effort.

Chris Ramakers

Written by

Development Team Lead at Nucleus, Father, RPG geek and Metalhead

More From Medium

Also tagged Dungeon Mastering

Also tagged Dungeon Mastering

Five Signs You Have a Bad Dungeon Master

Feb 28 · 7 min read


Also tagged Dungeons And Dragons

Top on Medium

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade