Using the Web App

← Contents

On macOS, use Cmd wherever this page says Ctrl.

What the web app is

The web app is TableSkim running in a web browser. The same core as the GUI and the terminal UI, compiled to WebAssembly, reads the file inside the browser: the files you open are never uploaded, and nothing needs to be installed on the computers that use it. It opens every format the other interfaces open (see Supported File Formats) and has most of their features; Differences from the GUI lists what it lacks.

The web app with the Content pane

Setting it up

The web app is a folder of static files, released as tableskim-<version>-web.zip. Put the folder on any web server, under any path, and open the folder's URL with the slash at the end, for example https://example.com/tools/tableskim/. No program runs on the server.

Use a recent browser. The web app is tested in Chromium (Google Chrome, Microsoft Edge).

To use it without a server of your own, open the latest release's web app on the TableSkim website: informationsea.github.io/tableskim/app/. It, too, reads the files in your browser only.

The page

The page follows the light or dark appearance of the system.

Opening files

Moving around, selecting and copying

Right-click a cell or a column header for its menu: copying, quick filters, sorting, the column's statistics, charts and Group By, formats, hiding and freezing.

Going to a row, cell or column

Ctrl+G opens Go To. Type a row number (120), a column letter (C), a header name or a cell (C120) and press Enter, as in the GUI.

The sidebar

The Sidebar button shows or hides the sidebar. Its tabs:

Drag the sidebar's left edge to make it wider; the width is kept in the browser.

Sorting

Click a column header to sort by that column: the first click sorts in ascending order, the second in descending order, and the third restores the file order. The column menu has Sort Ascending, Sort Descending and Clear Sort. How values compare is explained in Sorting, Filtering, Searching and Statistics.

Filtering

The Filter button (Ctrl+Shift+F) opens the Filter pane of the sidebar, laid out like the GUI's.

The Filter pane with two conditions

Filter by This Column... in a column or cell menu opens the pane with a new condition for that column; Clear Filter removes the filter.

Quick filters: right-click a cell and choose Filter: Equal to This Value or Filter: Not Equal to This Value. Each quick filter is added to the filter as another condition.

Clicking a bar of a histogram or a cell of a density plot narrows the rows further. These selections show as Additional narrowing (N) - Clear, ANDed with the conditions even when Match: Any is chosen; the button removes them, and Clear removes them with the conditions.

The operators and how values compare are explained in Sorting, Filtering, Searching and Statistics.

Searching

Type into the search box at the top right (Ctrl+F goes there) and press Enter. The cursor moves to the first hit after it, and every hit in view is marked. Enter and Shift+Enter, or the ↑ / ↓ buttons, move to the next and previous hit; Escape returns to the grid. Aa matches upper and lower case exactly and .* reads the text as a regular expression. The box shows how many hits there are so far.

Column statistics

The Statistics button, or Statistics in a column menu, shows the Statistics pane: the number of rows and of empty cells, the number of distinct values, the minimum and maximum, the mean and standard deviation of numbers, and the most frequent values of the cursor's column, over the rows of the view. It follows the cursor from column to column. See Column statistics.

Histograms and scatter plots

Save PNG and Save SVG save the chart as shown; the browser saves the file into its downloads. PNG is drawn at twice the size of the page, and SVG keeps lines and text sharp at any size.

How to read the charts and which one answers which question is explained in Charts and Group By.

Group By

Group By groups the rows of the view by the values of the key columns and computes aggregates (count, distinct, sum, mean, min, max) of other columns, as in the GUI. Tick each column's Key or Aggregate box and the aggregates to compute. The result opens as the sheet Group By, which a later Group By replaces. See Summarizing in a table: Group By.

Hiding and freezing columns

In a column menu:

Hidden columns are left out of copies, exports and Group By; sorts, filters and searches are not affected, as in the GUI.

Column types and formats

Format... in a column menu chooses how the column's numbers (thousands separators, decimal places) and dates are shown. Only the display changes: copies and exports keep the values. See Column types and formats.

The Monospace button shows the cells and the Content pane in a monospace font, which lines up fixed-width data such as sequences or codes. The choice is kept in the browser.

Sheets

Excel workbooks and DuckDB / SQLite databases show one tab per sheet or table above the grid. SQL results and Group By results are added as sheets too.

Running SQL

For DuckDB, SQLite, Parquet and JSON files, the SQL button opens the SQL panel at the bottom.

The SQL panel

Type a query and press Run (Ctrl+Enter). The result opens as the sheet SQL Result; the next query replaces it, and a file opened again with other options runs the last query again. Tab completes table and column names, and Ctrl+↑ / Ctrl+↓ (or History...) bring back earlier queries. The history is kept in the browser, apart from the GUI's and the terminal UI's. See Running SQL for what can be queried.

Exporting and converting

Both run in the background with a row count and a Stop button. The file is written in the browser's memory and then saved by the browser into its downloads, named after the source file.

Large text files

The file is read in place, piece by piece, and is never copied whole into memory. The rows of a text file are kept in memory once read, as in the GUI, so reading pauses at 100 MiB, 500 MiB, 1 GiB and then every 2 GiB of rows: Continue reading goes on, Stop here ends the table at the rows read. A browser gives a page much less memory than a program gets, at most 4 GiB, so very large text files are better converted to Parquet with the GUI or the terminal UI first; Parquet files, databases and Excel workbooks are read as needed.

Differences from the GUI

The web app has the GUI's features except these:

Keyboard shortcuts

KeyAction
Ctrl+OOpen a file
Arrows, Page Up / Page Down, Home / EndMove the cursor
Ctrl+Home / Ctrl+EndFirst / last row
Shift + a movement keyExtend the selection
Ctrl+ASelect everything
Ctrl+CCopy the selection as tab-separated text
Enter, double clickShow the whole cell in the sidebar
Ctrl+GGo To
Ctrl+FGo to the search box
Enter / Shift+EnterIn the search box: next / previous hit
Ctrl+Shift+FThe Filter pane
EnterIn a filter value: apply the filter
Ctrl+EnterIn the SQL panel: run the query
TabIn the SQL panel: complete a name
Ctrl+↑ / Ctrl+↓In the SQL panel: earlier / later queries
EscapeClose a dialog or a menu; leave the search box