Query Plan Visualizer
Press Explain and see how a query runs: every step of its plan in plain words, with the rows it produced and the time it took, the slowest step marked and notes on what made it slow. Runs on your own CSV or Parquet files, inside this tab — nothing is uploaded.
Your data
Files are read straight off your disk by the engine in this tab. They are not copied anywhere, and closing the page discards everything.
Your query
Result
What this is, and what it is not
This is an engine in your browser, not your warehouse. Its SQL is close to PostgreSQL, so Athena, T-SQL and Oracle specifics will not run here — use it to check that logic is right against sample rows, then take the query to the engine it belongs to.
Nothing is uploaded, and that is checkable rather than promised. The engine itself is served from this same origin, so even loading it makes no request to anyone else. Watch the network tab while you drop a file: it stays silent.
How to Use Query Plan Visualizer
How to read a query plan and find the step that makes a query slow.
Write or paste a query
Start from the example, or drop a CSV, Parquet or JSON file — it becomes a table you can query. The file is read inside the tab.
Press Explain
The query runs once with profiling on. Only a single statement that reads data is explained, because profiling really runs it.
Read the plan
Each step in plain words — scan, filter, join, group, sort — with the rows it produced, its own time and its share of the total. The slowest step is marked, with notes on what made it slow.
Frequently Asked Questions
Common questions about privacy, supported dialects, and how Query Plan Visualizer works under the hood.
What is a query plan?
The steps a database takes to answer a query: which tables it reads, in what order it joins them, where it filters, groups and sorts. EXPLAIN shows the plan; EXPLAIN ANALYZE also runs the query and records how many rows and how much time each step took — which is what this shows.
How do I find why a query is slow?
Press Explain and look at the step marked slowest, then at the notes beside it. The usual causes are flagged for you: a join that compares every row with every row, a scan that reads far more rows than it keeps, and row estimates more than ten times off. The Query Optimizer’s findings for the same query are shown alongside.
Can I paste a plan from my own database?
Not yet. The plan comes from running the query in the SQL engine inside this tab, on files you drop in. That keeps your data on your machine, but it means a query against your production database has to be run on an export of the tables it reads.
Is my data uploaded?
No. The files are read by your browser and the query runs inside the tab. Nothing is sent to a server.