Drop a CSV or Excel file into your browser and explore it like the pros do — interactive charts, cross-filtering dashboards, drill-downs to the raw rows. No install. No account. No upload. Your data never leaves your machine.
Free during development · Works offline · Built for files up to millions of rows
Why Tablumo
Spotfire, Tableau and Power BI are powerful — after the install, the license, the training course. Tablumo starts where they end: open a browser tab, drop a file, and the analysis is already running.
No installation, no sign-up, no project setup. The time from "I have a file" to "I see my data" is seconds, not days of procurement.
The full analysis engine runs inside your browser. Files are processed locally and stay on your device — there is no server to upload to, by design. Even works offline.
A real columnar SQL engine (DuckDB) compiled to your browser. Filters, sorts and charts recompute on all your rows in milliseconds — no extracts, no sampling tricks, no "Apply" buttons.
Exact counts, never silently dropped rows, nulls always visible, samples always labeled as samples. When a number is filtered, Tablumo shows the unfiltered baseline next to it.
Feedback written inside the tool flows straight into development — features ship within hours, and the in-app changelog shows exactly what arrived when.
Features
Everything below is shipped and working today — this page is updated with every release.
Drag & drop CSV, TSV or Excel files. Delimiters, headers and column types are detected automatically across the whole file; multi-sheet workbooks become one table per sheet; dates keep their time-of-day. In the grid, drag columns into your preferred order and hide the ones you don’t need — and rename any table from the sidebar (right-click or double-click) to the words you actually use.
Bring in columns from another file — activities onto their opportunities, targets onto regions. Tablumo suggests the linking field by comparing names, types and actual values; add more matching fields when one isn't enough, and choose whether rows without a match are kept or left out. Honest match counts before anything is created — and the result is a normal table: chart it, dashboard it, save it. When an original changes later, right-click the combined table and Refresh: the match re-runs in place, with your filters and dashboards staying attached.
Yesterday's export vs today's: pick "Compare tables" and Tablumo suggests the key column, shows honest counts before anything is created — how many rows were added, removed, changed, untouched, and the net delta on every numeric column — then builds a real differences table that reads like a diff: old → new inside the cell, green/red on numeric moves, Added / Removed / Changed badges that filter with one click. Filter it to "Stage changed", chart added-vs-removed by region, export it. Your originals stay untouched. Drop tomorrow's export on top and Tablumo offers to track it as a dated version — series nest in the sidebar, compare any two in two clicks, and "Versions to keep…" caps a series with honest sizes and an exact preview of what closes.
Off by default; when off, nothing AI-related loads or runs. Turn it on with your own Anthropic API key (stored only in your browser, calls go directly to Anthropic — no middleman server) and filter by asking: "open EMEA deals above 100k" becomes ordinary, validated filter chips you can see and remove one by one. Or have it build a whole dashboard: describe the board in plain words — or answer up to five multiple-choice questions it writes about your actual data — and a validated plan becomes real, editable pages, with one-click undo. The settings dialog shows the exact schema-and-sample payload any request sends — you choose how many sample rows, down to zero. Never your full dataset.
Bar, line, area, pie, scatter, histogram, heatmap and box plot. New charts open already meaningful — Tablumo picks a readable grouping and a summable measure for you. Stack or split by a second column, roll dates up by year, half-year, quarter, month, week or day — and overlay dashed Average, Median, Min or Max reference lines with one click, in the Chart view and on dashboard tiles, with tooltips reading the distance to each line ("vs Avg 1.2M: +12%"). Type a goal and it draws as a solid target line — the axis stretches so it never hides off-chart. Histograms bin any numeric column with clean round edges (on dashboards too, cross-filtering by the real ranges); heatmaps put two categories on a color matrix where darker means more; box plots compare how a number spreads across categories — quartiles, median and true min/max, computed over all your rows, never a sample. Currency columns keep their symbol on axes, tooltips and KPI tiles — €1.2M reads as money, not a bare number.
Build boards from chart, KPI, table and grouped summary tiles, drag and resize them freely, rename any tile to the words your team uses, organize them into named pages. Click any bar, slice or summary row and every other tile filters to match — table tiles show the actual rows (or a pivot-style group-by with sums, averages and counts, money formatted as money), each with its own column settings and CSV export. Summary tiles pin an honest grand-total row — computed across all rows in view, never just the visible groups — plus a subtotal per top-level group when sorted that way, and right-clicking any summary row (a subtotal, or the Total itself) opens the exact raw rows behind it. KPI tiles take a goal and show honest progress toward it. Right-click a tile to rename, duplicate, remove it or open the rows behind it — or right-click a bar or slice itself to filter the dashboard to that value, drill into its rows, or export the chart as a PNG.
Any chart segment opens the exact raw rows behind it — click it, or right-click for the menu — precise counts, sortable, exportable, with per-chart column settings so each drill-down shows just what matters there. Box-drag on a scatter plot to inspect exactly the points you circled.
Type-aware filters (checklists, ranges, date pickers, text search) recompute every view instantly. Right-click any cell to filter to that value — or exclude it — and any column header to sort, filter, hide or group by that column for an instant pivot-style summary. Date columns display by month, quarter or year on request, with chronological sort kept. Active filters show as plain-language chips — currency columns read as money ("Amount ≥ €50,000"), and the sidebar's min/max boxes hint with your data's real bounds, money-formatted too — one glance tells you why the data looks like this, one click removes it. Right-click a chip to see exactly the rows it keeps — or the rows it's hiding. Value filters flip between "is" and "is not" in one click; text filters know "does not contain" — with blank values kept honestly, never silently dropped — and the same column can carry two filters at once. With several chips, every connector between them is its own AND/OR button, and a "Logic…" editor takes any nesting — "(1 OR 2) AND 3" — typed, or click-built from numbered chips, AND/OR/( ) buttons and a token-wise ⌫, with a live row count previewing the result before it applies. Tick rows in the grid to hide outliers or junk everywhere — a reversible mask with an honest "N rows hidden" pill, never a delete. Beneath the grid, a totals footer covers every numeric column over exactly the rows your filters keep — Sum by default, or right-click any footer value for Average, Min, Max or Count distinct.
Add new columns with SQL expressions and a live preview as you type — and edit any formula later by right-clicking the column, with the original restored automatically if the new formula fails. With the AI assistant on, just describe the rule in plain language: the model writes the formula, you see it, edit it, and decide. Right-click a text column to group values into buckets — "West Germany" counts as "Germany" — as an ordinary, fully reversible column. Format any numeric column as currency (16 currencies, or per-row codes from another column), display-only and reversible. Built-in currency conversion turns an Amount into "€1,234.50" at your exchange rate.
Close the tab and come back — everything is exactly where you left it, stored on your own device. Even multi-hundred-megabyte tables survive reloads now: they live in an on-disk database and re-attach in about a second, no re-import. Save any workspace as a named analysis and build a library organized in folders — the analysis name sits in the top bar with one-click Save and Open, and a dot warns about unsaved changes. Any analysis exports as a single portable .tablumo file (data included, big tables too) to move to another machine or keep as a backup. Export any view as CSV or charts as PNG.
Press ⌘K / Ctrl+K and type where you want to be: a table, a dashboard page, a column (it starts a filter for you), or an action like Add chart or Export CSV. Forgiving matching, ↑↓ + ↵ keyboard control — anywhere in your analysis in two keystrokes.
A clean, modern interface built end-to-end on the shadcn/ui design system, set in Inter — real Cards, crisp vector icons throughout, light and dark zinc themes that follow your OS. Full keyboard-friendly sorting, undo for destructive actions, and an in-app changelog so you always know what's new.
See it














How it works
CSV, TSV or Excel — straight from a Salesforce report, a finance export or a sensor log. Tablumo detects the structure and types automatically.
Sort and filter the grid, switch to charts that configure themselves, or build a dashboard page with cross-filtering tiles.
Drill into the rows behind any number, export filtered data as CSV, save charts as images — and find everything restored when you return tomorrow.
Privacy
Tablumo is architected so your data cannot leave your machine: the database engine, the charts, the storage — all of it runs locally in your browser. There is no cloud backend, no telemetry on your data, no account to breach. Compliance reviews get a lot shorter when nothing is transmitted.
And the AI assistant doesn't change that. It is off by default — while it's off, no AI code loads, renders or runs, and nothing whatsoever is sent anywhere. If you opt in, you bring your own Anthropic API key (stored only in this browser, never in saved or exported files) and requests go directly from your browser to Anthropic — no Tablumo server in between, because there is no Tablumo server. What gets sent is shown to you verbatim before you ever enable it: column names, types, summary statistics and a sample of rows whose size you choose — including zero. Your full dataset never leaves your machine, and every number you read in Tablumo is computed by the local database, never by a model.
What's new
The latest releases — see the full history in the in-app changelog.
The hint that catches an X axis with thousands of unique values — an ID or near-unique column that draws a useless wall of bars — and offers a more readable column in one click now appears on dashboard tiles too, not just the Chart view. Group a tile by something like Opportunity ID and a small pill in the tile's settings names the problem and points you to a column that actually fits the axis. It stays quiet for sensible groupings, dates and numeric axes, and the dropdown reverses any swap.
Summing a percentage or rate gives a meaningless total — a Sum of "Probability (%)" can read like 4,000,000%. The nudge that catches this and offers one-click Average now appears on dashboard chart and KPI tiles, not just the Chart view. Plain quantities, counts and the other aggregations stay quiet — the same honest, surgical rule, now everywhere a tile can sum a measure.
The group-by nudge now appears on box plots and heatmaps too. Group a box plot or heatmap by something like "Opportunity ID" and Tablumo points you to a column that actually fits the axis — same quiet, reversible behaviour as everywhere else.
When a Chart-view aggregation is set to Sum over a percentage, rate, probability or ratio column, a subtle hint under the value picker says, e.g., "'Probability (%)' is a percentage — try averaging," and one click switches the aggregation to Average. Plain quantities are left alone (summing those is the point), and you can reverse it any time from the dropdown.
When the Chart-view X (group by) reads poorly — a near-unique/ID column that would draw thousands of bars, or a constant column — a hint names the problem ("'Opportunity ID' has 50,000 values") and the best alternative, switched in one click. Quiet for sensible groupings, dates and numeric axes; the dropdown reverses it.
A new "Trend line" checkbox on scatter charts fits a least-squares regression across every plotted point and draws a dashed line with an R² label, so you can see the direction and strength of a relationship at a glance — computed locally over all your data, never a sample.
Every "X (group by)", "Split by", "Color by" and "Group by" dropdown — in the Chart view and on dashboard tiles — now shows each column's approximate number of distinct values, e.g. Stage (7) or Opportunity ID (50,000). At a glance you can tell which columns make a readable chart and which are near-unique IDs that would explode into thousands of bars, before you pick one. The counts are already measured at import, so nothing extra runs and nothing leaves your device.
When you Compare two snapshots, each row in the differences table now lets you jump straight back to that record in its source snapshot: right-click and pick "Show this row in …" and Tablumo opens that snapshot filtered to exactly that record, so you see the full row in context — not just the columns that changed. A changed row offers both the before and after; a removed row only the older snapshot, a new row only the newer — so a jump never lands somewhere the record was never in.
A wide differences table can bury the few columns that actually moved among dozens that didn't. A new "Changed columns only" button on the diff bar hides every unchanged column, leaving the key, the "What changed" summary and just the columns with edits — so a 30-column export collapses to the two or three that tell the story. It says exactly how many it will hide, and one click brings them all back.
A brand-new workspace now offers three ready-made datasets — Retail sales, Marketing campaigns and Support tickets — as one-click cards, so you can explore charts, filters, grouping and the data-quality scorecard immediately. Reachable any time via ⌘/Ctrl+K → "Load a sample dataset". The data is generated right in your browser from a fixed seed — nothing is downloaded and nothing leaves your device.
The SQL console gains a "Save as table" action: run any SELECT, name it, and the full result becomes a brand-new table — its own tab, chartable, filterable, sortable and profilable exactly like an imported file. It turns the read-only console into a real transformation step, while staying strictly read-only against your source data.
The SQL console can now hand back every row, not just what fits on screen. Run a query, click Export CSV, and all matching rows download as a clean CSV — written by DuckDB itself, so commas, quotes and line breaks inside your values come through intact. It stays strictly read-only: the export reads your data, never changes it.
Press ⌘/Ctrl+K → "Data quality" and Tablumo profiles every column of your table in one pass: how complete it is, how many distinct values, its range or average, and plain-English flags like "32% missing" or "All unique → likely a key". An overall 0–100 score and a "most concerning first" order tell you exactly where to start cleaning.
Roadmap
The genuinely queued next features, in priority order — driven by real usage feedback. No dates promised; everything above this section is already shipped, everything below is not.
The next slice of the snapshot-comparison work: point Tablumo at a folder and have it re-run the comparison whenever a fresh export lands, so a daily refreshed file becomes a living before/after view instead of a manual re-import. Chromium-first, with an honest fallback where the browser can't watch folders.
Compare this period against the last — month over month, quarter over quarter — with the change and % change computed for you, on the full dataset.
Save a set of filters, sorts and a chart as a named view and switch between them in one click — so the questions you ask every week are always one click away, not rebuilt each time.
Export the current analysis as a single self-contained HTML file you can open or send to anyone — no server, no upload, your data stays yours.
The final slice of the large-data work: import a 3 GB, 10-million-row file and keep every interaction responsive — measured honestly on real hardware, with the numbers published in the product spec.
Get started
Tablumo runs in your browser at app.tablumo.com — no install, no account, and your data stays on your machine. It's free during active development; the user guide shows everything the tool can do today.
Open the app