caioricciuti/duck-ui

The fully open-source DuckDB workbench that runs in your browser. SQL editor, notebooks, charts, AI assistant. No install, no signup, no backend — your data never leaves the tab.

Duck‑UI – a browser‑based workbench for DuckDB

What it is – Duck‑UI is an open‑source, fully client‑side UI for the DuckDB analytical database. It runs in the browser (or in a tiny Docker container) and never sends your data to a server. The UI bundles a code editor, notebook support, result grids, charting, and an optional AI assistant that can turn natural‑language questions into SQL.

Key capabilities

  • SQL editor with Monaco‑based autocomplete, formatting, multi‑tab workspaces and query history.
  • Notebook interface mixing SQL cells, markdown and per‑cell visualisations.
  • Data import from CSV, JSON, Parquet, Arrow, XLSX and native .duckdb files via drag‑and‑drop, URLs or cloud storage (S3, GCS, Azure, R2, MinIO).
  • Result grid with virtual scrolling, sorting, filtering, cell inspection and export to CSV/JSON/XLSX/Parquet.
  • Charts – 16 built‑in types, configurable per series, exportable as PNG or SVG.
  • AI “Duck Brain” – text‑to‑SQL and one‑click error fixing. Works with:
    • WebLLM (pure WASM, offline, no API key),
    • OpenAI, Anthropic, Chrome‑built‑in AI, or any OpenAI‑compatible endpoint (Ollama, DeepSeek, …). Only the schema (never the data) is sent to the provider, and with WebLLM nothing leaves the browser.
  • Share & embed – a full analysis (queries, notebooks, chart config) can be encoded in a URL or embedded via an <duck-embed> web component; no backend required.
  • Persistence – OPFS‑backed local databases survive reloads; credentials are stored encrypted (AES‑256‑GCM) in the browser.
  • External connections – attach to remote DuckDB http‑server instances or DuckLake catalogs.
  • Deploy anywhere – static site, Docker image, GitHub Pages, air‑gapped kiosks, etc.

Why it exists – The official DuckDB UI is closed‑source, requires a local DuckDB process, and cannot run offline or be self‑hosted. Duck‑UI provides a fully open, embeddable, offline‑capable alternative with pluggable AI back‑ends.

Getting started

# Run the official Docker image
docker run -p 5522:5522 ghcr.io/caioricciuti/duck-ui:latest
# Then open http://localhost:5522 in a browser

Or clone the repo and develop locally:

git clone https://github.com/caioricciuti/duck-ui.git
cd duck-ui
bun install   # npm works as well
bun run dev   # http://localhost:5173

A live demo is available at demo.duckui.com.

Typical use cases

  • Exploratory data analysis on CSV/Parquet datasets without installing anything.
  • Publishing read‑only data dashboards on GitHub Pages or internal kiosks.
  • Rapid prototyping of SQL queries with AI assistance.
  • Embedding interactive SQL explorers inside documentation or web apps.

License & community – MIT‑licensed, source fully open. Contributions are welcomed via the usual GitHub workflow; see CONTRIBUTING.md for guidelines.


All details are taken directly from the repository’s README.

Related

  • Project
  • Project
  • Project
  • Dispatch
  • Project