A lightweight, browser-based CSV/JSON/SQLite explorer for large tabular datasets. Inspired by Eric Zimmerman's Timeline Explorer.
- Opens local
.csv,.jsonandsqlitefiles directly in the browser, - Supports CSV with or without header row,
- Supports JSON as:
[{...}, {...}](array of objects)[[...], [...]](array of arrays){ "rows": [...] }
- Renders a scrollable data grid with sticky headers and sticky selection column,
- Provides interactive analysis controls (filter/sort/group/reorder/resize),
- Virtualised rendering for larger files, for more seamless scrolling,
- Global search and find next support.
Open Filebutton andFile > Open...menu- Automatic parsing and normalization of CSV/JSON values
- Support for SQLite databases with multiple tables
- Per-column filters in each header (applied on Enter)
- Global search bar in meta row (
Search) across all columns to filter down results in the table - Find in visible table in meta row (
Find) to find instances of a string across the table - Advanced query bar for complex boolean filtering
These shortcuts are available after a dataset is loaded:
Cmd/Ctrl+OOpen fileCmd/Ctrl+FShow Find barF3Next Find matchShift+F3Previous Find matchAlt+GFocus Global SearchAlt+AFocus/open Advanced SearchAlt+FClear all filtersAlt+VCopy visible rowsAlt+SCopy selected rowsAlt+BClear grouping (when grouping is active)EscClose open overlays/menus/context menus
Use the Advanced Search control to apply complex filters across rows. Columns can be dragged to the query bar too, instead of typing.
- Boolean operators:
AND,OR,NOT - Parentheses for grouping:
( ... ) - Free text term (searches all visible fields):
failed - Field contains:
field:value - Field equals:
field=value - Field not equals:
field!=value - Comparisons:
field>value,field>=value,field<value,field<=value - Regex:
/timeout|denied/i - Quoted field names are supported:
"User Agent":chrome
status:failed AND (user:admin OR user:root)clientcountry=ro AND score>=50NOT action:allow"Event Time">2025-01-01 00:00:00
- Drag a column header to Drop column here to group
- Add multiple grouped fields by dropping more columns
- Reorder grouped fields by dragging grouped chips in the meta row
- Remove one grouped field via chip
× - Clear all grouped fields via grouped-area
× - Expand/collapse grouped sections to drill into nested levels
