One file in, one diagram out

Reverse-Engineer and Query DuckDB Files with DbSchema

DuckDB packs a columnar analytical engine into a single file and queries Parquet, CSV, and JSON right where they sit. DbSchema opens that file — no server, no setup — and adds a schema diagram, an SQL editor, and documentation around it.

  • Double duty: browse native tables and views, or query external files in place
  • The JDBC driver downloads itself on first connect — nothing to install by hand
  • Iterate on window functions, PIVOT, and read_parquet() outside a notebook
  • Check what a pipeline actually wrote before anyone builds on top of it
Free Community Edition No signup required 15-day Architect trial included
Free Download

Trusted by teams at

Someone Sent You a .duckdb File
Now What?

DuckDB files circulate the way spreadsheets used to: a pipeline writes one, a data scientist shares one, an analysis ends up archived as one. Opening it normally means writing a Python or R snippet just to list the tables.

DbSchema skips the snippet: open the file, get tables, views, and column definitions on a canvas, and start querying.

Open, Analyze & Share
What the File Contains

A desktop workbench for the database that fits in an email attachment.

Open a DuckDB file and reverse engineer its schema
Tables and Views, Straight From the File

DbSchema reads the catalog of a DuckDB file and diagrams it — including schemas inferred from Parquet and CSV loads — before you write any SQL at all.

Run analytical DuckDB SQL in the DbSchema editor
Analytical SQL Without a Notebook

Window functions, PIVOT and UNPIVOT, read_csv_auto() over raw files — write it, run it, inspect the grid, export the result. No kernel restarts involved.

Document DuckDB table schemas as HTML
Give the Artifact a Manual

Export HTML documentation of the tables and views inside the file, so the analyst who receives it next month knows what every column means.

Your Pipeline Code Is in Git
Put Its Schema There Too

Data engineering repos version transformations, configs, and tests — the table structures they produce deserve the same. Keep the DbSchema model next to the pipeline code, diff schema changes in pull requests, and reconcile the model against any DuckDB file.

DuckDB schema synchronization between the Git model and the database file

DuckDB Connection Facts

Pick DuckDB in the connection dialog and DbSchema downloads the JDBC driver automatically. The URL is jdbc:duckdb:/path/to/file.duckdb for a database file, or plain jdbc:duckdb: for a throwaway in-memory session. DuckDB enforces single-writer access: close any other process holding the file — a Python duckdb.connect() session, for instance — or the connection fails with a lock error. More on the DuckDB JDBC driver page.

See Inside That DuckDB File

Grab the installer — Community stays free, Architect is yours for 15 days, no account.

Frequently asked questions

Yes. DbSchema connects to a DuckDB file via JDBC, reads the schema metadata, and renders tables, views, and column definitions on a diagram canvas.

No. DbSchema downloads the DuckDB JDBC driver automatically when you create the connection, so there is no manual driver setup.

No — DuckDB enforces single-writer access, so any other process holding the file open (such as a Python duckdb.connect() session) must be closed first, or the connection fails with a lock error.

Teams working with DuckDB often use these engines too. Explore dedicated guides and JDBC setup for each.

Browse all 100+ supported databases