Any CSV, any shape
A dashboard builder that reads your file instead of asking you to describe it.
This is the general version of every page in this section. Drop a CSV, TSV or Excel file of any shape and a dashboard is built from what the columns contain: totals for the numbers, a trend for the dates, ranked breakdowns for the categories and a distribution for everything numeric. Then you filter by clicking, and export what you narrowed down.
Looking for your own tool by name? The dashboard directory has a page for each export.
Chart wizards ask the wrong question first
The usual flow for putting a CSV on a chart starts by asking you to pick a chart type. That is backwards, because at the point you upload a file you often do not yet know what is in it, and picking bar over line is a decision about presentation made before any decision about content. Twenty minutes later you have a beautiful bar chart of a column that turned out to be an identifier.
Reading the file first inverts that. Column types come from the values, not from a schema you supply: a column of parseable dates is time, a column of numbers whose distinct count is close to its row count is a measure, a column with fifteen repeated strings across ten thousand rows is a dimension, and a column where nearly every value is unique is an identifier that belongs in the grid rather than in a chart. From that classification the useful panels are obvious, so the page draws all of them and lets you throw away the ones you do not want.
What gets built, and why each panel is there
The layout is not a template. A file with no date column gets no trend chart. A file with one categorical column gets one breakdown, not four empty ones. What follows is the full set of things that can appear.
- A KPI strip: row count, column count, the total and average of each measure, and the span of the date range.
- A trend, resampled to the interval that fits the history, with the option to switch between day, week, month and quarter.
- Ranked breakdowns per dimension, top values first, with a remainder bucket rather than a hundred tiny bars.
- A share view for dimensions with few enough distinct values that proportions mean something.
- Histograms for measures, which is where a column of prices with a stray negative reveals itself.
- A correlation view for pairs of measures, reported with the coefficient so you can judge it rather than eyeball it.
- A matrix for two dimensions at once, shaded by a measure, with every cell clickable as a filter.
- The data grid underneath all of it, sortable, filterable and showing the detected role of each column.
Bigger files than a spreadsheet will open
The reason this runs in a browser rather than on a server is not only privacy, though that is most of it. It is also that a modern browser tab is a genuinely capable computer, and a columnar query engine compiled to WebAssembly will group a few million rows faster than a round trip to somewhere else would take. Files that make Excel refuse to open at all are ordinary here, and the ceiling is your machine rather than a plan tier.
There is no metering, no row cap and no watermark on what you export. Running the same file five times while you work out which column matters costs nothing, which changes how you use a tool more than any single feature does.
How to use it
- Bring any tabular file CSV, TSV, semicolon or pipe separated, or an Excel workbook. If it has a header row and rows underneath it, it will load.
- Drop it on the page The delimiter is sniffed, the encoding is detected, and the columns are typed. Nothing is transmitted at any point in that process.
- Glance at the detected roles Each column header shows what the file thinks it is. Ninety percent of bad charts start with a role that was guessed wrong and never checked, and fixing one is a single click.
- Click to filter A bar, a slice, a matrix cell or a drag across the time chart all narrow every panel at once. There is no filter panel to configure separately.
- Export what you found CSV, Excel, JSON, Parquet, Markdown or a SQL script, respecting whatever filters are applied. Generated locally, like everything else.
Frequently asked questions
What file types can I drop here?
CSV in any of the common delimiters, TSV, and Excel workbooks in both .xlsx and .xls. The delimiter is detected from the text rather than from the file extension, so a .csv that is actually semicolon separated, which is what most European exports are, loads without you saying anything. Encoding is detected too, including UTF-8 files that begin with a byte order mark.
How big a file will it handle?
Files far larger than a spreadsheet will open. The practical ceiling is the memory your browser tab is willing to give up rather than a row count, and a few million rows of ordinary width is routine. Very wide files cost more than very long ones. Nothing is metered, so there is no plan boundary that stops you partway.
Do I have to map my columns to something?
No, and there is no mapping screen to skip. Column roles are inferred from the values: dates from parseable date strings, measures from numeric columns with high cardinality, dimensions from low-cardinality text, identifiers from columns that are nearly all unique. The inference is shown rather than hidden, so when it is wrong you can see that it is wrong and change it.
Can I share the dashboard with someone?
You can share the filtered data, which is usually what people actually want. Export to CSV, Excel or another format and the file carries the rows you narrowed down. What is not shared is your original file, because it was never anywhere but your machine. If a colleague needs the same view, sending them the export and this link takes about as long.
Is anything uploaded or stored?
No. The file is read by JavaScript and WebAssembly inside your browser tab, and the results live in memory for as long as the tab is open. There is no upload request, no account, and no analytics on file contents. Closing the tab is the entire cleanup process, which is the property that makes this usable with data you are not allowed to send anywhere.
What if my CSV is messy?
Ragged rows, blank lines, quoted fields containing the delimiter and stray header rows in the middle are all common and all survivable. The parser reports what it had to do rather than fixing things silently. For anything worse, the cleaning tools linked below run in the same tab: deduplicate, split, validate, change the delimiter, then come back and load the result.
Related tools
Drop something in and see what it makes
The sample is 91 days of web analytics with a date, a channel dimension and seven measures, which exercises nearly every panel the builder has.
Open the sample dashboard