DuckERD CLI

May 16, 2026 ยท View on GitHub

A CLI tool for generating ERD diagrams from DuckDB databases.

Prerequisites

  • Node.js (v18.19.0 or later)

Installation

To install the CLI tool, run:

npm install -g duckerd

Usage

duckerd [options]

Generate an ERD diagram of the database schemas.

Options:

  • -d, --database <path>: Path to the database file
  • -t, --theme [theme]: Theme of the chart (choices: default, forest, dark, neutral, default: default)
  • -o, --output <path>: Path to the output file
  • -m, --mmd-output <path>: Path to write the Mermaid source (.mmd) file (default: cleaned up after rendering)
  • -w, --width [width]: Width of the page (default: 1024)
  • -H, --height [height]: Height of the page (default: 768)
  • -f, --outputFormat [format]: Output format for the generated image (choices: svg, png, pdf, default: png)
  • -e, --expand-structs: Expand STRUCT columns into individual sub-field rows (e.g. full_name STRUCT(given VARCHAR, family VARCHAR) becomes full_name__given and full_name__family)

Example:

duckerd -d ./mydb.duckdb -o ./erd.png -f png -t neutral -w 1600

It's possible that you need to re-run the command after the first execution, because the DuckERD CLI automatically installs the @mermaid-js/mermaid-cli package globally when it's missing on your system.

Usage example

Download the example database

For this example we use the AWS IAM database from the AWS IAM Data project.

curl -LO https://raw.githubusercontent.com/tobilg/aws-iam-data/main/data/db/iam.duckdb

Generate the ERD

Then, we can generate the ERD as PNG with the neutral theme and otherwise default settings:

duckerd -d ./iam.duckdb -f png -t neutral

Result

ERD of the AWS IAM DuckDB database