Awesome DuckDB
A curated list of awesome DuckDB libraries, tools and resources.
DuckDB is an analytical in-process SQL database management system.
DuckDB 1.2.0 was released on 2025-02-05: see the announcement blog post.
Chat with this page
You can chat with this page’s content on HuggingChat.
Contents
Resources
Installers
Newsletters
Logos and Icons
- Logos - DuckDB logos.
- Iconify - Monochrome DuckDB icon in Iconify.
Client APIs
- Rill Data - Tool for effortlessly transforming data sets into powerful, opinionated dashboards using SQL.
- Ibis Project - A DataFrame API for interacting with DuckDB (and other compute engines).
- Boiling Data - Serverless data analytics overlay on top of S3 Data Lakes.
- Hex Dataframe SQL - Hex’s Dataframe SQL cells are powered by DuckDB.
- Mode - Mode uses DuckDB for their in-memory data engine.
- VulcanSQL - DuckDB can be used as a caching layer or a data connector in VulcanSQL, a Data API framework for data folks to create REST APIs by writing SQL templates.
- Tad - A fast, free, cross-platform tabular data viewer application powered by DuckDB.
- Honeycomb Maps - A browser-based geospatial analysis tool leveraging DuckDB-Wasm.
- Bauplan - A serverless data transformation platform for data lakes.
- Malloy - Malloy is an experimental language for describing data relationships and transformations. Malloy connects to BigQuery, Snowflake, Trino, and Postgres, and natively supports DuckDB.
- Evidence - Generate reports using SQL and markdown. The DuckDB connector allows querying across DuckDB, CSV, Parquet and JSON.
- Latitude - Latitude uses DuckDB to power data snapshots. Drop a CSV file and query it with SQL at the speed of light.
- Census - Census’s dataset diffing for incremental syncs is powered by DuckDB.
- Huey - Blazing-fast & intuitive pivot tables on Parquet, CSV, JSON files and DuckDB tables in the browser based on DuckDB-Wasm. Open source (MIT). Zero install!
- Parquet Explorer - Visual Studio Code extension for exploring Parquet files with SQL, powered by DuckDB.
- DQOps - Data quality platform for data engineers, data quality teams and data operations.
- DatalakeStudio - Load, explore, transform your datasets and expose them via API. Integration with external APIs, S3, PostgreSQL and ChatGPT.
- Spice.ai - A unified SQL query interface and portable runtime to locally materialize (using an embedded DuckDB), accelerate, and query datasets from any database, data warehouse, or data lake.
- Definite - Definite pulls all your data into a single place for analytics and dashboards. No engineering or SQL required. Get a managed data warehouse (DuckDB), ELT, data modeling / transformations and BI in a single platform.
- Amphi ETL - Low-code data pipelines for structured and unstructured data. SQL transformations are powered by DuckDB.
- Quackpipe - Serverless OLAP API/UI built on top of DuckDB with basic ClickHouse API compatibility and MotherDuck support.
- UniverSQL - An implementation of Snowflake API, enables running queries on Snowflake tables locally with DuckDB without a running warehouse.
- Whereabouts - Fast, accurate, open-source geocoding in Python, using DuckDB.
- Phoenix Analytics - Plug and play analytics for Phoenix applications, powered by DuckDB.
- SQLGlot - Python transpiler that translates between 24 different SQL dialects including DuckDB.
- yato - The smallest DuckDB SQL orchestrator on Earth.
- SQLMesh - A next-generation data transformation and modeling framework with support for DuckDB connections for state, transformations & running unit tests locally.
- ADPivot - No code tool built on top of DuckDB-Wasm and Pyodide that helps build pivot tables from databases of any size with a few clicks.
- Kepler.gl - Kepler.gl is a powerful open source geospatial analysis tool for large-scale data sets, now embeds duckdb wasm to create geospatial layers.
- duckdb.yazi - Preview csv/tsv, json, and Parquet files in the yazi file manager using duckdb. View the raw data, or a “summarized” view with data-types, min, max, avg etc. for all columns.
- Greybeam - Routes your Snowflake queries to a DuckDB powered warehouse to reduce costs and speed up queries.
Backends
- 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.
Libraries Powered by 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.
- Splink - A free Python library for fast, accurate data deduplication and record linkage.
- 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.
- PyGWalker - A Python library that turns your dataframe into an interactive UI for data visualization.
- 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.
DuckDB Clients and UIs
Web Clients (WebAssembly)
- Online DuckDB Shell - Online DuckDB shell powered by DuckDB-Wasm.
- SQL Workbench - DuckDB-Wasm based SQL Workbench for running queries on local or remote data, being able to show data as tables or visually as graphs, and sharing queries via URLs.
- Sekuel Playground - Query your local Parquet, CSV, JSON. Your data will not be sent out of the device you are using.
- Codapi - Embed executable code snippets directly into your product documentation, online course or blog post.
- QuackDB - Open-source online DuckDB SQL playground and editor.
- Sidequery - Sidequery is a privacy-preserving DuckDB-powered query editor & data exploration tool for local & remote data.
- 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.
- SQLRooms – React app framework for small to mid-sized data analytics 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.
SQL Clients and IDE that Support DuckDB
- Harlequin - The DuckDB IDE (TUI) for your terminal.
- qStudio - A free SQL tool specialized for data analysts. It runs on every operating system and allows easy browsing of tables and charting of results.
- DuckDB SQL Tools - Free DuckDB SQL Tools for VS Code IDE. Premium version available with advanced features.
- VSCode SQLTools (free) - Free open-source VSCode extension to query and explore your DuckDB databases with latest DuckDB support.
- DBeaver - DBeaver is a universal database access and development tool that can be used to connect almost any type of database.
- DataGrip - Paid SQL IDE by JetBrains that supports many different database technologies, including DuckDB.
- Duckling - A fast viewer for CSV/Parquet files and DuckDB/SQLite, based on Tauri.
- rsql - CLI for DuckDB, LibSQL, MariaDB, MySQL, PostgreSQL, SQLite3 and SQL Server.
- SQL DATA LENS - A lightweight, commercial SQL IDE that supports different DBMS, including DuckDB. The focus is on performance and special DBMS features.
- Dataflare - Simple easy-to-use database manager, supports DuckDB, PostgreSQL, MySQL, SQL Server, SQLite etc.
Projects Powered by DuckDB
Integrations
- dbt-duckdb - DuckDB dbt adapter.
- 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.
- Airbyte DuckDB destination - Load data to DuckDB with Airbyte.
- Kestra DuckDB plugin - Run queries with DuckDB to schedule data transformations and process automations and run event-driven anomaly detection pipelines.
- 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, making data from DuckDB accessible to a diverse range of AI/ML models.
- sqlite2duckdb - A CLI tool to convert SQLite database to DuckDB.
- nodbi - NoSQL Database Connector for R, providing a common API across Elasticsearch, CouchDB, MongoDB, SQLite, PostgreSQL, and DuckDB.
- duckplyr - Drop-in replacement for dplyr in R that uses DuckDB for performance.
- kwack - In-Memory Analytics for Kafka using DuckDB.
- PSDuckDB - A PowerShell module for DuckDB integration.
- duckdb-tableau-connector - DuckDB Tableau connector.
- duckdb-power-query-connector - DuckDB Power Query Custom Connector.
- metabase_duckdb_driver - Metabase DuckDB Driver shipped as 3rd party plugin.
- 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.
- jOOQ - Type safe querying of DuckDB (and many other RDBMS) from Java. A transpiler from and to DuckDB is also available.
- manifold-sql (DuckDB for Java) - Use native DuckDB SQL of any complexity directly & type-safely in Java source with comprehensive IntelliJ support.
Client-Server Setups
Extensions
Official DuckDB extensions, which can installed via INSTALL ⟨extension_name⟩
.
arrow
- A zero-copy data integration between Apache Arrow and DuckDB.
avro
- For reading Avro files.
aws
- For handling AWS credentials.
azure
- For using the Azure Blob storage.
delta
- For Delta Lake support.
fts
- To support full-text search.
iceberg
- For reading Iceberg tables.
inet
- For storing and handling IPv4 and IPv6 Internet addresses.
mysql
- To read from and write to MySQL databases.
postgres
- To read from and write to PostgreSQL databases.
spatial
- Enables geospatial processing.
sqlite
- To read from and write to SQLite databases.
vss
- Add support for vector similarity search.
Community-contributed DuckDB extensions, which can be installed via INSTALL ⟨extension_name⟩ FROM community
.
bigquery
- Integrates DuckDB with Google BigQuery, allowing direct querying and management of BigQuery datasets.
chsql
- ClickHouse SQL Dialect macros for DuckDB.
crypto
- Cryptographic hash functions and HMAC.
duckpgq
- Add supports for SQL/PGQ (Property Graph Queries) introduced in the SQL:2023 standard.
evalexpr_rhai
- Evaluates the Rhai 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.
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.
- ERPL - DuckDB SAP connector using RFC, ODP, or BICS.
- KĂązu - Scan DuckDB tables in KĂązu, an embeddable property graph database management system.
- 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.
Extension Statistics
Talks
Podcasts
Blog Posts
- Duck Takes Flight: Streaming Data in DuckDB - Adding concurrent read/write to DuckDB with Arrow Flight.
- Modern Data Stack in a Box - Fast, free, and open-source Modern Data Stack deployed on a laptop using the combination of DuckDB, Meltano, dbt, and Apache Superset.
- How to use DuckDB, Motherduck and Kestra for ETL - How DuckDB can transform data, mask sensitive PII information, detect anomalies in event-driven workflows, and streamline reporting use cases.
- DuckDB vs. MotherDuck — how do they compare - What are the key differences between them, and when to choose each of these options.
- Building DuckDB Extensions with Zig and Nix - For Nix users and Zig developers familiar with DuckDB looking to extend its capabilities with custom extensions.
- Exploring StarCraft 2 data with Airflow, DuckDB and Streamlit - Example project using DuckDB to persist API data, but also explains how to use DuckDB as a versatile data manipulation tool in data wrangling scripts.
- DuckDB: The Rising Star in the Big Data Landscape
- How to Make a DuckDB Extension for a Table Function? - How to make a DuckDB extension to fetch data from external sources.
- Putting DuckDB in Postgres to Query Iceberg - How ParadeDB embedded DuckDB in Postgres to achieve fast analytics and Apache Iceberg compatibility from Postgres.
- DuckDB Doesn’t Need Data To Be a Database - How DuckDB can provide a view over data stored in S3.
- Securing DuckDB, Improving Startup Time, and Working Offline - How to set up DuckDB and how to work with extensions in an offline (and potentially sensitive) environment.
- Datalore 2025.2 Is Out With Report Tabs, Extended DuckDB Support, and Snowflake Key Pair Authentication - Improved DuckDB support in JetBrains’ Datalore collaborative data science platform
Books
- DuckDB in Action - DuckDB in Action will show you how to quickly get your hands dirty with DuckDB.
- Getting Started with DuckDB - A practical guide for accelerating your data science, data analytics, and data engineering workflows.
Contribute
Contributions welcome! Read the contribution guidelines first.