
WebAssembly engine
The @surrealdb/wasm package is a plugin for the JavaScript SDK that runs SurrealDB as an embedded database within a browser environment. It supports in-memory databases and persistent storage via IndexedDB, and can optionally run inside a Web Worker.
This package works with ES modules (import), not CommonJS (require).
Installation
First, install the JavaScript SDK if you haven’t already. Then add the WASM engine:
npm install --save @surrealdb/wasm
pnpm install @surrealdb/wasm
Quick start
import { Surreal, createRemoteEngines } from 'surrealdb';
import { createWasmEngines } from '@surrealdb/wasm';
const db = new Surreal({
engines: {
...createRemoteEngines(),
...createWasmEngines(),
},
});
await db.connect('mem://');
For a complete guide covering engine registration, supported protocols (mem://, indxdb://), Web Worker support, and bundler configuration, see the WebAssembly concept page.
Learn more