This site is home to the documentation for the SQLite project's
WebAssembly- and JavaScript-related APIs, which enable the use of
sqlite3 in modern WASM-capable browsers. These components
were initially released for public beta with version 3.40 and will
tentatively be made API-stable with the 3.41 release, pending
community feedback.
Disclaimer: this site requires a modern, JavaScript-capable browser
for full functionality. This site uses client-side storage for storing
certain browsing preferences (like the bright/dark mode toggle) but
does not store any user information server-side, except for logged-in
developers. The only user-level details this site shares with any
other systems are the public SCM-related details of this site's own
developers.
Site Overview
About the sqlite3 WASM subproject:
Making use of this project:
👣 The three-step HOWTO demonstrates how to
include and run the sqlite3 WASM module and its associated
JavaScript APIs.
💾 Downloads are available via
the main project downloads page.
🛠 Building sqlite3 WASM and its associated JS
code.
📇 The API index describes the various API
variants and how to load and access them.
About this documentation:
In the Wild
Third-party projects known to be using this project include (in order
of their addition to this list)...
- SQLime provides a database
browser interface.
- Evolu Evolu is a local-first platform
designed for privacy, ease of use, and no vendor lock-in.
- SQLiteNext provides a demo of
integrating this project with next.js.
- sqlite-wasm-esm demonstrates
how to use this project with the Vite toolchain.
- sqlite-wasm-http
provides an SQLite VFS with read-only access to databases which are
served directly over HTTP.
Related Works
(In the order in which we became aware of them...)
- Alon Zakai's sql.js is the
first known direct usage of sqlite3 in a web browser, dating back to
2012,
not counting WebSQL (which was a native-level feature and has long
since been removed from most browsers).
- Roy Hashimoto's
wa-sqlite is home to
the first known implementation of OPFS storage
of sqlite3 databases.
- James Long's
absurd-js
demonstrates storing sqlite3 databases inside IndexedDB databases.
- postgres-wasm runs a
Postgres database server in a browser.
- Jaccwabyt is a
small JS library for manipulating WASM-hosted C structs via JS code,
created specifically to support the OPFS
sqlite3_vfs implementation in this
project. This project embeds a copy but does not expose it to client
applications.
- CoWasm is
"Collaborative WebAssembly for Servers and Browsers". Their demo
app includes a WASM build of the sqlite3 shell
application.
- Evan Brass's
build uses a WASI
SDK build, instead of Emscripten, and demonstrates some
novel features which this project's WASM build does not.
Third-party Documentation and Articles
The following links reference articles and documentation published
about SQLite WASM by third parties: