SQL over local files without a database server
Every loaded file becomes its own read-only SQL table, using a safe name derived from the file name. The currently selected table is also available as data for convenience. You can use familiar SQL such as SELECT, WHERE, GROUP BY, ORDER BY, aggregates, expressions and limits. The query engine runs in JavaScript inside this tab.
Supported data formats
- CSV, TSV and text tables: automatic comma, semicolon, tab or pipe detection, plus manual delimiter and character-set controls.
- JSON, JSONL and NDJSON: arrays of objects, arrays of rows and line-delimited objects are normalized into table rows.
- XLSX: worksheets are read directly from the Office Open XML package. Pick a worksheet before querying.
- Parquet: columnar Parquet files are decoded in the browser and exposed to the same SQL interface.
Join several files
Load several datasets at once and join them directly in the browser. The Join Builder lets you choose two tables and their key columns, then generates an editable JOIN query. Columns with the same name are suggested automatically where possible.
Build SQL without memorizing column names
Column chips insert correctly quoted identifiers into the editor. Quick actions generate previews, row counts, distinct-value lists, grouped counts and a compact profile with null, distinct, minimum and maximum values. The filter builder creates a starting query for common comparisons and text searches.
Browser safety limits
The explorer loads at most 200,000 source rows into its in-memory query table and materializes at most 5,000 result rows. This protects phones and ordinary laptops from an accidental unrestricted query. Add a LIMIT clause when exploring large datasets. Parquet and XLSX files are never sent to a server.
Is my data uploaded?
No. The dataset is parsed and queried in your browser, so nothing you add is sent to gratistools.be. See the privacy page for details.
Frequently asked questions
Is this tool free?
Yes. The core tool is free to use in your browser.