DuckDB Extensions Ecosystem
DuckDB keeps its core binary small and adds capability through extensions — separate modules you install and load on demand rather than always shipping in the base engine.
The Basic Pattern
INSTALL <extension_name>; -- downloads once, cached locallyLOAD <extension_name>; -- loads into the current sessionMost official extensions also autoload: referencing read_parquet(...) or an s3:// path triggers DuckDB to install and load the relevant extension automatically the first time it’s needed, without an explicit INSTALL/LOAD line.
Core Official Extensions
| Extension | Purpose |
|---|---|
httpfs | HTTP(S), S3, GCS, and Azure Blob access |
json | JSON reading, parsing, and functions |
parquet | Parquet read/write (built in, always available) |
spatial | Geospatial types (GEOMETRY), functions, and format readers (Shapefile, GeoJSON) |
fts | Full-text search — BM25-ranked search over text columns |
iceberg | Read Apache Iceberg tables |
delta | Read Delta Lake tables |
excel | Read/write .xlsx files directly |
postgres_scanner | Query a live Postgres database as if it were a DuckDB table |
sqlite_scanner | Query a SQLite file directly |
Example: Full-Text Search
INSTALL fts;LOAD fts;
PRAGMA create_fts_index('articles', 'id', 'title', 'body');
SELECT id, title, fts_main_articles.match_bm25(id, 'duckdb performance') AS scoreFROM articlesWHERE score IS NOT NULLORDER BY score DESC;Example: Querying a Live Postgres Table
INSTALL postgres;LOAD postgres;
ATTACH 'dbname=mydb user=postgres host=localhost' AS pg (TYPE postgres);SELECT * FROM pg.public.customers LIMIT 10;This lets DuckDB act as a federation layer — joining a live Postgres table to a local Parquet file to an S3-hosted CSV in a single query, without moving any of it into a permanent copy first.
Community Extensions
Beyond the official set maintained by DuckDB Labs, a growing community extension registry hosts third-party extensions (installed the same way, via INSTALL <name> FROM community) for things like additional geospatial formats, specialized compression codecs, and integrations with niche file formats. Browse the current list at duckdb.org/community_extensions.