TL;DR: Gather.town is a virtual office — a place remote teams go to. floors.js is a social presence layer that comes to your visitors, embedded on your existing site with one line of code. Choose Gather for team collaboration with video. Choose floors.js to make a public website feel alive.
Why people look for a Gather.town alternative
Gather.town nailed one thing: spatial presence makes remote interaction feel human. But many people who search for a Gather alternative don't actually want a virtual office — they want that spatial, avatar-based magic on their own website, for real visitors, without forcing anyone into a separate app.
The common friction points: every participant needs a Gather account and has to leave your site to join a dedicated space. Pricing scales with reserved capacity and members, so costs climb as you grow. And it's built for teams that meet — not for the thousands of anonymous visitors who land on a public site for ninety seconds and leave.
If your goal is engagement on a website — a launch page, a community, a docs site, a portfolio — Gather is the wrong shape. You need something that embeds, not something people travel to.
A destination vs. a layer on your site
This is the core difference. Gather.town is a destination: you create a space, share a link, people sign up and walk in. It's excellent for a distributed team that wants a persistent office with proximity video.
floors.js is a layer: you paste one script tag and every page of your existing website becomes a room. Visitors who are already there see each other as 3D avatars, walk around, and chat in real time — with zero signup. They never leave your site because the experience is your site.
Same spatial idea, opposite delivery. One asks people to come to it. The other goes to where your people already are.
floors.js vs Gather.town — honest comparison
These tools solve different problems. Here's a straight side-by-side so you can pick the right one.
| Feature | Gather.town | floors.js |
|---|---|---|
| Where it lives | Separate app / destination | Embedded on your website |
| Account required | Yes, per participant | No — instant join |
| Pricing | Free / paid per member & capacity | $14/mo or $99 lifetime, per site |
| Best for | Remote team virtual office | Public website visitor engagement |
| Proximity video / audio | Yes | No (text + presence by design) |
| Setup | Build a space, invite members | One script tag |
| Visitor friction | High (signup + leave your site) | Zero |
| Works on any site | N/A — it's the destination | Yes (WordPress, Shopify, Next.js…) |
Who should use floors.js instead of Gather.town
Who should stick with Gather.town
If you need a persistent virtual office for a remote team — proximity video calls, desks, meeting rooms, scheduled events with hundreds of logged-in attendees — Gather.town is genuinely good at that and floors.js does not try to replace it. floors.js has no video, no audio, and no concept of private team spaces. It's a public-website social layer, not a workplace. For team collaboration, Gather (or Teamflow / SpatialChat) is the right call.
Looking for a free or open-source Gather.town alternative?
Two things people most often want from a Gather.town alternative are "free" and "open source" — here's the honest answer for floors.js on both.
Free: floors.js itself isn't free — but it's priced to be the most affordable spatial option for a public site. There's no per-member or per-room billing like Gather: it's a flat $14/month or $99 once, for unlimited visitors, with a 7-day money-back guarantee if it's not a fit. (Your visitors always join free, with no account.)
Open source: floors.js is not open source — it's a hosted widget, so there's no server to run and nothing to maintain. If you're hunting for an open-source Gather alternative specifically to self-host, that's worth knowing up front. What you get instead is the thing most people actually want from "open source" here: zero infrastructure, one script tag, and no vendor account for your visitors. For a public website, that's usually the better trade than running your own server.
One line to install
Paste it before </body> in your site's layout. Works on any platform — static HTML, WordPress, Shopify, Next.js, Webflow, or anything else. Pages become rooms automatically. No space to build, no members to invite, no configuration.