A tiny, fast UI for viewing, sorting, and filtering CSVs (MIT Licensed)
μTable is a fast interface for viewing CSV files. It draws much inspiration from thoughtspile/hippotable, but makes different tech choices with the goal of being smaller and faster.
μTable | Hippotable | |
---|---|---|
JS Framework | ivi | SolidJS |
CSV Parsing | μDSV | Arquero (d3-dsv) |
Virtualization | own (< 0.5 KB) | TanStack/table (~60 KB) |
Sorting / filtering | own + μExpr (< 4 KB) | Arquero (~400 KB) |
localStorage Persistence | no | yes |
Bundle size | 20 KB | 416 KB |
Both projects are very early, and the choices made by Hippotable are totally sensible, considering its plans to leverage much more of the Arquero library. I have, however, previously tested some Arquero functions (such as grouping) and found its performance to be lacking in multiple areas.
uTable has similar goals as Hippotable, but [perhaps] with greater scrutiny on external dependencies, and will always roll its own solutions when there are significant performance and/or size benefits.
Statically hosted:
- Open https://leeoniya.github.io/uTable
- Drag/drop a CSV file into the UI
Locally or dev:
- Clone this repo
- Install dependencies:
npm install
- Build bundle:
npm run build
- Run an http server in repo root that can serve static files, for example:
- Install:
npm i -g http-server
- Run
http-server
in repo root
- Install:
- Open
http://localhost:8080/
- Drag/drop a CSV file into the UI