/duckdb-wasm

WebAssembly version of DuckDB

Primary LanguageC++MIT LicenseMIT

DuckDB-Wasm

duckdb-wasm package on NPM Github Actions Badge Join Discord Latest DuckDB Release jsdeliver stats

DuckDB is an in-process SQL OLAP Database Management System.

DuckDB-Wasm brings DuckDB to every browser thanks to WebAssembly.

Duckdb-Wasm speaks Arrow fluently, reads Parquet, CSV and JSON files backed by Filesystem APIs or HTTP requests and has been tested with Chrome, Firefox, Safari and Node.js. Learn more about DuckDB-Wasm from our VLDB publication or the recorded talk.

Try it out at shell.duckdb.org or Observable, read the API documentation, check out the web-app examples, and chat with us on Discord.

DuckDB and DuckDB-Wasm

DuckDB-Wasm is currently based on DuckDB v1.1.1.

DuckDB-Wasm with DuckDB Extension

--- Excplicitly load extensions
LOAD icu;


--- Or have them autoloaded when using relevant functions or settings
FROM read_json('https://some.url/file.json');

Build from source

git clone https://github.com/duckdb/duckdb-wasm.git
cd duckdb-wasm
git submodule init
git submodule update
make apply_patches
make serve

Repository Structure

Subproject Description Language
duckdb_wasm Wasm Library C++
@duckdb/duckdb-wasm Typescript API Typescript
@duckdb/duckdb-wasm-shell SQL Shell Rust
@duckdb/duckdb-wasm-app GitHub Page Typescript
@duckdb/react-duckdb React Hooks Typescript