Your data stays local
Your files are processed entirely in your browser using DuckDB Wasm. Nothing is uploaded to any server.
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.
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.
Supported file formats
- .csv — Comma-separated values, auto-detected headers and types
- .json — JSON arrays of objects, each object becomes a row
Example queries
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.
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.