// In-process file · analytics

DuckDB GUI for Mac, Windows and Linux

DuckDB is built into SQLly - there is nothing else to install. Point it at a .duckdb file or a scratch in-memory database, query Parquet and CSV files offline, and get real plans, row editing and compare tools on DuckDB's own catalog.

Opens
A .duckdb file (created if missing), or :memory:
Server
None - DuckDB is built into SQLly
Sign-in
None
Paste a URL
duckdb:/path/to/analytics.duckdb or duckdb::memory:

What SQLly does for DuckDB

DuckDB is an analytics engine that lives in a file, and SQLly treats it that way: it is compiled into the app, it reads your Parquet and CSV files where they sit, and the tools that make sense for an in-process database all work on DuckDB’s own catalog.

Nothing extra to install

DuckDB ships inside SQLly. Point a connection at a .duckdb file - a new one is created if it doesn’t exist - or use :memory: for a scratch database, and connect without credentials.

Supported engines β†’

Query Parquet, CSV and JSON files

read_parquet, read_csv and read_json work offline, and results stream into the grid with DuckDB’s types shown faithfully - lists, structs and maps appear as JSON text.

Streaming results β†’

EXPLAIN ANALYZE in a real viewer

DuckDB is one of the engines with both estimated and actual plans. Actual plans run EXPLAIN ANALYZE and show the real row counts and timings as findings, a tree and a diagram.

Query plans β†’

Edit rows in a DuckDB table

Right-click a result row for a generated edit form. SQLly works out which table a result came from using DuckDB’s own DESCRIBE and catalog, and runs the change as transactional DML.

Row editor β†’

Move data in and out

Data Transfer copies tables between DuckDB and your server databases, and Schema Compare, schema snapshots, Data Compare and the Test Data Generator all work on DuckDB files.

Data Transfer β†’

Run DuckDB on another machine

A bridged connection to a remote SQLly engine runs DuckDB on that machine - handy when the files you want to query live on a server, not your laptop.

Remote access β†’

Open a DuckDB database

  1. Download SQLly for macOS, Windows or Linux from the download page and open it.
  2. Double-click a .duckdb or .ddb file, or open it with SQLly from your file manager, and confirm the connection sheet.
  3. Or create a connection, pick DuckDB, and enter the file path or :memory: in the Server field. You can also paste duckdb:/path/to/analytics.duckdb, duckdb::memory: or a bare .duckdb path into the connection URL box.
  4. Connect and query. DuckDB connections carry their own badge on the welcome screen, and the explorer’s Maintenance menu offers VACUUM, ANALYZE and CHECKPOINT.

Every SQLly tool on DuckDB

This is the same engine matrix the app uses to enable or disable its menus, so what you read here is what you get. Where a tool doesn’t apply to DuckDB, the app says why - and so do we.

SQLly tools and whether they work on DuckDB
Tool DuckDB
Explorer, IntelliSense and hover cards Yes
Edit rows in the results grid Yes
Estimated execution plans Yes EXPLAIN (FORMAT JSON).
Actual (executed) plans Yes EXPLAIN ANALYZE (FORMAT JSON).
Server Dashboard Yes
Disk Usage and Object Browser Yes
Maintenance menu Yes VACUUM, ANALYZE, CHECKPOINT.
Schema Compare and Schema History Yes
Data Compare Yes
Data Transfer Yes
Test Data Generator Yes
Table Structure Editor Yes
Read-only connections Yes
Auto-rollback safety wrap Yes
Activity Monitor No DuckDB runs inside SQLly with no server sessions to monitor.
Query Insights No DuckDB keeps no query statistics store; profile with an actual plan.
Index Analyzer No DuckDB keeps no index usage counters.
Security editor (users, roles, grants) No DuckDB has no logins, users, or roles.
Backup / Restore No Copy the file, or run EXPORT DATABASE.
Create and drop database dialogs No Create a DuckDB file from New Connection.
Procedure Mode No Supports SQL Server and PostgreSQL only.
SQL Agent, Extended Events and guided designers No SQL Server and Azure SQL only.
SSH tunnels, proxies and Kubernetes port-forward No A local file; there is no server to tunnel to.

Questions about DuckDB in SQLly

Do I need to install DuckDB to use it in SQLly?

No. DuckDB support is built into SQLly. Choose DuckDB in the connection editor, enter a file path (a new file is created if it does not exist) or :memory: for a scratch database, and connect without credentials.

Can I query Parquet, CSV and JSON files with SQLly?

Yes. DuckDB's read_parquet, read_csv and read_json functions work offline inside a DuckDB connection, and the results stream into the grid like any other query. Lists, structs and maps appear as JSON text.

Does SQLly show DuckDB EXPLAIN ANALYZE plans?

Yes. DuckDB supports both estimated plans and actual plans, which run EXPLAIN ANALYZE and report real row counts and timings in SQLly's plan viewer.

Which SQLly tools do not apply to DuckDB?

Activity Monitor, Query Insights, Index Analyzer, Security and Backup / Restore have no DuckDB counterpart, and each says why: DuckDB runs inside SQLly with no server sessions, keeps no query statistics or index usage counters, has no users or roles, and is backed up by copying the file or running EXPORT DATABASE.

// try it on your own DuckDB

Bring your DuckDB home to the pig

SQLly is free to start on macOS, Windows and Linux, with no account required.