10 Million CSV Rows Pivoted
in ~18 Seconds. In Your Browser.
Detailed throughput numbers, aggregation overhead breakdown, memory model explanation, and honest limitations — so you know exactly what to expect before you process your first file. Engine: PapaParse streaming parser + Web Worker incremental aggregation.
Benchmark Results by Row Count
Pivot vs Unpivot vs Excel, measured at 100K through 10M rows. Excel hits its hard cap at 1,048,576 rows — those cells are empty by design.
Full Scalability Data
| Row Count | Pivot Time | Unpivot Time | Pivot Throughput | Unpivot Throughput | Notes |
|---|---|---|---|---|---|
| 100K rows | 0.18s | 0.15s | 548K/sec | 667K/sec | Baseline — fast enough for interactive use |
| 500K rows | 0.91s | 0.74s | 549K/sec | 676K/sec | Well under 1 second for both modes |
| 1M rows | 1.82s | 1.47s | 549K/sec | 680K/sec | Excel hard cap reached. SplitForge at peak throughput. |
| 2M rows | 3.65s | 2.94s | 548K/sec | 680K/sec | pandas MemoryError risk on <16GB RAM machines |
| 5M rows | 9.12s | 7.35s | 548K/sec | 680K/sec | Linear scaling confirmed at 5M |
| 10M rows | 18.2s | 14.7s | 548K/sec | 680K/sec | Upper practical limit for typical 40–60 column business CSVs. Actual ceiling varies by column count, data types, and group cardinality. Very high-cardinality pivots may hit memory limits earlier. |
Test config: Chrome 132, Windows 11, Intel i7-12700K (3.6GHz, 12-core), 32GB DDR4-3200 RAM, February 2026. Pivot: 3 group-by columns, SUM + COUNT + AVG, CSV output. Unpivot: 2 ID columns, 48 value columns, CSV output. 10 runs per row count, drop highest and lowest, average remaining 8. Results vary by hardware, browser, aggregation complexity, and file structure (±15–20%).
Aggregation Overhead Breakdown
Not all aggregations cost the same. Here's exactly what each one does to throughput and memory — so you can make informed choices.
Sum / Count / Average
Min / Max
StdDev / Variance
Weighted Average
% of Total
Count Distinct
Median
HIGH MEMORYMode
HIGH MEMORYPivot vs Unpivot: Why Unpivot Is Faster
Same Web Worker engine. Fundamentally different memory models.
Two-Phase Architecture
Single-Phase Streaming
Honest Limitations
What this tool does well and where it reaches its ceiling — so you can make informed decisions, not discover surprises mid-project.
Browser Memory Ceiling (~10M rows for typical CSVs)
The practical maximum is approximately 10 million rows for typical 40–60 column business CSVs on a modern desktop browser — actual ceiling varies significantly by column count, data types, and group cardinality. Above this, Chrome may show an out-of-memory error or silently crash the tab. Pivot is more constrained than unpivot because the group Map grows in memory. Very high cardinality (millions of unique group combinations) can hit the ceiling before 10M rows. Plan accordingly: if your pivot produces millions of unique groups, reduce group-by columns or pre-filter the data.
Median / Mode: 50K Value/Group Cap
Median and Mode buffer all values per group during the streaming pass. The buffer is capped at 50,000 values per group. Above the cap, the result cell shows TRUNCATED instead of a numeric value. For datasets where any group has more than 50K rows of the same value column, median and mode results will be incomplete. This is intentional — without the cap, these aggregations could exhaust all available browser memory.
Count Distinct: Hard Abort at >50K Estimated Groups
Count Distinct maintains a Set per group to track unique values. If the worker estimates that the total number of groups will exceed 50,000 (based on cardinality sampling from the first 10K rows), processing is hard-aborted with an error message before OOM conditions develop. This is a safety mechanism, not a bug. If you hit this, reduce your group-by column count or pre-filter to a subset of the data.
No API, CLI, or Automation Support
SplitForge Pivot & Unpivot is browser-only. It cannot be called from cron jobs, ETL pipelines, GitHub Actions, Python scripts, or any automated workflow. For scheduled or automated pivot/unpivot operations, the right tools are Python pandas (local), Apache Spark/dask (cluster), AWS Glue, dbt (transformations), or Airflow (orchestration). This tool is designed for human-in-the-loop, interactive data transformation workflows.
Not an Interactive Pivot Table Explorer
SplitForge produces a flat output file, not an interactive click-and-drag pivot table like Excel's. You cannot drag fields between row/column/value areas after processing. Re-run with different configuration if you want to explore different groupings. For interactive pivot exploration, Excel Pivot Tables or Tableau are the right tools. SplitForge's value is in processing large, compliance-constrained datasets at scale.
No Real-Time Data Connections
Processes uploaded files only. No database connectors, no API polling, no live data streams. For real-time or live-connected pivot analysis, use Power BI DirectQuery, Tableau Live, or Grafana/Kibana depending on your data source. SplitForge is the right choice when you have a file — CSV or Excel — and need it processed privately and without setup friction.
Test Methodology
Full transparency on how every number on this page was produced.
View complete test configuration and measurement protocol
Time Savings Calculator
Manual baseline: ~15 min per pivot report via Excel Pivot Tables. SplitForge with saved config: ~30 sec.
Weekly cadence = 4/mo
Year-round = 12
Analyst avg: $45–75/hr
Estimates based on a 15-minute manual Excel Pivot Table workflow baseline. Actual savings vary by report complexity and existing automation. SplitForge processing time varies by hardware, browser, and file structure (±15–20%).