// the find
DallasHoff/sqlocal
SQLocal makes it easy to run SQLite3 in the browser, backed by the origin private file system.
SQLocal wraps SQLite-WASM and the Origin Private File System to give you a persistent, full SQLite3 database running entirely in the browser. It offloads query execution to a web worker and exposes a tagged-template SQL API plus first-class drivers for Kysely and Drizzle. The target audience is local-first web app developers who want real SQL semantics without a server.
The reactive query subscription that propagates changes across tabs is genuinely useful and not trivial to build correctly on top of OPFS. The Kysely and Drizzle driver integrations mean you can drop this into an existing type-safe query layer without rewriting your data access code. Offloading SQLite to a web worker is the right call — main thread blocking on anything database-related is a common footgun that this avoids by default. The `overwriteDatabaseFile` / `getDatabaseFile` API gives you a clean import/export path for backups or migration from an existing SQLite file.
Cross-origin isolation (COOP + COEP headers) is a hard deployment requirement and will break third-party embeds, OAuth popups, and most ad networks — this is not a minor footnote, it's a production constraint that eliminates entire categories of apps. At 737 stars with one active maintainer and no corporate backing, the bus factor is high for something you'd put at the bottom of your data stack. The OPFS backend is not universally supported — Safari added it late and older mobile browsers are simply out — so you still need a fallback strategy the library doesn't provide. There is no built-in migration runner; you're expected to wire one up yourself through Kysely or handle it manually, which is fine but means the raw `sql` API path leaves you on your own for schema evolution.