Upload a CSV or Excel file (or paste data), pick your columns, and get a chart instantly. Great for ML training curves, experiment logs, and quick data exploration.
Muffin's Data Visualizer is a free, browser-based tool that turns your CSV or Excel data into charts instantly β no code, no Python, no Matplotlib, no installations. Upload a file or paste your data, select your X and Y columns, choose a chart type, and click Plot. The chart renders immediately in your browser. Your data never leaves your device.
The visualizer accepts any flat CSV or Excel (.xlsx) file where the first row is a header row and each column has a name. Each column becomes one data series you can plot. The simplest format looks like this:
Note: multi-row headers (merged cells in Excel where one header spans multiple columns) are not supported. Flatten them to a single header row first before uploading.
The Y axis uses checkboxes β tick as many columns as you want and they all appear as separate colored lines on the same chart, each with a different neon color and a legend entry. This is useful for comparing training curves of multiple models, plotting both loss and accuracy together, or visualizing several metrics side by side.
Set X = epoch, check all 4 model columns β you get 4 colored lines with a legend, each model clearly distinguishable. Click the toggle all link next to the Y axis label to select or deselect all columns at once.
If you log your training metrics to a CSV file β loss, accuracy, F1, BLEU, or any other metric per epoch β you can visualize them here in seconds. Upload your CSV, set X = epoch, check the metrics you want to see, select Line chart, and click Plot. Enable Highlight best value to automatically mark the epoch where your model peaked. Download the chart as a 1200Γ700px PNG ready to drop into a paper or report.
Research data, experiment logs, and model benchmarks are often confidential before publication. Muffin processes your CSV and Excel files entirely in your browser using PapaParse and SheetJS for parsing and Plotly.js for rendering. Nothing is sent to any server. You can disconnect from the internet after the page loads and the visualizer will still work.