About Filter a CSV With SQL
This page opens with a WHERE query on the sample orders: amount of at least 100 and ordered on or after 1 February 2025, biggest first. Conditions can be combined with AND, OR and NOT and compared with =, <>, <, >, BETWEEN, IN and LIKE. It is free, needs no sign-up and runs in your browser, so nothing you enter is uploaded.
3 of the 10 orders match: Monitor 249.00, Laptop 1199.00, Monitor 249.00. Dates are text in SQLite, so write them as 'YYYY-MM-DD' and the comparison works in date order.
How to use Filter a CSV With SQL
- Look at the Tables list to see the sample tables and their columns, or add your own CSV, TSV, XLSX, XLS or ODS files.
- Write a query in the SQL box, using the table and column names shown in the list.
- Press Run, or use Ctrl or Cmd with Enter.
- Read the result table below, move between pages if there are many rows, and download it as CSV.
- Remove a table with the cross, or add more files to join them.
Features
- SQLite running as WebAssembly in a Web Worker, served from this site.
- Several tables at once, so you can join files.
- CSV, TSV, XLSX, XLS and ODS input, one table per file or sheet.
- Column types detected from the data, blank cells stored as NULL.
- Results with paging, and an export of the full result as CSV.
- A time limit on queries, so a runaway query is stopped and your tables are reloaded.
- Clear SQL error messages from the engine.
Worked examples
WHERE amount >= 100 AND ordered_on >= '2025-02-01' gives 3 rows
Monitor (249.00), Laptop (1199.00), Monitor (249.00).
Privacy: how it works
- Files are read in this browser tab and loaded into an in-memory database that disappears when you close the page. Nothing is uploaded, and the SQL engine file comes from this site, not from a CDN.
Tips
- Table and column names are cleaned to letters, digits and underscores, so "First Name" becomes First_Name.
- Use LIMIT while you are exploring a big table.
- Quote text with single quotes: WHERE country = 'UK'. Double quotes are for names.
- To check a join, count rows before and after. A join on a column with duplicates can multiply rows.
Frequently asked questions
Is it really free?
Yes. There is no price, no trial and no credit card. Ulkaa Tool does the work with your own device, so there is no server bill to pass on to you.
Do I need an account?
No. There is no sign-up and no login. Open the page and use it. An Ulkaa account is not needed for anything on this tool.
Does it run in my browser?
Yes. Your files and queries are processed by code running in your browser tab, on your own device.
Is my data uploaded?
No. Your files and queries are never sent to Ulkaa or to anyone else. You can check this yourself by watching the Network tab in your browser developer tools while you use the tool.
How do I search text in a column?
Use LIKE with % as a wildcard, for example WHERE name LIKE 'A%' for names starting with A.
More Run SQL on CSV pages
- Run SQL on CSVLoad CSV or Excel files as tables, write SQL and see the results.
- GROUP BY on a CSVSummarise a CSV file by category with a SQL GROUP BY query.
- Join CSV Files With SQLCombine two files on a shared column, such as an id.
- Sort a CSV With SQLOrder rows by any column and keep the top few.
- Unique Values in a CSVList each value of a column once.