DuckDB Community Extensions Directory
DuckDB extensions add extra functionality to DuckDB. As the number of community extensions continues to grow, organizing them into categories can make it easier to explore and discover their capabilities. Suggestions or feedback for improvement are always welcome.
Advanced Data Structures
Specialized data structures for efficient computation
Graph
Graph algorithms and specialized spatial curves
Probabilistic
Space-efficient probabilistic data structures for approximate computations
bitfilters
- Probabilistic set membership filters
Cloud Storage
Specialized file system extensions for cloud storage providers
Cloud Providers
Direct integration with cloud storage services
Data Formats & File Reading
Extensions for reading and writing various file formats and data structures
Archives
Access and read files within compressed archive formats
Scientific & Specialized
Read specialized data formats used in scientific computing and specific domains
Spreadsheets & Office
Read and process spreadsheet files including Excel, OpenDocument, and PowerBI formats
pbix
- Parse PowerBI data modelsrusty_sheet
- Excel/OpenDocument spreadsheet readersheetreader
- Fast XLSX file parser
Web & Markup
Process and extract data from web-based formats like HTML, XML, YAML, and Markdown
Data Science & AI
Machine learning, AI integration, and advanced analytics capabilities
LLM Integration
Integrate large language models and AI capabilities into SQL workflows
flock
- LLM and RAG extension for SQLopen_prompt
- Interact with LLMs from SQL
Vector Search & Embeddings
Vector similarity search and text embeddings for semantic analysis
faiss
- Vector search with FAISS indicesquackformers
- BERT-based embeddings for RAG
Database Connectivity
Connect DuckDB to external databases and data warehouses
Cloud Data Warehouses
Direct integration with cloud-based analytical databases like BigQuery, Snowflake, and ClickHouse
bigquery
- Google BigQuery integrationchsql_native
- Native ClickHouse client and file readersnowflake
- Snowflake integration via ADBC
Key-Value & NoSQL
Connect to NoSQL databases and key-value stores
redis
- Redis-compatible client for DuckDB
ODBC & General
Generic database connectivity through ODBC and specialized protocols
Development Tools
Utilities for development, debugging, and system integration
File System
Navigate and interact with the file system using SQL
file_dialog
- Native file picker dialoghostfs
- Navigate filesystem using SQLshellfs
- Use shell commands for input/output
Integration Protocols
Integrate with external systems using standardized protocols
duckdb_mcp
- Model Context Protocol integration
Profiling & Monitoring
Profile performance and monitor system behavior
Version Control
Git integration and version-aware data analysis
duck_tails
- Git-aware data analysis capabilities
Extension Templates
Example extensions demonstrating how to build DuckDB extensions
Examples
Hello world examples in various programming languages
capi_quack
- C/C++ C API template examplequack
- Hello world extension templaterusty_quack
- Rust extension template example
Financial & Blockchain
Financial data analysis and blockchain integration
Geospatial
Extensions for working with geographic and spatial data
Geospatial Formats
Read and process geospatial file formats like GeoTIFF and GeoJSON
geotiff
- Read GeoTIFF rasters via GDALst_read_multi
- Read multiple geospatial files
Spatial Analysis
Perform spatial indexing, geocoding, and geographic computations
Network & Web
Extensions for network analysis, web scraping, and HTTP operations
HTTP & Web Services
HTTP clients, servers, and web service integrations
curl_httpfs
- Enhanced httpfs with HTTP/2 and connection poolinghttp_client
- HTTP client for web requestshttpserver
- Transform DuckDB into HTTP API server
Network Analysis
Analyze network traffic, packets, and perform DNS operations
dns
- DNS lookups and reverse lookupspcap_reader
- Read PCAP network capture fileswireduck
- PCAP dissection using Wireshark
Web Scraping & Content
Extract and process data from web pages and online services
Performance & Optimization
Improve query performance through caching and optimization
Caching
Cache remote data and improve repeated query performance
cache_httpfs
- Read cache for httpfs with metadata cachingquackstore
- Smart block-based caching for remote files
Observability
Monitor and analyze I/O operations and performance metrics
observefs
- IO observability for filesystems
Query Languages
Alternative query languages and SQL dialects
Alternative Syntax
Use alternative query languages like PRQL and piped SQL
Query Utilities
Tools for parsing, analyzing, and transforming SQL queries
parser_tools
- Parse and analyze SQL queriespivot_table
- Spreadsheet-style pivot tablessubstrait
- Execute Substrait query plans
SQL Compatibility
Emulate SQL dialects from other database systems
chsql
- ClickHouse SQL macros and functions
Scripting
Execute scripts in various programming languages within SQL
Embedded Languages
Run JavaScript, Lua, and other scripting languages in queries
evalexpr_rhai
- Evaluate Rhai scripting languagelua
- Evaluate Lua scripts in queriesquickjs
- Execute JavaScript code in SQL
Security & Authentication
Cryptographic functions, authentication, and secure data handling
Authentication & Secrets
Handle authentication tokens and secure secrets storage
boilstream
- Secure remote secrets storagejwt
- Decode and work with JWT tokens in SQL
Cryptography
Hash functions, encryption, and cryptographic operations
crypto
- Cryptographic hash functions and HMAC
Statistics & Mathematics
Statistical functions, probability distributions, and mathematical optimization
Optimization
Mathematical optimization and linear programming capabilities
highs
- Linear optimization solver
Statistical Analysis
Advanced statistical distributions, approximations, and probabilistic data structures
datasketches
- Approximate distinct counts and quantilesstochastic
- Statistical distribution functions
Streaming & Events
Real-time data streaming and event processing
Text Processing
String manipulation, fuzzy matching, and text analysis functions
Fuzzy Matching & Phonetics
Fuzzy string matching, phonetic algorithms, and similarity scoring
fuzzycomplete
- Fuzzy matching based autocompletionrapidfuzz
- High-performance fuzzy string matchingsplink_udfs
- Phonetic and text matching for record linkage
Hashing
Fast non-cryptographic hash functions for strings and data structures
Standardization
Standardize data for consistency and improved analysis
title_mapper
- Standarizes job titles to Bureau of Labor Statistics (BLS) titles.
Unique Identifiers
Generate and work with various types of unique identifiers
ID Generation
Time-sortable and specialized unique identifier types
Utilities
Miscellaneous utilities and helper functions
File Utilities
Classify and analyze files based on content
magic
- Classify files using libmagic
Fun & Educational
Entertaining and educational datasets
psyduck
- Pokemon data in DuckDB
Macro Loading
Load and share SQL macros
webmacro
- Load DuckDB macros from the web
Testing
Tools for testing and chaos engineering
chaos
- Testing utility for exceptions and signals
Visualization
Create charts, plots, and visual representations of data
Charts & Plots
Generate interactive and text-based visualizations from SQL queries