Notes on the DuckDB UI
DuckDB recently shipped with a new local UI package[1]. It allows users to visualize DuckDB databases as well as run SQL queries through embedded notebooks.
You can start the UI by running duckdb -ui
in the terminal which starts an http server on port 4213
by default.
$ duckdb -ui
┌──────────────────────────────────────┐
│ result │
│ varchar │
├──────────────────────────────────────┤
│ UI started at http://localhost:4213/ │
└──────────────────────────────────────┘
v1.2.1 8e52ec4395
Enter ".help" for usage hints.
Navigating to it opens the web interface which has a familiar code execution model to Python/Jupyter notebooks except focused on DuckDB SQL.
Unsurprisingly, DuckDB uses it's own database to save metadata for it's UI. On my machine it that gets saved to ~/.duckdb/extension_data/ui/ui.db
which we can load to view the table structure.
The notebooks
table appears to keep track of created notebooks, while the notebook_versions
table appears to power undo/redo functionality.
Raymakers, J. et al. (2025) The DuckDB local UI. duckdb.org. Available at: https://duckdb.org/2025/03/12/duckdb-ui.html (Accessed: 2025-3-14). ↩︎