awesome-duckdb
🦆 A curated list of awesome DuckDB resources
https://github.com/davidgasquez/awesome-duckdb
Last synced: 1 day ago
JSON representation
-
Backends
-
Fun & Demos
- Hydra ETL - Declarative YAML ETL engine that can run each transformation step on DuckDB or pandas.
-
- DuckDB API - a TypeScript-based Docker image containing DuckDB, and a Hono framework REST API with JSON or streaming Arrow responses.
- Mosaic DuckDB Server - A Python-based server that runs a local DuckDB instance and supports queries over Web Sockets or HTTP, returning data in either Apache Arrow or JSON format.
- duckdb-server - A Rust-based server that runs a local DuckDB instance and supports queries over Web Sockets or HTTP/HTTPS, returning data in either Apache Arrow or JSON format.
-
-
Chat with this page
-
Client APIs
-
Client-Server Setups
-
Web Clients (WebAssembly)
- MyDuck Server - A server wrapping DuckDB with MySQL and PostgreSQL wire protocol support.
- pg_analytics - PostgreSQL extension embedding DuckDB-in-PostgreSQL for fast on-disk and remote object storage analytics from Postgres. Built as a Foreign Data Wrapper with full query pushdown to DuckDB. Integrates easily with ParadeDB.
- pg_duckdb - DuckDB-powered PostgreSQL for high-performance apps & analytics.
- pg_mooncake - A PostgreSQL extension that adds native column store tables with DuckDB.
- GizmoSQL - Arrow Flight SQL Server - A C++ implementation of the [Arrow Flight SQL protocol](https://arrow.apache.org/docs/format/FlightSql.html) that runs in a client-server setup with DuckDB or SQLite as backends.
- Hatch - A Go-based implementation of a DuckDB Arrow Flight SQL Server.
- Termux DuckDB package - DuckDB CLI client for the Termux Android terminal emulator.
- pg_lake - `pg_lake` integrates Iceberg and data lake files into Postgres. Uses DuckDB to execute queries.
- Hatch - A Go-based implementation of a DuckDB Arrow Flight SQL Server.
- AliSQL - A MySQL branch originated from Alibaba Group. Integrates DuckDB as a native storage engine.
- rawquery - Managed analytical platform pairing DuckDB compute with Iceberg storage on S3. Postgres wire protocol, CLI, and Python API.
- VillageSQL - Aggregate Parquet, CSV and JSON in object storage from SQL, with DuckDB embedded in MySQL.
- Layerbase - Managed DuckDB hosting with a browser query console, REST API and CLI, alongside 17 other database engines under one account. Databases scale to zero when idle and wake on connect.
-
-
DuckDB Clients and UIs
-
Web Clients (WebAssembly)
- SQL Workbench Embedded - A lightweight JavaScript library that turns SQL code blocks into interactive, browser-based database environments. Powered by DuckDB WASM.
- PondPilot - Open-source, 100% client-side data exploration tool that enables users to analyze local and remote data using SQL. Zero-copy direct access to local datasets sets PondPilot apart from similar tools. It runs entirely in the browser—no servers, no cloud uploads, and no setup required.
- Preswald - WASM packager for Python-based interactive data apps.
- Medama - Self-hostable, privacy-focused website analytics.
- TabulaStudio - Browser-only enterprise data analytics platform with Jupyter-style notebooks, AI-powered visualizations, and enterprise performance (10M+ rows/second). Direct access to files and live databases like (Neon and Supabase ) without servers, cloud uploads, or setup—your data never leaves your browser.
- DuckDB Terminal - Online DuckDB shell powered by DuckDB WASM and Ghostty.
- dbxlite - DuckDB workbench for native & browser.
- Joinery - Privacy-first local data analytics with a modern SQL editor, multi-format support (CSV, Excel, JSON, Parquet), and parameterized saved queries. Available as browser app and Tauri desktop client.
- DuckQuery - Open-source visual SQL workbench to query local files (CSV/Excel/Parquet/JSON) and remote databases (MySQL/PostgreSQL) in one cross-source JOIN, plus AI text-to-SQL. Browser demo runs on DuckDB-Wasm; the full version self-hosts via Docker.
- csvtodashboard - Free SQL-on-CSV in the browser via DuckDB-Wasm — no signup, no upload, files stay on-device.
- TabulaStudio - Browser-only enterprise data analytics platform with Jupyter-style notebooks, AI-powered visualizations, and enterprise performance (10M+ rows/second). Direct access to files and live databases like (Neon and Supabase ) without servers, cloud uploads, or setup—your data never leaves your browser.
- Bedevere - Tabular data visualizer and DuckDB SQL editor on DuckDB-Wasm: open CSV/Parquet/JSON/Arrow locally, chart results with a grammar-of-graphics `VISUALIZE` syntax, and embed it anywhere via npm component or a one-line iframe.
- ParquetKit - Browser-based Parquet viewer, SQL workbench and converter powered by DuckDB-Wasm. Fully client-side — files never leave your device.
- QuackDB - Open-source in-browser DuckDB SQL playground and editor.
- Duck-UI - Duck-UI is a web-based interface for interacting with DuckDB with a SQL editor, data import/export, data explorer, query history, theme toggle and keyboard shortcuts.
- Telemetry SQL Playground - Browser-based, read-only SQL playground powered by DuckDB-Wasm, with synthetic structured-event datasets.
- ExploreMyData - Browser-based data explorer on DuckDB-Wasm: open CSV, Excel, JSON, Parquet, Arrow, Avro, SQLite and DuckDB files up to 1GB, chain filter/join/pivot/aggregate steps that each emit DuckDB SQL, write SQL directly, chart, and export. Files never leave the device.
- DBConvert Parquet Viewer - Browser-based Parquet viewer on DuckDB-Wasm. Reads the schema, row groups, compression codecs and column statistics, runs read-only SQL over the file and exports results as CSV. A [JSONL/NDJSON viewer](https://streams.dbconvert.com/jsonl-viewer) uses the same engine. Files are opened through a browser file handle and are not uploaded.
- Parquetly - Browser-based Parquet viewer on DuckDB-Wasm. Shows the schema, row groups and column chunk statistics, runs SQL over the file, and exports to CSV or JSON. Files are read locally and are not uploaded.
- ParquetKit - Browser-based Parquet viewer, SQL workbench and converter powered by DuckDB-Wasm. Fully client-side — files never leave your device.
- Parquetly - Browser-based Parquet viewer on DuckDB-Wasm. Shows the schema, row groups and column chunk statistics, runs SQL over the file, and exports to CSV or JSON. Files are read locally and are not uploaded.
-
-
Extensions
-
[Community Extensions](https://duckdb.org/community_extensions/)
- `bigquery` - Integrates DuckDB with Google BigQuery, allowing direct querying and management of BigQuery datasets.
- `chsql` - ClickHouse SQL Dialect macros for DuckDB.
- `duckherder` - Distributed execution for DuckDB queries.
- `duckpgq` - Add supports for SQL/PGQ (Property Graph Queries) introduced in the SQL:2023 standard.
- `evalexpr_rhai` - Evaluates the [Rhai](https://rhai.rs) scripting language as part of SQL.
- `fuzzycomplete` - Performs fuzzy string matching for autocompletion.
- `gsheets` - Read and write Google Sheets using SQL.
- `h3` - Adds support for the H3 discrete global grid system.
- `httpserver` - DuckDB HTTP API Server and Query Interface.
- `lindel` - Linearization/Delinearization, Z-Order, Hilbert and Morton Curves.
- `netquack` - Parsing, extracting, and analyzing domains, URIs, and paths with ease.
- `prql` - Run PRQL commands directly within DuckDB.
- `scrooge` - A set of aggregation functions and data scanners on financial data.
- `shellfs` - Allows shell commands to be used for input and output.
- `ulid` - ULID data type for DuckDB. A ULID is similar to a UUID except that it also contains a timestamp component.
- `cache_httpfs` - Adds a read caching layer to duckdb filesystem to improve query performance and reduce egress cost.
- `3fs` - Integrates DuckDB with DeepSeek 3FS distributed file system.
- `acp` - Embeds AI agents such as Claude Code inside of DuckDB via Agent Client Protocol.
- `yardstick` - Implements Measures in SQL paper as a DuckDB extension for centralized metric definitions / en embedded semantic layer.
- `curl_httpfs` - Enhanced HTTP file system with connection pooling, HTTP/2 support, and asynchronous I/O operations.
- `observefs` - I/O observability for DuckDB filesystems with latency statistics and external file cache access insights.
- `infera` - A DuckDB extension for in-database inference.
- `gaggle` - A DuckDB extension for working with Kaggle datasets.
- `onager` - A DuckDB extension for graph data analytics.
- `elasticsearch` - Query Elasticsearch indices directly using SQL.
- `cache_prewarm` - A Preloads table data blocks into the buffer pool or OS page cache, inspired by PostgreSQL's pg_prewarm extension.
- `dash` - Fully local data canvas and dashboarding app within DuckDB.
- `hostfs` - Navigate and explore the local filesystem using SQL.
- `pfc` - Read block-indexed PFC-compressed JSONL logs with timestamp filtering — 25% smaller than gzip with minimal S3 egress.
- `pst` - Read Microsoft PST files in-place with rich schemas for emails, contacts, appointments, tasks, and more.
- `stats_duck` - Statistics for tabular and clinical data: descriptive tables (`table_one`), linear models with robust/clustered standard errors, meta-analysis, bootstrap, and a grammar-of-graphics `VISUALIZE` clause that turns queries into Vega-Lite charts.
- `gpudb` - GPU-accelerated plain DuckDB SQL on Apple Silicon Metal and NVIDIA CUDA: GROUP BY, joins, filters and top-k run on the GPU when measured faster, with the same answers.
- `query_condition_cache` - Caches query conditions to improve performance for repeated-query workloads.
-
[Core Extensions](https://duckdb.org/docs/stable/core_extensions/overview)
-
Extension Statistics
- DuckDB Extension Radar - Repository that contains DuckDB extensions on GitHub. Refreshed daily.
- DuckDB extension weekly downloads - Statistics of weekly downloads for core extensions and community extensions. Refreshed daily.
-
Other Extensions
- duckdb_engine - SQLAlchemy driver for DuckDB.
- duckdb-extension-template-zig - A Zig & Nix toolkit template for building extensions against multiple versions of DuckDB using Zig, C or C++.
- duckdb-jfr-extension - DuckDB extension to read JFR (Java Flight Recorder) files directly.
- duckdb_protobuf - Plugin for querying encoded protobuf messages (both sequences and individual messages per file).
- duckdb-pytables - DuckDB extension to allow running SQL on arbitrary data sources.
- Lance - Integrate Lance (modern columnar data format for ML implemented in Rust) with DuckDB.
- ODBC Scanner DuckDB Extension - DuckDB extension to read data directly from databases supporting the ODBC interface.
- QDuckDB - Plugin for reading DuckDB spatial tables in QGIS software.
- UC Catalog Extension - Proof-of-concept extension combining the `delta` extension with Unity Catalog.
- FlockMTL - Integrate language model (LLM) capabilities directly into your queries and workflows.
- ERPL Web - ERPL Web is a DuckDB extension that connects API-based ecosystems via standard interfaces like OData, GraphQL, and REST.
- quack-zig - The infamous DuckDB quack extension rewritten in C and built with Zig. Proof that you can develop DuckDB extensions without drowning in boilerplate.
- Lance - Integrate Lance (modern columnar data format for ML implemented in Rust) with DuckDB.
- DuckDB.ExtensionKit - Build native DuckDB extensions in C#.
- template-duckdb-extension-zig
- go-duckfs - A Go library that mounts `io/fs` file systems as DuckDB virtual file systems, sandboxing all I/O through the Go runtime.
- Lance - Integrate Lance (modern columnar data format for ML implemented in Rust) with DuckDB.
-
Web Clients
- Official Extensions - Official DuckDB extensions.
- `postgres_scanner` - Allows DuckDB to directly read data from a running Postgres instance.
- `spatial` - Enables geospatial processing.
- `sqlite_scanner` - To read and write to SQLite databases.
- `mysql` - To read from and write to MySQL databases.
- `postgres` - To read from and write to PostgreSQL databases.
- `sqlite` - To read from and write to SQLite databases.
- ERPL - DuckDB SAP connector using RFC, ODP, or BICS.
- `vss` - Add support for vector similarity search.
- Kùzu - Scan DuckDB tables in Kùzu, an embeddable property graph database management system.
- Official Extensions - Official DuckDB extensions.
- `fts` - To support full text search.
-
- Lance - Integrate Lance (modern columnar data format for ML implemented in Rust) with DuckDB.
-
-
Installers
- DuckDB version manager (`duckman`) - platform installer and version manager for DuckDB.
- Snap package - Snap package of DuckDB, e.g., for Ubuntu Linux.
- Official installation page
- Brew formula
- Chocolatey packages - Chocolatey package for Windows.
-
Integrations
-
Web Clients
- data load tool - DuckDB destination - Extract and load data from APIs to DuckDB using dlt.
- target-duckdb - Load data to DuckDB based on Singer spec.
- Kestra DuckDB plugin - Run queries with DuckDB to schedule data transformations and process automations, and run event-driven anomaly detection pipelines.
- nodbi - NoSQL Database Connector for R, providing a common API across Elasticsearch, CouchDB, MongoDB, SQLite, PostgreSQL, and DuckDB.
-
Web Clients (WebAssembly)
- SQLFlow - Enables SQL-based stream processing, powered by DuckDB.
- nf-sqldb - This plugin provides support for interacting with SQL databases in Nextflow scripts.
- MindsDB - The platform for customizing AI from enterprise data. [MindsDB integrates with DuckDB](https://docs.mindsdb.com/integrations/data-integrations/duckdb), making data from DuckDB accessible to a diverse range of AI/ML models.
- sqlite2duckdb - A CLI tool to convert SQLite database to DuckDB.
- duckplyr - Drop-in replacement for dplyr in R that uses DuckDB for performance.
- kwack - In-Memory Analytics for Kafka using DuckDB.
- xlDuckDb - Excel addin to run DuckDB queries in Excel.
- Hasura DuckDB Connector - Allows connecting to a DuckDB database or a MotherDuck-hosted DuckDB database through a GraphQL API.
- Ontop - Allows to create Virtual Knowledge Graphs directly from DuckDB.
- The Quack is Back: SAS/ACCESS Meets DuckDB - SAS/ACCESS engine support for DuckDB.
- duckdb-teradata - Teradata connector.
- Kotlin DataFrame - Supports reading from DuckDB databases using JDBC.
- Sidemantic - A semantic layer with DuckDB integration.
- duckdb-tableau-connector - DuckDB Tableau connector.
- metabase_duckdb_driver - Metabase DuckDB Driver shipped as 3rd party plugin.
- duckdb-power-query-connector - DuckDB Power Query Custom Connector.
- dbt-duckdb - DuckDB dbt adapter.
- Cloudflare R2 Data Catalog connector - Connect to Cloudflare R2 Data Catalog with DuckDB.
- Enrich.sh - Lightweight event ingestion that stores JSON events as Parquet in R2, queryable directly from DuckDB.
- DuckDB VBA - Excel/VBA integration for DuckDB using the native C API through a lightweight DLL bridge. Supports Range/Array ingestion, dictionary lookups, Parquet/CSV/JSON workflows, SQLite/PostgreSQL connectivity, and Access-to-DuckDB migration.
- OrionBelt Semantic Layer - Open-source semantic sidecar that compiles YAML semantic models to optimized SQL across 8 engines including DuckDB. Ships with an `ob-duckdb` driver, REST + Arrow Flight SQL + Postgres wire surfaces, and a baked-in DuckDB quickstart on Colab.
- Enrich.sh - Lightweight event ingestion that stores JSON events as Parquet in R2, queryable directly from DuckDB.
- DuckDBExcelAddin - Native Excel XLL add-in for DuckDB with parameter binding, async execution and Excel range table functions.
- Bruin - Data pipeline CLI that runs SQL and Python transformations with built-in quality checks, using DuckDB as one of its supported platforms.
- ingestr - CLI tool to copy data between databases and SaaS sources, with DuckDB supported as both a source and a destination.
- omniload - Polyglot data loader for ETL, warehousing and more, based on dlt. Supports 140+ source/destination adapters. Derived from ingestr v0 (MIT).
- Scherlok - Data quality monitoring CLI that profiles tables and detects anomalies (volume, freshness, schema drift, NULL rates, distributions) without configuration; DuckDB is one of its connectors and backs its built-in demo.
-
- Airbyte DuckDB destination - Load data to DuckDB with Airbyte.
-
-
Libraries Powered by DuckDB
-
Fun & Demos
- Vane - A multimodal-native engine for AI workloads, built on a DuckDB fork with Python and SQL interfaces.
-
Web Clients
- PyGWalker - A Pyhon library that turns your dataframe into an interactive UI for data visualization.
- pg_lakehouse - PostgreSQL extension embedding DuckDB-in-Postgres for fast on-disk and remote object storage analytics from Postgres. Built as a Foreign Data Wrapper with full query pushdown to DuckDB.
-
- Mosaic - An extensible framework for linking databases and interactive views.
- Fugue - A unified interface for distributed computing. Fugue executes SQL, Python, Pandas, and Polars code on Spark, Dask and Ray without any rewrites.
- Simple-data-analysis - Easy-to-use and high-performance JavaScript library for data analysis.
- duckdb_fdw - DuckDB Foreign Data Wrapper for PostgreSQL.
- @jetblack/duckdb-react - A context manager for React and DuckDB-Wasm.
- QuackOSM - A Python library for downloading and transforming raw OpenStreetMap data into GeoParquet files.
- flapi - An API Framework that heavily relies on the power of DuckDB and DuckDB extensions. Ready to build performant and cost-efficient APIs on top of BigQuery or Snowflake for AI Agents and Data Apps.
- smallpond - A distributed data processing framework by DeepSeek built on DuckDB and 3FS.
- BemiDB - PostgreSQL read replica optimized for analytics, using DuckDB.
- jsqltranspiler - Rewrite BigQuery, Redshift, Snowflake and Databricks queries into DuckDB-compatible SQL.
- SQLRooms - An open-source react framework for single-node data analytics powered by DuckDB.
- Omilayers - A Python library for efficient data management that wraps the APIs of SQLite and DuckDB and offers a high-level interface analytical tasks that involve fast storage, processing and retrieval of data.
- Unleasharp.DB.DuckDB - Lightweight DuckDB query-building client for C#.
- Narwhals - Lightweight and extensible compatibility layer between dataframe libraries, supports DuckDB.
-
Programming Languages
Categories
Tools Powered by DuckDB
83
Media
79
Extensions
71
Client APIs
36
Integrations
32
Resources
30
SQL Clients and IDE that Support DuckDB
22
DuckDB Clients and UIs
21
Libraries Powered by DuckDB
20
Projects Powered by DuckDB
17
Client-Server Setups
13
Installers
5
Backends
4
Tutorials
2
Logos and Icons
2
Newsletters
2
Chat with this page
1
Sub Categories
Web Clients (WebAssembly)
98
Talks
35
[Community Extensions](https://duckdb.org/community_extensions/)
33
Blog Posts
32
Web Clients
29
Other Extensions
17
Podcasts
9
[Core Extensions](https://duckdb.org/docs/stable/core_extensions/overview)
6
Extension Statistics
4
Fun & Demos
3
Books
3
Business Intelligence & Dashboards
1
Product, Web & Application Analytics
1
Data Exploration & Visualization
1
Query Engines, Federation & Warehouses
1
Keywords
duckdb
75
sql
26
duckdb-extension
17
analytics
16
python
15
parquet
14
database
13
snowflake
11
postgresql
10
olap
9
data-engineering
9
bigquery
9
data-science
8
mysql
8
data
8
data-analysis
7
rust
7
sqlite
7
postgres
7
ai
6
etl
6
dbt
5
cli
5
mcp
5
go
5
excel
5
clickhouse
5
llm
4
object-storage
4
geospatial
4
pandas
4
polars
4
databricks
4
csv
4
data-visualization
4
golang
4
cpp
3
redshift
3
analytics-engineering
3
arrow
3
mariadb
3
mcp-server
3
semantic-layer
3
open-source
3
c
3
self-hosted
3
docker
3
data-quality
3
data-lake
3
machine-learning
3