Website profiles · Technology insights · Alternatives

virtualtabletop.io

Come play with me!

No paid content found
Visit website
Profile views 9 Outbound visits 3 Normal
VirtualTabletop.io Full homepage screenshot

At a glance

Category
Games & Board Games
Language
English
Paid-content signal
No paid content foundObserved
Registered
2020
Hosting
Contabo GmbHInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is VirtualTabletop.io?

VirtualTabletop.io is a free, browser-based virtual tabletop for playing board games and card games online. It runs in a normal browser tab, needs no install, and is built around sharing a room URL so other people can join the same table.

Its two main ways to play are:

  • Remote play: each person uses their own device and joins through the shared room link. Their browser tab appears as a connection, and they can pick a name and colour.
  • Hotseat: several people share one device. You add each person as a player, then switch the tab's visibility to whoever's turn it is without disturbing the game state.

There is also a personal game library, an active game shelf, and filters for player count, estimated play time, language, and whether a game was made with AI. Games load from VTT or PCIO files, including files found through board game communities.

A practical next step: if you want to try it, open the site, create or enter a room ID, and share that URL with one other person before adding more players. That single two-player test will show you whether remote play or hotseat suits your group. For a regular board game night with everyone on separate devices, remote play is the simpler fit; for a family gathered around one laptop, hotseat avoids everyone needing their own screen.

How do I play board games with friends using VirtualTabletop.io?

VirtualTabletop.io is a browser-based table for playing board games with other people. You do not install anything: one person opens the room, shares the room URL, and everyone else joins in their own browser tab.

The two ways to play

  • Remote play: Each friend opens the shared room URL on their own device. Their browser tab appears as a connection, and they choose a name and color in the players table.
  • Hotseat: Several people share one device. Add each person as a local player, then use the visibility button to switch the tab to whoever's turn it is. The game state stays the same; only the active player view changes.

A useful detail from the page: every browser tab with the room open counts as one player connection, and adding a player switches that tab to them. That makes it easy to test a game alone by opening several tabs, but it also means you should not leave duplicate tabs open during a real session.

A simple setup sequence

  1. Open the room and note its ID or URL.
  2. Use the share button to send the room URL to your friends, or have everyone enter the same room ID.
  3. Let each remote player pick a name and color; add local players for anyone sharing a device.
  4. Load or select a game from the game shelf, then start play.
  5. Keep one tab per person to avoid confusing connections.

What you need to decide first

Situation Better option Trade-off
Friends in different places Remote play Everyone needs their own device and a stable connection
Family around one screen Hotseat Only one person can act at a time; switching is manual
Testing a game solo Multiple tabs or local players Extra connections can clutter the player list

Practical notes

The page mentions loading VTT or PCIO game files and adding games to a personal library, so the table is a player for compatible game files rather than a store with built-in titles. If you are new, start with a simple card or tile game to learn the toolbar, zoom and fullscreen controls before running a long session.

For file sources, the page points to BoardGameGeek's geeklist at BoardGameGeek and the PlayingCardsIO community at Reddit; treat those as places to find compatible files, not as part of the table itself.

Next step: open the room, share the URL with one friend, and run a short two-player game before inviting a larger group.

What file formats can I upload to VirtualTabletop.io?

VirtualTabletop.io accepts VTT and PCIO files in its game library upload area. You can add them with the "Add game" button or by dragging files onto the library.

Those two formats are the practical constraint to plan around. If your game files are in another format, you would need to convert them first or find a compatible version elsewhere.

For a concrete workflow: download a VTT or PCIO file to your device, open VirtualTabletop.io, and use Add game in your personal game library to upload it. Once uploaded, the game appears in your library and can be launched into a room.

If you are comparing sources for compatible files, the site points to community collections such as a BoardGameGeek geeklist and the PlayingCardsIO subreddit. You can also browse public library games directly on the platform and pin them with the star control instead of uploading anything.

How does the hotseat mode work on VirtualTabletop.io?

Hotseat mode on VirtualTabletop.io lets several people play from one browser tab on a single shared device, each taking their turn with their own player identity. The game state stays the same; only the active player changes.

How it works in practice

  • Add a player for each person using the person_add row in the Players and connections table.
  • When it's someone's turn, use the visibility button to switch that browser tab to their player.
  • The switch affects only the local tab, not the game or other connected devices.

This is different from remote play, where each person uses their own device and joins via the shared room URL. In hotseat, the visibility button is greyed out for players who are connected and actively playing, so you can't switch the view to someone who is already in the game from elsewhere.

When to use it

Choose hotseat for in-person sessions around one screen or device, such as a tablet passed between players or a laptop on a coffee table. Use remote play when everyone has their own browser and connection.

A useful next step

Before starting, decide whether anyone will also join remotely. If so, set up remote connections first and keep hotseat local players separate, since the visibility switching only works for players not currently connected.

Can I play without an internet connection on VirtualTabletop.io?

No. VirtualTabletop.io runs in your browser and its rooms are built around live connections, so you need an internet connection to open a room, join one, or play with other people. The page's own language points to this: a room loads by entering an ID, you share a room URL for remote play, and each browser tab counts as one player connection.

What that means in practice

  • Remote play — everyone uses their own device and joins by opening the shared room URL. This is the mode that most obviously depends on being online.
  • Hotseat — several people share one device and switch the active player with the visibility button. The game state stays on the table, but the room itself is still loaded over the web, so this is not an offline mode either.
  • Local players — you can add a player who shares your device, which is useful for passing one screen around, but it doesn't remove the need for the connection that loaded the room.

So if your group meets somewhere with unreliable Wi-Fi, plan around it: have one person open the room while the connection is stable, or use a hotspot, rather than expecting the table to keep working once the network drops.

If offline play is a hard requirement

Look for software that installs on your machine and stores game files locally, rather than a browser-based table. A useful test when comparing options: can you open a saved game, move a piece and reload it with your device in airplane mode? If the answer is no, it's an online tool.

For the online case, the practical next step is to open the room on each device before you start and confirm every player shows up as a connection, so you catch network problems before the first turn rather than mid-game.

Is VirtualTabletop.io free to use?

Yes, VirtualTabletop.io is free to use. Nothing on the site presents a paid tier, subscription, or checkout flow; you load the page, enter a room ID, and start a table. Hosting is handled for you in the browser, so there is no software to buy or install.

What "free" covers here

  • Creating and joining rooms. You and your friends enter the same room ID, or you share the room URL so others can open it directly.
  • Multiple players on one device. The hotseat setup lets several people share a single browser tab, switching visibility by turn.
  • Remote play. Each person uses their own device and appears in the player list as a connection.
  • Your own game files. You can add games by uploading compatible VTT or PCIO files, or pick from the public library.

Practical next step

If you are planning a game night, test the setup before inviting anyone: open the room, add a local player for each person who will share your screen or device, and confirm the game loads. Then send the room URL to remote players and have them claim a name and color in the player list.

One thing to watch

"Free" describes access, not permanence. Because rooms are identified by an ID you type in, keep the exact room ID or shared URL somewhere you can find it again, and check that any uploaded game files are ones you are allowed to use. If you later need accounts, cloud saves, or guaranteed hosting, that would be a different product decision rather than something this site currently charges for.

Related questions

More questions →
How the Game Library Works on VirtualTabletop.io

Your personal game library on VirtualTabletop.io starts empty, and you fill it in one of three ways: pin a game from the public library with its star button, click Add game to upload a VTT or PCIO file you downloaded elsewhere, or drag VTT files directly onto the page. Once games are in the library, you filter and sort them to find what you want to play. This applies to the browser-based table at virtualtabletop.io — there is no separate account library to sync, and the page gives no indication of paid tiers or storage limits.

Getting games into your library

The library panel shows the message "Your personal game library is currently empty" until you add something. The page lists three routes:

  • Pin a public game. Use the star button on any game in the public library to pin it to your own shelf.
  • Add game button. Opens an upload flow for VTT or PCIO files you downloaded from the web.
  • Drag and drop. Drop VTT files onto the page to add them.

The upload path is the one that matters if you want a specific game that isn't already hosted. The page points to a few places to find compatible files:

  • a BoardGameGeek geeklist
  • the PlayingCardsIO subreddit
  • a Notion page (the excerpt cuts off mid-URL, so treat the first two as the reliable starting points)

VTT and PCIO are the two accepted file types named on the page. If you have a file in another format, the page gives no indication it will load.

Finding a game once your library has entries

The library includes a filter and sort bar above the game list. Filters:

Filter Options shown
Players Any, 1–20
Duration Any, ≤30 min, 30–60 min, >60 min
Language Any (plus language groups)
AI status Any, Made without AI, Made with AI

Sort options: by Name, by Similar Name, by Stars, by Popularity, by Last Updated, by Year.

If the list comes back empty, the page's own hint is to adjust the filters — "No games displayed. Adjust the filters above to show them." That usually means a player-count or duration filter is narrower than your collection.

Loading a game and keeping it

Two buttons sit near the library: Update loaded game and Save active game. The naming implies a distinction between the game currently loaded at the table and the saved copy in your library — save the active game to keep changes, update the loaded game to pull in the saved version. The page does not spell out the exact overwrite behavior, so if you have made edits you care about, save before loading something else.

To switch between games you return to the main server, which is where the library lives.

Practical notes

  • The library is per-browser in practice: it's part of the same page that hosts your room, and the page describes connections as browser tabs. Clearing site data or switching browsers is the kind of thing that would affect it, though the page doesn't state this explicitly.
  • Compatible files come from outside the site. BoardGameGeek geeklists and the PlayingCardsIO subreddit are the two sources named; both are community-run, so file quality and format compliance vary.
  • The AI filter (Made with AI / Made without AI) is a metadata flag on library entries, useful if you want to know how a game's assets were produced.

If your goal is simply to play, the shortest path is: open a room, share the URL, and pick a game from the public library — you don't need to upload anything. Uploading only becomes necessary when you want a game that isn't already in the public shelf.

How do you start or join a game room on VirtualTabletop.io?

Open virtualtabletop.io, enter a room ID, and have everyone else enter the same ID — or start the room and use the share button to send the room URL to the people you want to play with. Each browser tab with the room open counts as one player connection, so the same person can occupy several seats by opening multiple tabs, and several people can share one device by adding local players and switching between them.

Starting a room

  1. Open virtualtabletop.io in a browser.
  2. When the page asks for a room ID, type one and confirm. The page shows "Loading room..." while it connects.
  3. Anyone who should join you enters the same ID. The prompt states it directly: "Please enter an ID and ask your friend to enter the same one."
  4. Once inside, the room loads the game shelf and table interface, with a toolbar containing Game Shelf, Active Game, Players, About, Edit Mode, Feedback, Sound, zoom, Fullscreen, and Hide Toolbar.

There is no account step described in the interface — the room ID is the only thing that has to match. If you want a private table, pick an ID that is hard to guess, since anyone who enters the same ID lands in the same room.

Inviting remote players

Remote play means everyone uses their own device:

  1. Open the Players panel.
  2. Use the share button in the player table.
  3. Send the room URL to the other players.
  4. They open the URL and join the table. Their browser tab appears in the player list as a connection, and they can pick their own name and color there.

The share button's stated purpose is exactly this: "Share the room URL so other players can join."

Hotseat: several people, one device

If everyone is gathered around one computer:

  1. In the Players panel, use the person_add row to add a player for each person at the device.
  2. When it is someone's turn, use the visibility button to switch this browser tab to that player.
  3. Only the browser tab switches — the game state itself stays untouched.

The visibility button is greyed out while a player is connected and playing, and the delete button only appears while a player is not connected (and asks first if parts of the game still belong to them).

How connections and players relate

Action What it does
Open the room in another tab Adds another connection; each tab is one player connection
Add a player while the room is open in multiple tabs Switches the current tab to that player, so each tab can be its own player
Edit a player Renames the player everywhere in the game
Visibility Views the game as that player
Delete Removes a player from the list — only shown while they are not connected

Switching games

To change games, return to the main server using the "Return" control in the game-selection area. From there you can browse the game shelf, filter by player count, duration, language, or whether a game was made with AI, and sort by name, similarity, stars, popularity, last update, or year. You can also add games by uploading VTT or PCIO files downloaded from the web; the interface points to compatible files on a BoardGameGeek geeklist, the PlayingCardsIO subreddit, and a Notion page. Your personal game library starts empty until you pin public games with the stars, use Add game, or drag VTT files in.

Common snags

  • Nobody can find the room. The ID has to match exactly for everyone. Sharing the room URL avoids typos entirely.
  • You seem to be two players. Every tab with the room open is a separate connection, so close extra tabs if you only want one seat.
  • A player's visibility button is greyed out. That player is currently connected and playing; disconnect them first.
  • You cannot delete a player. The delete button only appears while that player is not connected.
What is VirtualTabletop.io?

VirtualTabletop.io is a browser-based virtual tabletop for playing tabletop games online. You open a room, share its ID or URL, and each player joins from their own browser tab — no install or account is mentioned in the site's own interface. It supports both remote play (everyone on their own device) and hotseat play (several people sharing one device), and it includes a game library you can load from or add to.

How a room works

The landing screen shows "Loading room..." and asks you to enter an ID and have your friend enter the same one. That ID is the whole join mechanism: anyone who enters the same ID lands in the same room.

Inside a room, the toolbar exposes the main controls: Game Shelf, Active Game, Players, About, Edit Mode, Feedback, Sound, zoom, Fullscreen, and Hide Toolbar.

Players and connections

The site's own help text defines the rule clearly: every browser tab that has the room open is one connection of a player.

From the Players panel you can:

  • Edit the name and color of any player.
  • View the game as another player (the visibility button) — greyed out while that player is connected and playing.
  • Add a local player who shares this device.
  • Rename a player everywhere in the game.
  • Remove a player from the list — only shown while they are not connected, and it asks first if parts of the game still belong to them.

One useful consequence: if you keep the room open in more than one tab, adding a player switches the current tab to them, so each tab can act as its own player.

Remote play vs. hotseat

Remote play Hotseat
Devices One per player One shared device
How players join Send the room URL with the share button; they join as soon as they open it Add each person with the person_add row
Switching turns Each player uses their own tab Use the visibility button to switch the tab to whoever's turn it is
What changes Their tab appears as a connection; they pick their name and color Only the browser tab switches — the game itself stays untouched

Remote play is the default for people in different places. Hotseat is for a group around one screen: you add each person as a player, then hand the device over and switch the active view.

The game library

The Game Shelf holds your games. Your personal library starts empty, and you can fill it by:

  • Pinning public library games with the stars.
  • Using the Add game button.
  • Dragging VTT files in.

You can upload VTT or PCIO files downloaded from the web. The site points to compatible game files on a BoardGameGeek geeklist, the PlayingCardsIO subreddit, and a Notion page. Library games can be filtered by player count (1–20), duration (≤30 min, 30–60 min, >60 min), language, whether they were made with AI, and sorted by name, similar name, stars, popularity, last updated, or year.

To switch games, return to the main server.

Practical notes

  • Joining is ID-based, so agree on the ID first. If you and your friend enter different IDs, you end up in different rooms.
  • Sharing the URL is the fastest path for remote players — the share button in the player table sends the room link.
  • Cancelling an input closes it for everyone and all choices are lost, so avoid hitting Cancel while others are mid-decision.
  • A disconnected player can be removed, but the game may still reference them, which is why removal asks for confirmation first.
What Is the Difference Between Remote Play and Hotseat on VirtualTabletop.io?

Remote play and hotseat differ in one thing: how many devices the players use. In remote play, everyone plays on their own device and joins the same room through a shared URL. In hotseat, several people share one device and take turns by switching which player the browser tab is viewing. Both modes use the same player list, so you can mix them in one room.

Remote play: one device per person

Each player opens the room URL on their own device. Their browser tab appears in the room as a connection, and they can pick their own name and color in the player table.

To set it up:

  1. Open the room you want to play in.
  2. Use the share button in the player table to get the room URL.
  3. Send that URL to the other players.
  4. As each person opens it, their browser tab shows up in the player table as a connection.
  5. Each player selects their name and color.

The key detail: every browser tab with the room open counts as one player connection. That is why a second tab on your own machine can act as a separate player if you want it to.

Hotseat: one device, several players

In hotseat, several people share a single device. You add each person to the player list, then switch the tab to whoever's turn it is.

To set it up:

  1. In the player table, use the person_add row to add each person who shares the device.
  2. When it is someone's turn, use the visibility button to switch this browser tab to that player.
  3. Play their turn, then switch to the next player the same way.

The important limitation: only the browser tab switches over — the game itself stays untouched. Switching players changes whose view and permissions the tab is using; it does not reset, advance, or otherwise alter the game state.

Side-by-side comparison

Remote play Hotseat
Devices One per player One shared device
How players join Open the shared room URL Added manually via the add-player row
How turns switch Each player uses their own tab Use the visibility button to switch the tab
Effect on game state None None — only the tab switches

Player table buttons you will use in both modes

  • edit — rename the player everywhere in the game.
  • visibility — view the game as this player. It is greyed out while that player is connected and playing.
  • delete — remove a player from the list. Only shown while they are not connected, and it asks first if parts of the game still belong to them.
  • add — add a player who shares this device (the hotseat case).
  • share — share the room URL so other players can join (the remote case).

Which one should you use?

Choose remote play when each person has their own device and you want everyone to see the game from their own perspective at the same time. Choose hotseat when people are in the same room around one screen and you want to pass turns without passing hardware. Because both modes draw on the same player list, a room can support remote players and hotseat players at once — for example, two people on a laptop taking turns while a third joins from another device.

How to Manage Players and Connections in a VirtualTabletop.io Room

Every browser tab that has the room open counts as one player connection. To manage them, open the Players panel in the room: there you can rename a player, change their color, view the game as that player, or add a local player who shares your device. Remote players join by opening the room URL you share, and each of their tabs appears in the same list.

What counts as a player connection

VirtualTabletop.io treats each browser tab with the room open as one connection of a player. That has two practical consequences:

  • If you open the same room in three tabs, you have three connections listed, even on one device.
  • If you add a player while the room is open in more than one tab, the current tab switches to that player, so each tab can act as its own player.

This is why the player list is really a list of connections, not a list of people.

The player management buttons

The Players table gives you one row of controls per player:

Button What it does When it's available
Rename (edit) Renames the player everywhere in the game Always
Visibility Views the game as this player Greyed out while that player is connected and playing
Delete Removes the player from the list Only shown while they are not connected; asks first if parts of the game still belong to them
Add (person_add) Adds a player who shares this device Always
Share Shares the room URL so other players can join Always

The visibility button is the one to remember for checking a hidden hand or a private view: it only works once the player is disconnected, because you can't peek through a connection that is actively playing.

Adding players for remote play and hotseat

The two setups use the same player list but different buttons.

Remote play

Everybody plays on their own device. Send them the room URL with the share button, and they join the table as soon as they open it. Their browser tab shows up in the player list as a connection, and they can pick their own name and color in the table.

Hotseat

Several people share one device. Add each of them with the person_add row of the table, then use the visibility button to switch this browser tab to whoever's turn it is. Only the browser tab switches over; the game itself stays untouched.

Removing a player

A player can only be removed while they are disconnected. If parts of the game still belong to them, the interface asks for confirmation before deleting. If you need to remove someone who is still connected, they have to close their tab first.

Common snags

  • A player won't appear in the list. Their tab isn't open on the room URL yet. Re-send the share link.
  • The visibility button is greyed out. That player is still connected and playing. Ask them to disconnect, then switch to their view.
  • Adding a player changed the wrong tab. With the room open in several tabs, adding a player switches the current tab to them. Do it from the tab you want to reassign.
  • A player can't be deleted. They are still connected, or the confirmation prompt is waiting for an answer.

To switch to a different game entirely, return to the main server first.

Website Overview

Several search or sharing settings need attention. Together they may make snippets, preview images or preferred URLs less consistent across platforms. An active inbound-mail setup with incomplete authentication may leave the domain more open to impersonation. Provider hosting alone does not close that gap.

Domain and Registration

Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The domain has about 5 years of registration history; its current configuration provides more context than age alone. The registrar is NameCheap, Inc., a widely used domain service provider. The domain uses the common .io extension, which is not an independent safety signal.

DNS and Email

The observed email authentication setup is incomplete: DMARC is missing. Nameservers are provided by Namecheap, indicating managed DNS hosting. MX records point to the registrar-servers.com email service. CAA records restrict which certificate authorities are authorized to issue certificates. No CNAME was found; the observed records resolve directly to addresses.

TLS and Certificates

The certificate uses an RSA 2048-bit public key, offering broad client compatibility. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued by Let's Encrypt, commonly associated with automated certificate services. The certificate's total validity is about 89 days, consistent with a short renewal cycle.

HTTP and Browser Security

X-Powered-By exposes backend information: Express. The response lacks these common security headers: CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, clickjacking protection. No obvious internal addresses or debug information were found in the headers. The Server header identifies nginx without an exact version. No explicit CDN or WAF marker was found in the response headers.

Technology Stack Analysis

The public page identifies nginx, Express without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

No homepage meta description was detected, leaving snippet selection more dependent on page text. No homepage canonical URL was detected. If duplicate URLs exist, consolidation may be less explicit. Open Graph is partially configured; og:type is missing. The title has 18 characters, within a common display range. The observed directives allow indexing and link following.

Hosting and Email

DNSNamecheap
HostingContabo GmbH
Emailregistrar-servers.com
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) France flagLauterbourg, Bas-Rhin, France Inferred 169.58.177.166

Registration details

RDAP / WHOIS

RegistrarNameCheap, Inc.
Registered2020-11-29
Expires2029-11-29
Domain statusclientTransferProhibited https://icann.org/epp#clientTransferProhibited
Nameserversdns1.registrar-servers.com、dns2.registrar-servers.com
DNSSECunsigned

DNS records

DNS

TypeNameValueTTLPriority
Avirtualtabletop.io169.58.177.1661799—
MXvirtualtabletop.ioeforward1.registrar-servers.com180010
MXvirtualtabletop.ioeforward2.registrar-servers.com180010
MXvirtualtabletop.ioeforward3.registrar-servers.com180010
MXvirtualtabletop.ioeforward4.registrar-servers.com180015
MXvirtualtabletop.ioeforward5.registrar-servers.com180020
NSvirtualtabletop.iodns1.registrar-servers.com1800—
NSvirtualtabletop.iodns2.registrar-servers.com1800—
TXTvirtualtabletop.iov=spf1 include:spf.efwd.registrar-servers.com ~all1800—
CAAvirtualtabletop.io0 issue "letsencrypt.org"1799—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectvirtualtabletop.io
IssuerLet's Encrypt
Valid until2026-11-02T17:54 · Remaining when checked: 29 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html
servernginx
strict-transport-securitymax-age=31536000; includeSubdomains; preload

Identified technologies

nginxExpress

Pages, Search and Sharing

User reviews (0)

  • No reviews yet.