# floors.js vs _Gather_

Both use spatial concepts and avatars. But Gather is a virtual office for remote teams. floors.js is a widget you embed on your public website for visitors. Different audience, different use case.

[Get started — from $14/mo](/#pricing) [See how it works](/#how)

## TL;DR

- **Gather.town** — 2D virtual office for remote teams. Proximity-based video and spatial audio. Plans start at $7/user/month.
- **floors.js** — social widget for public websites. 3D isometric avatars, real-time visitor chat. $14/month or $99 for lifetime access.
- **The split:** Gather is for internal team collaboration. floors.js is for public visitor engagement on your website.

## What Gather does

Gather is a virtual office platform. Your team logs into a 2D pixel-art space where each person has an avatar. Walk close to someone and a video call starts automatically. Walk away and it ends. The idea is to recreate the spontaneous hallway conversations of a physical office.

It works well for what it is: **remote teams that want spatial video calls**. You can set up dedicated rooms for meetings, breakout spaces for brainstorming, and common areas for casual chat. It handles events too — conferences, workshops, onboarding sessions. Users need an account to join, and your team pays per seat.

Gather replaces Zoom and Slack huddles with something more spatial and human. It is an internal tool. Your visitors, customers, and the general public do not use it.

## What floors.js does

floors.js is an embeddable widget you add to any public website with one script tag. When visitors land on your site, they appear as 3D isometric avatars in a small floating panel. Each page becomes a room. Visitors can see who else is browsing, move around, and chat — all without creating an account.

There is no video, no audio, no microphone permissions. Just **lightweight text chat and spatial presence**. A visitor lands on your pricing page and sees two other people there. They ask a question. You — or another visitor — answer. It turns a static website into a living space.

floors.js is built for the public internet. Anonymous visitors. Zero friction. The widget loads asynchronously and does not affect your Core Web Vitals. You paste one line of HTML and it works.

## Side-by-side comparison

|  | Gather | floors.js |
| --- | --- | --- |
| Purpose | Virtual office | Website social layer |
| Audience | Internal teams | Public website visitors |
| Pricing | Free / $7+/user/mo | $14/mo or $99 lifetime |
| Account required | Yes | No |
| Video/audio | Yes | No (text chat) |
| Embeddable on any website | No | Yes (one script tag) |
| 2D/3D style | 2D pixel art | 3D isometric |
| Spatial proximity | Yes (audio) | No |
| Moderation tools | Basic | Full (kick/ban/timeout) |
| Setup | Create space + invite | Paste one line |

## Who Gather is best for

Gather makes sense when you have a **remote team that needs a persistent virtual office**. Teams that miss the spontaneity of being in the same room. Companies running virtual events, hackathons, or onboarding sessions where proximity-based video creates a more natural experience than a grid of Zoom faces.

If your goal is internal team collaboration with spatial video calls, Gather is a solid choice. It is not designed for — and does not work well as — a public-facing tool on your website.

## Who floors.js is best for

floors.js is for **anyone with a public website who wants visitors to interact**. SaaS founders who want to see who is on their pricing page and jump in to help. Community sites that want members to bump into each other. Portfolios where visitors can explore work together. Landing pages where social proof happens in real time.

No video. No accounts. No per-seat pricing. Just fun, lightweight social presence with avatars and chat. Your visitors show up, see each other, and talk. That is the entire product.

## The key difference

Gather replaces Zoom for your team. floors.js adds life to your website for the public. **One is internal. One is external.** They solve completely different problems for completely different audiences.

If you are looking for a way to make your remote team feel more connected, use Gather. If you are looking for a way to make your website feel alive and let visitors engage with each other, use floors.js. If you need both, use both — they do not overlap.

## Frequently asked questions

**Can I embed Gather on my website?**  
Not really. Gather is a standalone application where users join a dedicated virtual space. It is not designed to be embedded as a widget on your public website. floors.js was built specifically for that use case.

**Does floors.js have video or audio?**  
No. floors.js focuses on text chat and 3D avatars. It is lightweight by design — no camera permissions, no microphone, no bandwidth overhead. It loads fast and stays out of the way.

**Do visitors need an account to use floors.js?**  
No. Visitors join instantly with a random avatar and name. No signup, no login, no friction. They can optionally set a custom name, but nothing is required.

**Which is better for website visitors?**  
floors.js. Gather requires user accounts and is not designed for public-facing websites. floors.js was built specifically for anonymous website visitor engagement with zero setup on the visitor side.

**Can I use both Gather and floors.js?**  
Yes, but for different things. Use Gather as a virtual office for your remote team. Use floors.js on your public website so visitors can see each other and chat. They serve entirely different purposes and do not conflict.
