SQL for your data files, in your browser
OmniSelect FileSQL turns CSV, Excel, JSON, XML, YAML, Avro and Parquet files into SQL tables inside a browser tab. Filter, join, group and aggregate them with standard SQL, then export the result. Files are read into memory on your own machine: they are not uploaded, there is no account to create and nothing to install.
1. Add files
Click the File Select panel or drop files onto it, up to 26 at once. Each file becomes a table named by a letter from its filename, so orders.csv is O.
2. Write SQL
Use SELECT, WHERE, JOIN, GROUP BY and ORDER BY, then press Ctrl+Enter. No file to hand? Use Try sample data in the File Select panel.
3. Export
Download the result as CSV, JSON, Excel or Parquet. The file is generated in your browser and saved straight to your disk.
Supported formats
| Format | Extensions | How it becomes a table |
|---|---|---|
| CSV, TSV, text | .csv, .tsv, .txt | Choose the delimiter, quote character and line ending; skip rows; header row optional |
| Excel | .xlsx, .xls, .xlsm | Pick the sheet; skip rows; header row optional |
| JSON | .json | Nested objects become columns named by their path; arrays of objects become rows |
| JSON Lines | .jsonl, .ndjson | One record per line, flattened the same way as JSON |
| XML | .xml | Nested elements and attributes become columns |
| YAML | .yaml, .yml | Nested structures flattened the same way as JSON |
| Avro | .avro | Read with WebAssembly; uncompressed, deflate and snappy files |
| Parquet | .parquet | Read with WebAssembly, nested columns included |
Each file can be up to 50 MB and 1,000,000 rows. If a file is cut short, a notice says so above the results.
Drop in a file and run your first query.
Open the app →Check it yourself in 60 seconds
You do not have to take “nothing is uploaded” on trust. Your browser can show you.
- Open the app and let it finish loading, press F12 and open the Network tab.
- Clear the list.
- Add a file and run a query. The list stays empty: the file was read and queried without a single request.
- For the stronger test, turn off your Wi-Fi and do it again. Queries and exports still work.
Questions
Is it free?
Yes. The web version is free to use and needs no sign-up. Organisations that need an internal deployment, a written licence or a security review pack can get in touch.
Is my data stored anywhere?
No. Files are held in memory for as long as the tab is open and discarded when you close it. The tool writes nothing to local storage and sets no cookies.
What SQL can I use?
The engine is DuckDB, running inside your browser tab: SELECT with WHERE, inner and left JOIN, GROUP BY, HAVING, ORDER BY and LIMIT, aggregates such as COUNT, SUM and AVG, string functions such as UPPER and TRIM, and CASE and COALESCE. The How To Use guide has worked examples.
How big a file can it handle?
Up to 50 MB and 1,000,000 rows per file. Your own computer does the work, so its memory matters too. For data in the tens of gigabytes, a database is the right tool.
Does it work offline?
Yes, once the page has loaded: you can disconnect and keep adding files, running queries and exporting. Reloading the page needs the connection again. For machines with no network at all, see using SQL offline and air-gapped.
Can it read nested JSON and XML?
Yes. A nested field such as customer.name becomes a column you can query by its short name, name, or by its path with underscores, customer_name. Arrays of objects become one row per element.