This site is home to the documentation for the SQLite project'sWebAssembly- and JavaScript-related APIs, which enable the use ofsqlite3 in modern WASM-capable browsers.
Cookie/storage disclaimer: this site requires a modern,JavaScript-capable browser for full functionality. This site usesclient-side storage for persisting certain browsing preferences (likethe bright/dark mode toggle) but its server does not process, nortransfer to any other entity, any user-level information beyondcertain SCM-side display-related preferences and the credentials oflogged-in developers.
Site Overview
About the sqlite3 WASM subproject:
Making use of this project:
👣 Thethree-step HOWTO demonstrates how toinclude and run the sqlite3 WASM module and its associatedJavaScript APIs.
💾Downloads are available viathe main project downloads page.
🛠Building sqlite3 WASM and its associated JScode.
📇The API index describes the various APIvariants and how to load and access them.
About this documentation:
In the Wild
Third-party projects known to be using this project include (in orderof their addition to this list)...
- SQLime provides a databasebrowser interface.
- Evolu Evolu is a local-first platformdesigned for privacy, ease of use, and no vendor lock-in.
- SQLiteNext provides a demo ofintegrating this project with next.js.
- sqlite-wasm-esm demonstrateshow to use this project with the Vite toolchain.
- sqlite-wasm-httpprovides an SQLite VFS with read-only access to databases which areserved directly over HTTP.
Related Works
(In the order in which we became aware of them...)
- Alon Zakai'ssql.js is thefirst known direct usage of sqlite3 in a web browser,dating back to2012,not counting WebSQL (which was a native-level feature and has longsince been removed from browsers).
- Roy Hashimoto'swa-sqlite is home tothe first known implementation ofOPFS storageof sqlite3 databases. It is also the home of much innovationregarding JS-side SQLite VFSes.
- James Long'sabsurd-jsdemonstrates storing sqlite3 databases inside IndexedDB databases.
- postgres-wasm runs aPostgres database server in a browser.
- Jaccwabyt is asmall JS library for manipulating WASM-hosted C structs via JS code,created specifically to support theOPFSsqlite3_vfs implementation in thisproject. This project embeds a copy but does not expose it to clientapplications.
- CoWasm is"Collaborative WebAssembly for Servers and Browsers".Their demoapp includes a WASM build of the sqlite3 shellapplication.
- absurder-js isNicholas G. Piesco's re-imagining of absurd-js. See also:his announcement of it on the SQLite forum.
Third-party Documentation and Articles
The following links reference articles and documentation publishedabout SQLite WASM by third parties: