New in 0.4.0Agents work within limits, you approve the changes

Query CSV, Parquet, JSON and Excel files with DuckDB, right where they sit on your computer. No server, upload or account needed.

Free and open source. Also for Windows and Linux.

A person points at a chart on a shared screen while the DuckLocal duck and an agent robot work beside them
  • DuckDB inside the app
  • Headless JSON CLI for agents
  • Mac, Windows, Linux
  • Open source, Apache-2.0
Claude Code~/sales-analysis
> Build a dashboard from sales.csv.
⏺ Bash(ducklocal open sales.dash)
Also works with
  • Codex
  • DeepSeek
  • Cursor
  • Gemini
  • Qwen
SchemaHistory
  • Local files1
  • sales224
  • dateDATE
  • channelVARCHAR
  • regionVARCHAR
  • ordersBIGINT
  • revenueDOUBLE
sales
sales.dash
Revenue
902,673.36
Orders
12,088
Regions
4

Revenue by channel

revenue by channel · Click to filter

300k150k0

Daily revenue

revenue by date

70.3k0
09-0109-0709-14

The numbers behind it

#daterevenue
12026-09-0162,598.48
22026-09-0257,985.04
32026-09-0363,822.32
42026-09-0466,597.12
52026-09-0570,272.00
62026-09-0669,695.60
72026-09-0764,956.32
82026-09-0869,076.72
92026-09-0968,762.00
102026-09-1057,039.12
112026-09-1165,157.92
122026-09-1263,551.60
132026-09-1355,106.72
142026-09-1468,052.40
ConnectedDuckLocal

Click a bar to filter it, or the speech bubble to leave a comment.

Your agent in the terminal.
Your data in DuckLocal.

Your agent writes a .dash file. You review it in DuckLocal and comment right on the charts.

CLI & agent skill ↗Dashboard guide ↗
  • ducklocal schema

    Look before querying

    Lists every file, table and column. --stats adds exact per-column statistics.

  • ducklocal query

    JSON, not guesses

    One SQL statement in, bounded JSON out. A cut-off result says so.

  • ducklocal open

    Put it in front of you

    Sends a query or dashboard to the open window. --state reads back what you see.

  • ducklocal check

    A dashboard is a text file

    .dash files diff and commit like code, and are checked before you see them.

  • ducklocal comments

    Review on the chart

    Comment on a chart. The agent edits it, replies and resolves the thread.

  • ducklocal presence

    See what the agent is doing

    The window shows which chart the agent is reading or editing.

Connect your agent in three steps

  1. In DuckLocal, open Command line & AI… and click Install command to put ducklocal on your PATH.
  2. Click Add to Claude Code to install the official skill. For Codex or Cursor, click Copy brief and paste it in.
  3. Hand the task to your agent in the terminal, then review the result and comment in DuckLocal.
# Command line & AI… → Install command → Add to Claude Code
$ claude
❯ Build a sales dashboard from sales.csv and open it in DuckLocal.
❯ Address the comments on sales.dash.

From a file to an answer

  1. Drop in a file

    Drag in a CSV, a spreadsheet or a whole folder. There is no import step.

  2. It’s a table already

    sales.csv becomes the table sales, with its columns in the sidebar. The file is never copied or changed.

  3. Ask with SQL

    Press ⌘↵ for the answer, then chart it or save it as CSV or Parquet.

Opens what you already have

Everything opens where it is.

  • .csvComma-separated
  • .tsvTab-separated
  • .parquetColumnar, fast to read
  • .json .ndjsonDocuments, or one record per line
  • .xlsx .xls .odsOne table per sheet
  • .duckdbOpens as the database, or attaches beside it
  • s3://Buckets and S3-compatible storage
  • folder/Every data file inside, or a pattern like *.csv

After the first answer

Find out why a query is slow, what a column holds and where a table lives.

SQL editor · Results and charts · Data sources

  • Profile a query to see which step took the time.
  • See the nulls, distinct values and range of every column in a result.
  • Attach more DuckDB or SQLite databases, and manage extensions from the sidebar.
  • On a Mac, open Parquet and DuckDB files from Finder, or preview them with Quick Look.

Your data stays yours

  • Files are read where they are, never copied or uploaded.
  • There is no account, telemetry or cloud service.
  • Nothing goes online until you turn it on.
  • Open source under Apache-2.0, so every line is there to read.

Questions people ask

What is DuckLocal?

A free, open-source desktop app for querying the data files on your computer with SQL. DuckDB runs inside the app, so every file you drop in is a table you can query.

Does DuckLocal upload my data?

No. Files are read where they are and are never copied, uploaded or changed. There is no account and no telemetry.

Which file formats can it open?

CSV, TSV, Parquet, JSON and NDJSON, Excel and OpenDocument spreadsheets, DuckDB databases, whole folders, and files in Amazon S3 or S3-compatible storage.

Which systems does it run on?

macOS 12 or later on Apple silicon, 64-bit Windows 10 or later, and x86_64 Linux with glibc 2.35 or newer.

How large can my data be?

DuckDB queries the files directly, without loading them into the app first. The results grid shows up to 100,000 rows, and exports write the full result.

Can AI agents like Claude Code or Codex use it?

Yes. The ducklocal command runs SQL from the terminal and prints JSON. The official skill teaches an agent to check the schema before it queries.

Try it on your own files

Download DuckLocal, drop in a file and run a query.