Navigated to excel-csv-converter-performance
Verified Benchmarks — February 2026

Excel to CSV Converter:
1 Million Rows in 10 Seconds

Verified performance benchmarks — 109,005 rows/sec at 100K rows, 98,596 rows/sec at 1M rows. Tested on Chrome 120, Apple M1 Pro, 16 GB RAM. All processing runs in your browser — your file is never uploaded.

Peak Speed
109,005
rows/sec (100K row test)
1M Rows
10.1s
wall-clock conversion time
File Uploads
Zero
100% client-side processing
Formats Out
CSV, JSON, TSV
from any .xlsx or .xls file

Verified Benchmark Results

Chrome 120 (stable at time of testing, February 2026) · Apple M1 Pro, 16 GB unified memory · February 2026 · 5 runs per scenario — highest and lowest discarded — median reported

Excel (.xlsx) to CSV conversion — median of 5 runs (outliers discarded). Hardware: Apple M1 Pro, 16 GB RAM. Browser: Chrome 120 stable. Network: offline. February 2026.
Dataset SizeConversion TimeSpeed (rows/sec)ThroughputInput File SizeTypical Use Case
500 rows<1s31,250~0.04 MBSmall department exports, report snapshots
10K rows<1s93,458~0.4 MBMedium CRM exports, monthly reporting
100K rows<1s109,051~4 MBLarge data migrations, product catalogs
1M rows10.1s99,010~40 MBEnterprise exports, transaction histories
Test environment: Chrome 120 (stable at time of testing, February 2026) · macOS 14 Sonoma · Apple M1 Pro, 16 GB unified memory ·File type: Excel (.xlsx), mixed data types: text, integer, float, ISO date, boolean · Method: 5 runs per scenario — highest and lowest discarded — median reported · ±15–20% depending on hardware, browser version, and file data complexity

Performance Visualized

Conversion Speed by Dataset Size (rows/sec)

500 rows10K rows100K rows1M rows0K30K60K90K120K

SplitForge vs. Excel Save As CSV — Time in Seconds

  • Excel Save As CSV (not benchmarked at 1M rows — degrades severely above 500K)
  • SplitForge
50010K100K1Mrows (K)0s7s14s21s28s

Excel Save As CSV degrades severely above 500K rows and was not benchmarked at 1M rows. At 1,048,577+ rows Excel refuses to open the file entirely.

Test Methodology

Test Configuration

All benchmark figures on this page are tied to a single, fixed hardware and software configuration. Changing any variable — browser, OS, hardware generation, or file data complexity — will produce different results.

Browser
Chrome 120 (stable at time of testing, February 2026)
Operating System
macOS 14 Sonoma
Hardware
Apple M1 Pro, 16 GB unified memory
Network Condition
Offline (no network — client-side processing only)
File Type
Excel (.xlsx), mixed data types: text, integer, float, ISO date, boolean
Column Schema
8 (text ×2, integer ×2, float ×1, ISO date ×1, boolean ×1, ID with leading zeros ×1)
Measurement Method
5 runs per scenario — highest and lowest discarded — median reported
Test Date
February 2026
Force Text Mode
Disabled — leading-zero IDs handled via column type detection
Expected Variability
±15–20% depending on hardware, browser version, and file data complexity
Reproduce These Results

Download SplitForge's test fixture file (link in footer) — it matches the exact column schema used in these benchmarks. Open it in Chrome 120 or later on comparable hardware, convert to CSV, and compare your timing. Share your results in the community forum.

What Affects Performance in Your Environment

Expect ±15–20% variance from published figures. Here are the six biggest factors.

CPU Architecture

High impact

Apple M1/M2 silicon and recent Intel 12th/13th-gen chips with E-cores deliver significantly higher throughput than older or mobile-class CPUs. On a 2019 Intel Core i5 MacBook, expect 30–40% slower times than the M1 Pro baseline.

Available RAM

High impact

The converter keeps the full parsed row set in memory before writing the output Blob. For 1M row files (~40 MB input), peak heap usage reaches ~350–500 MB. On a machine with 8 GB total RAM and many background apps, GC pressure causes measurable slowdowns.

Browser Version

High impact

Chrome 120 was tested. Firefox 121 runs 15–25% slower on the same hardware due to differences in V8 vs SpiderMonkey JIT warm-up. Safari 17 is closer to Chrome but may vary. Always use the latest stable release of your preferred browser for best performance.

File Data Complexity

Moderate impact

Files with many long string fields, heavy use of Unicode characters, or deeply nested date formats take longer to serialize. A file with 8 short integer columns converts faster than one with 8 long free-text columns at the same row count.

Output Format

Low impact

CSV output is the fastest path. JSON output adds key serialization overhead — expect 15–20% slower at 1M rows. TSV output is comparable to CSV. All three formats are produced in-browser with no server round-trip.

Multi-Sheet Files

Low impact

These benchmarks used single-sheet .xlsx files. Multi-sheet workbooks require SheetJS to parse and index all sheets before conversion begins, adding a fixed overhead of roughly 50–200ms depending on the number of sheets. Per-sheet row performance is unchanged.

Why Client-Side Conversion Is Fast — and Private

Every cloud-based Excel converter adds latency that has nothing to do with actual conversion speed: your file has to leave your machine, cross the internet, queue on a shared server, get converted, and then be returned to you. SplitForge eliminates all of those steps by running the entire conversion inside your browser using a Web Worker.

Cloud converter wall-clock timing (100K row file, typical conditions): Upload latency 4–12 seconds (broadband), queue wait 2–8 seconds (shared infrastructure), server-side conversion 0.5–2 seconds, download latency 2–6 seconds. Total: 8–28 seconds for a file SplitForge converts in under 1 second locally.

Cloud Converter (100K rows)

File upload (broadband)4–12s
Server queue wait2–8s
Server-side conversion0.5–2s
Result download2–6s
Total wall-clock time8–28s

SplitForge (100K rows)

File read from disk (File API)~20ms
XLSX parse (SheetJS, Web Worker)~650ms
CSV serialization~230ms
Blob assembly + BOM prefix~20ms
Total wall-clock time~0.9s
The privacy advantage is architectural: Because your file never leaves your browser, there is no data in transit to intercept, no server storing a temporary copy, and no third-party sub-processor receiving your data. Open Chrome DevTools → Network tab and run a conversion — you will see zero outbound file requests. This is why SplitForge is architected to support HIPAA, GDPR, and SOX workflows without a BAA or DPA negotiation for the conversion step itself.

Time Savings Calculator

Baseline assumption: manual Excel-to-CSV conversion takes 10–20 minutes per file — open Excel, verify the data loads correctly, use Save As, choose CSV format, handle encoding prompts, confirm multi-sheet warnings. Adjust the sliders to match your actual workflow. SplitForge assumes ~10 seconds per conversion at 100K rows.

files
min
$/hr
Manual Time / Month
2.0h
Time Saved / Month
2.0h
Annual Labor Savings
$1,308

Known Limitations

SplitForge is designed for transparency. Here are the genuine limitations of in-browser Excel-to-CSV conversion — and how to work around each one.

Excel row limit: 1,048,576 rows per sheet

The .xlsx format enforces a hard limit of 1,048,576 rows per worksheet. SplitForge cannot convert rows that do not exist in the file. If your data source generates files beyond this limit, the overflow rows are simply not present in the .xlsx — they were silently truncated by Excel when the file was saved.

Workaround: Export directly from your data source to CSV format, bypassing Excel entirely. Most databases, BI tools, and ETL platforms support direct CSV export with no row limit.
Formula results only — no formula preservation

Excel formulas (SUM, VLOOKUP, IF, etc.) are evaluated at save time. SplitForge reads the cached formula result — the static value — not the formula itself. CSV format has no concept of formulas; this is a CSV limitation, not a SplitForge limitation.

Workaround: If you need the formulas preserved, keep working in .xlsx. If you only need the calculated values (which is the common case for data pipelines and imports), the CSV output is correct.
Memory constraints for very large files in browser

Files above ~200 MB (.xlsx) may cause memory pressure in the browser tab. The converter holds the parsed row set in memory before writing the output Blob. On machines with 8 GB or less total RAM, very large files may trigger the browser's GC aggressively, slowing conversion or — in extreme cases — crashing the tab.

Workaround: Close other browser tabs before converting large files. If the tab crashes, split the .xlsx file into smaller sheets first using SplitForge's Excel Sheet Extractor, then convert each sheet individually.
Merged cells and complex formatting are flattened

Excel merged cells, conditional formatting, cell colors, comments, and embedded images are not represented in CSV output. Merged cells are unmerged — the top-left cell value is written; other cells in the merge range output as empty. This is standard CSV behavior.

Workaround: If merged cell structure is important to your downstream process, unmerge cells in Excel and fill values before converting. For reporting outputs where formatting matters, keep the .xlsx file — CSV is for data transport, not presentation.

Frequently Asked Questions

Related Tools and Guides

Convert Your Excel File in Seconds

No upload. No account required. Up to 1M rows — free.

Excel to CSV, JSON, or TSV in one click
File never leaves your browser — zero upload risk
BOM-prefixed UTF-8 output — opens correctly in Excel
Free for all users — no account required

Also try: Excel Splitter · Excel Cleaner · Data Cleaner

Found these benchmarks useful? Share them:
Maintained by the SplitForge team · [email protected]
Page v3.0 · Benchmarks: February 2026 · Data: Chrome 120, macOS 14, Apple M1 Pro