TinyBase is a reactive in-memory data store with persistence and synchronization for local-first JavaScript and TypeScript apps. It supports a variety of storage and sync integrations and provides a query engine to work with tabular data.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
TinyBase is a reactive in-memory data store with persistence and synchronization for local-first JavaScript and TypeScript apps.
How it works
The project describes a reactive data model with change listeners, built-in undo, and a query engine to join, filter, and group data. It supports native CRDT-based synchronization and various persistence backends (IndexedDB, browser storage, SQLite, PostgreSQL, and more) for offline and online consistency.
Getting started
- README placeholder includes a starter command example:
> npm create tinybase@latest
📦 Creating your project...
- It also links to getting started guides for a basic setup and demos, e.g., a guide to getting started with UI frameworks and storage/sync options.
Recent releases
- v9.4.0-beta.2 (2026-07-27): Queries can now select every Cell present in a root.
- v9.3.0 (2026-07-27): TinyBase v9.3 lets multiple independently synchronized MergeableStores share one WebSocket connection. Includes reliability hardening.
- v9.2.0 (2026-07-11): Aimed at making the library easier for coding agents and AI systems to discover and use correctly.
- v9.1.0 (2026-07-09): Required Schema Fields feature.
- v9.0.0 (2026-07-03): Free of new features; focuses on fixes and reliability improvements.
Traction
- GitHub stars: 5137
- Forks: 130
- Open issues: 23
Behind the repo
- Organization: tinyplex
- Repository: tinybase
- License: MIT
- Language: TypeScript
- Created: 2021-12-31
- Last push: 2026-07-28
Caveats
- License: MIT
- Age: created 2021-12-31
- Open issues: 23






