Runs queries directly on files without importing. Supports Parquet, CSV, JSON, Excel. No server process needed. Compatible with PostgreSQL SQL dialect.
Notes
Single-file database. CLI can also connect to MotherDuck cloud service. Supports extensions for additional formats and functions.
Used by
Google, Meta, Airbnb, MotherDuck
Version
Latest known: 1.5.3 (2026-05-20)
Try it
Aggregate the Iris CSV
Run a GROUP BY query against the selected Iris dataset using DuckDB's automatic CSV reader. No import; DuckDB detects the dialect from the file extension.
Query nested JSON with UNNEST
Read users.json (top-level object containing a 'users' array) and use DuckDB's UNNEST to flatten the array into rows. Filters to active users with a balance over $4000.
Read an Excel workbook directly
Use DuckDB's built-in Excel reader to query sample.xlsx without conversion. Returns every row from the 'Inventory' sheet.
# DuckDB - Help
Source: https://duckdb.org/
```
Usage: C:\CFusionExtra\duckdb\duckdb.exe [OPTIONS] FILENAME [SQL]
FILENAME is the name of a DuckDB database. A new database is created
if the file does not previously exist.
OPTIONS include:
-ascii set output mode to 'ascii'
-bail stop after hitting an error
-batch force batch I/O
-box set output mode to 'box'
-column set output mode to 'column'
-cmd COMMAND run "COMMAND" before reading stdin
-c COMMAND run "COMMAND" and exit
-csv set output mode to 'csv'
-echo print commands before execution
-f FILENAME read/process named file and exit
-init FILENAME read/process named file
-[no]header turn headers on or off
-help show this message
-html set output mode to HTML
-interactive force interactive I/O
-json set output mode to 'json'
-line set output mode to 'line'
-list set output mode to 'list'
-markdown set output mode to 'markdown'
-newline SEP set output row separator. Default: '\n'
-no-stdin exit after processing options instead of reading stdin
-nullvalue TEXT set text string for NULL values. Default 'NULL'
-quote set output mode to 'quote'
-readonly open the database read-only
-s COMMAND run "COMMAND" and exit
-safe enable safe-mode
-separator SEP set output column separator. Default: '|'
-storage-version V database storage compatibility version to use. Default: 'v0.10.0'
-table set output mode to 'table'
-ui launches a web interface using the ui extension (configurable with .ui_command)
-unredacted allow printing unredacted secrets
-unsigned allow loading of unsigned extensions
-version show DuckDB version
```