Casual Sheets vs. Google Sheets

Casual Sheets vs Google Sheets — open-source self-hosted alternative

Honest comparison between Casual Sheets (open-source, Apache-2.0, self-host via Docker) and Google Sheets (SaaS, free for personal, $6+/user for Workspace). Side-by-side on price, self-host, .xlsx round-trip, co-edit, formulas, charts, pivots, and maturity. No marketing — what each does well and where it falls short.

If you landed here searching for an open-source alternative to Google Sheets that you can self-host, this page is what you actually need before you commit. Both tools render the same surface — grid, formulas, charts, co-edit — but the trade-offs are different in ways that matter for real adoption decisions.

I built Casual Sheets, so I have an obvious bias. The comparison below tries to be honest about where Google Sheets is the better answer.

At a glance

Casual SheetsGoogle Sheets
LicenseApache-2.0 — fully open sourceProprietary SaaS
HostingSelf-host via Docker (one container)Google-hosted only
PriceFree; pay your own hosting (~$5–50/mo)Free for @gmail.com; Workspace $6+/user/mo
Data locationYour serverGoogle’s servers
OfflineYes (single-user mode works without server)Yes (Chrome extension)
Native file format.xlsx (round-trips byte-equal with .xlsm macros)Proprietary Google format; export to .xlsx
Real-time co-editYes (Yjs + Hocuspocus)Yes (Google’s CRDT)
Co-edit ceiling per process~500 active docs / 1500 concurrent WS (measured, p99 broadcast 3.2 ms)Effectively unlimited
Pivot tablesYes, with drill-down (Ctrl+Shift+D)Yes
Charts8 types · trendlines · sparklines30+ types · more polish
VBA macrosRound-trip byte-equal on .xlsm (we don’t execute them)Apps Script (different language entirely)
Maturityv0.2.1 · 139 unit + 357 e2e tests20 years, billions of users
AuthJWT-secured roles · admin panel · WOPI hostGoogle account + Workspace policies
Backup / DRYour problem (Redis AOF, file storage)Google’s problem
MobileViewer + light editor on ≤480 pxNative iOS + Android apps

Where Casual Sheets is a better fit

  • You need to keep the data on your servers. Compliance, IP sensitivity, paranoia — whatever the reason, docker run -p 3000:3000 schnsrw/casual-sheets:latest puts the whole thing on a $5/mo VPS. No Google account required; no data leaves your network.
  • You’re tired of Workspace billing. Workspace at $6/user/month for 50 people is $3 600/year. The same workload runs on a single $48 DigitalOcean droplet (8 GB / 4 vCPU). See the capacity model.
  • You want .xlsm macro files to survive the round-trip. Google Sheets converts .xlsm to its proprietary format and silently drops the VBA. Casual Sheets captures xl/vbaProject.bin and re-emits it byte-equal on save. You won’t execute VBA in the browser, but the macros survive for the next desktop user.
  • You want the surface to look like Excel, not a web app. Ribbon, formula bar, file-centric workflow. Pivot drill-down via Ctrl+Shift+D matches Excel’s “Show Details.”
  • You’re building on top of a spreadsheet. Apache-2.0 means you can fork, embed, or wrap it without negotiating a commercial license. Univer OSS underneath is also Apache-2.0; no AGPL surprises.

Where Google Sheets is a better fit

  • You don’t want to operate infrastructure. Google Sheets has no server you maintain, no Docker to upgrade, no AOF to back up, no nginx to tune. If “log in and use it” is the bar, the SaaS wins.
  • You need mobile-first. Google’s iOS + Android apps are first- class; Casual Sheets ships a web viewer that works on mobile but isn’t a native app.
  • You want every chart type that exists. Google Sheets ships ~30 chart types with rich customisation; Casual Sheets ships 8 (line, column, bar, pie, donut, scatter, area, combo) plus sparklines. Covers 90% of real-world business decks but not the exotic ones.
  • You depend on Google ecosystem features. AppSheet integration, Google Forms backing, Apps Script automation, Workspace SSO, shared-drive permissions — all SaaS-only by design.
  • Your audience is non-technical. Google Sheets URLs work for anyone with a Google account. Casual Sheets rooms work for anyone with the link, but the operator still has to maintain the link.

Self-host complexity, honestly

You need to be comfortable with these to run Casual Sheets in production:

  • Docker (one container; multi-arch amd64 + arm64).
  • A reverse proxy (nginx, Caddy, Traefik, or Cloudflare — examples in docs).
  • Optional Redis for Y.Doc persistence across restarts.
  • Raising the file-descriptor limit (ulimit -n 65535) — Linux default 1024 caps WebSocket connections at exactly that number with no useful error message.
  • TLS termination + cert renewal.

Plenty of solo developers and small teams run this comfortably. If your IT team can run nginx, they can run Casual Sheets.

Cost honestly, with numbers

For ~100 concurrent users, ~30 active docs (the typical small-team shape):

Cost surfaceCasual SheetsGoogle Sheets
Hosting$15–25/mo (DigitalOcean small VPS + Redis)$0 personal; $300+/mo for 50 Workspace seats
Setup time1 hour (Docker compose + a reverse proxy)5 minutes (sign up)
Ongoing ops~1 hour/month for backups + updatesZero
Per-user cost~$0.20/user/month$6/user/month (Workspace)

If you’re a solo developer or a small team that already operates a VPS, Casual Sheets is the cheaper-by-30x option. If you’re a 200- person company that doesn’t want to think about it, Workspace is the cheaper-in-total-cost-of-ownership option.

What’s NOT in Casual Sheets yet

Being honest: this is v0.2.1, ~6 months old. Gaps vs Google Sheets:

  • AI features. No Gemini-style “explain this formula” or natural- language data analysis. Univer’s command bus supports it; no resources allocated to build it.
  • Forms integration. No equivalent to Google Forms feeding into a sheet.
  • Conditional formatting variety. We support the common cases (data bars, colour scales, icon sets, custom formulas); Google has more presets.
  • Add-ons marketplace. Google has thousands of third-party add-ons; we have a programmable command bus and an extension story but no marketplace.
  • Smart fill, smart cleanup, named ranges with refactor. Some of these are partially shipped (Flash Fill works), some are not on the roadmap.

These all land or don’t based on contributor interest. The roadmap is docs/PRODUCTION_PIPELINE.md in the repo.

When to choose what

  • Casual Sheets, if: you need to self-host, you want .xlsm to survive, you want to avoid per-user SaaS billing, you’re building on top of a spreadsheet, or you just like having the source.
  • Google Sheets, if: you want zero infrastructure, you depend on the Workspace ecosystem, your audience is non-technical, or you need mobile-native apps.

Both can be the right answer.

Try Casual Sheets

docker run -p 3000:3000 schnsrw/casual-sheets:latest

Then open http://localhost:3000. The full self-hosting guide covers reverse proxy, TLS, JWT auth, and the admin panel: /docs/sheets/self-hosting/.

Live demo: https://sheet.schnsrw.live/.