Query your files with SQL.
Or just ask in plain English.

Drop a CSV or JSON file and write SQL — or switch to Ask mode and type a question in plain English. No uploads, no database setup. Your data never leaves your browser.

SQL EditorAsk in plain EnglishINSERT · UPDATE · DELETEExport to CSV100% Private — No Uploads
Loading tool…

What is FileSQL?

FileSQL lets you query CSV and JSON files directly in your browser — no installation, no server, no database. Use the SQL tab to write queries like SELECT * FROM 'data.csv' WHERE country = 'US', or switch to the Ask tab and type a question in plain English — FileSQL generates and runs the SQL for you.

Ask in plain English

No SQL knowledge required. Switch to the Ask tab and type what you want to know. Chrome’s on-device AI (Gemini Nano) converts your question into a SQL query, which DuckDB executes locally for exact results. The generated SQL is always shown so you can inspect or edit it.

show me the top 10 customers by revenue
count rows by country
find all orders where status is pending
average price per category

Supported file formats

  • .csv — Comma-separated values, auto-detected headers and types
  • .json — JSON arrays of objects, each object becomes a row

Example queries

SELECT * FROM "data" LIMIT 100
SELECT country, COUNT(*) AS total FROM "users" GROUP BY country ORDER BY total DESC
SELECT * FROM "data" WHERE revenue > 10000 AND region = 'APAC'
SELECT AVG(price), MIN(price), MAX(price) FROM "products"

The table name is derived from your filename — drop sales_data.csv and the table becomes "sales_data". The current table name is always shown in the SQL tab header.

Edit data in-memory

Your file is loaded into a live in-memory DuckDB table, so INSERT, UPDATE, and DELETE all work — not just SELECT. Filter out bad rows, correct values, add new rows, then run a SELECT * and use the Export CSV button to download the result. Your original file is never modified — all changes are in-memory only and disappear when you close the tab.

DELETE FROM "data" WHERE status = 'cancelled'
UPDATE "data" SET region = 'EMEA' WHERE region = 'EU'
INSERT INTO "data" (id, name, revenue) VALUES (999, 'New', 5000)

Privacy & security

FileSQL processes everything client-side using DuckDB Wasm. Your files are loaded into an in-memory virtual filesystem in the browser — they are never uploaded to any server, and your original file is never modified. When you close the tab, all data is gone.

When you use Ask mode, your actual data rows are never seen by the AI. Only the column names and a small number of sample values (the schema) are passed to Gemini Nano — and Gemini Nano itself runs entirely on-device inside Chrome, with no network requests.