Navigated to data-validator-performance
Verified Benchmark — June 2026

Validated at 10 GB Exact Uniqueness at Any Scale

Format validation runs at ~1M rows/sec; single-column uniqueness at ~685K rows/sec (10M), settling to ~265K rows/sec at 10 GB / 228M rows as the external merge-sort does more passes. Constant memory at any scale — no RAM ceiling. 7 rule types, 18 data-type checks, 14 import presets — file contents never uploaded. Works alongside Data Cleaner for end-to-end data quality workflows, or see the full tool overview.

~1M/s
Format Validation
rows/sec (format-only)
~685K/s
Uniqueness
rows/sec (single column, 10M)
Never
File Uploads
zero transmission
10 GB
Validated Scale
228M rows, constant memory

Benchmark Performance

All Data Validator times: Chrome (stable), Windows 11, dev machine (Alder Lake class), 64GB RAM, June 2026, default browser heap limit. 3-rep median, session warmup discarded. Results vary by hardware, browser, rule count, and file complexity. Excel times estimated from internal validation workflow testing — actual times vary by rule complexity.

Performance at Scale

Chrome (stable) · Windows 11 · dev machine (Alder Lake class) · 64GB RAM · June 2026

Dataset SizeFormat-onlyFull Schema (5 rules)Uniqueness (1 col)Test Notes
1K rows<1s<1s<1sSetup-bound; completes instantly
10K rows<1s<1s<1sSetup-bound; completes instantly
100K rows<1s<1s<1sTypical CRM export batch — completes in well under a second
1M rows~982K rows/sec~534K rows/sec~730K rows/secSalesforce Contacts import scale
5M rows~1.04M rows/sec~552K rows/sec~710K rows/secPer-row rate plateaus at scale
10M rows~1.06M rows/sec~567K rows/sec~685K rows/secMeasured June 2026
10 GB (228M rows)~270K rows/sec~265K rows/secTRUE-10GB gate; merge-sort multipass, constant memory

Results vary by hardware, browser, rule count, and file complexity. Format-only = one email-format check. Full schema = 5 stateless rules. Uniqueness = single-column collision-free merge-sort. Rows under 100K complete in well under a second (setup-bound, not a meaningful rows/sec). 10 GB row is the TRUE-10GB gate (format + uniqueness; full-schema not separately run at 10 GB).

Feature Performance Overhead

Simple Validation (format checks only)
Baseline
~810K rows/sec
Email format + required field checks only. No uniqueness checking. Fastest possible throughput — no cross-row state to maintain. Use for quick format QA on CRM exports before manual review.
Full Schema (5 stateless rules)
5-rule schema
~567K rows/sec
Required + dataType + length + range + regex all applied per row — stateless rules that check each row in isolation. ~30% slower than simple validation due to increased checks per row. Still ~380K rows/sec at scale.
Uniqueness Checking (OPFS external merge-sort)
+84% time vs format-only
~441K rows/sec
Streams values to disk-backed sorted runs and scans for duplicates — constant memory (no in-memory hash), exact at any scale. ~84% slower than format-only at 10M. Required for CRM imports where HubSpot/Salesforce reject duplicate emails.
Regex Rules (custom patterns)
+25% time
~350K rows/sec
RegExp.test() per row adds meaningful overhead — JavaScript regex evaluation is expensive at scale. Simple patterns (\d{10}) are faster than complex patterns. Combine with other rules: regex adds ~25% on top of required+dataType checks.
Export Failed/Passed Rows
<5% overhead
~490K rows/sec
Filtering and writing the output files adds minimal overhead — rows are already categorized during the validation pass. Export itself runs in parallel with result rendering. CSV export faster than XLSX by ~30%.
Healthcare Codes (NPI + ICD-10 + CPT)
+208% time vs format-only
~263K rows/sec
NPI validation: Luhn checksum on 10-digit codes. ICD-10 / CPT / taxonomy: format and structure checks via pattern matching — there is no code-set membership lookup, so a well-formed but non-existent code will pass. These are per-row pattern checks with negligible overhead.
All overhead figures measured on a 10M-row, 4-column dataset, June 2026, Chrome (stable), 64GB RAM, dev machine (Alder Lake class), default heap limit; deltas isolate each rule's cost (absolute rates differ from the single-rule small-N table). Results vary by hardware, browser, rule count, and file complexity.

When Data Validator Is Slower Than Expected

Transparency on conditions that reduce throughput below published benchmarks

OPFS Unavailable (private mode / old browser)
Uniqueness at scale unavailable

Uniqueness streams to the Origin Private File System (OPFS). It is required — there is no in-memory fallback. In a context without OPFS (some private-browsing modes, older browsers), large-scale uniqueness validation cannot run. Memory itself is constant, so RAM is never the constraint.

Mitigation: Use a current Chrome/Edge/Firefox in a normal (non-private) window.
Complex Regex Patterns
40–60% slower vs simple format checks

RegExp.test() cost scales with pattern complexity. Simple patterns like /^\d{10}$/ are fast. Complex lookaheads, alternation, or backtracking patterns can be 5–10x slower per row than basic data type checks.

Mitigation: Use the built-in dataType: "email" validator (optimized regex) instead of a custom email regex. For custom patterns, test regex performance in browser console before applying to 10M row files.
Multiple Uniqueness Columns
One sequential merge-sort pass per column

Each uniqueness column is sorted and scanned in its own sequential pass — constant memory, not N simultaneous structures. Three uniqueness columns at 10 GB ran ~110K rows/sec overall.

Mitigation: Limit uniqueness checks to the columns your import target enforces. For Salesforce Contacts, only Email requires uniqueness — Account ID and Phone do not.
Excel / XLSX Input Files
20–30% slower vs equivalent CSV

Excel's binary XLSX format requires an additional parsing step via SheetJS before validation can begin. A 10M row Excel file adds 6–8 seconds of XLSX parsing on top of validation time. CSV files with UTF-8 encoding and comma delimiters give the best performance.

Mitigation: Convert Excel to CSV first using SplitForge's Excel to CSV Converter, then validate. Total time including conversion is still faster than validating XLSX directly.
Healthcare Code Checks (NPI Luhn)
~3× slower than format-only

The NPI Luhn checksum is the most expensive per-row check — ~263K rows/sec vs ~810K for format-only at 10M. ICD-10/CPT/taxonomy are cheap pattern checks.

Mitigation: Apply NPI validation only to the NPI column, not as a blanket rule.
Multi-Gigabyte Files (10 GB+)
Throughput declines with scale (constant memory)

Uniqueness is ~685K rows/sec at 10M and settles to ~265K rows/sec at 10 GB / 228M as the external merge-sort runs more passes. This is expected; memory stays constant. A 10 GB uniqueness validation takes ~14 min.

Mitigation: None needed — it completes. Budget ~14 min for a 10 GB uniqueness validation.

Calculate Your Time Savings

Manual baseline: ~2.5 hours per failed import cycle — based on internal workflow testing, February 2026. This covers: 3 upload attempts (15 min wait each) + manual Excel error cleanup (30–45 min each pass) + re-upload cycles. Data Validator: ~11 minutes total (8s validate → export failed rows → 10 min bulk fix → 8s re-validate → clean import). Results vary by import complexity, file size, and error count.

Files that needed 2+ import attempts

Active months doing CRM imports

Data analyst avg: $50–75/hr

Files Processed / Year
48
imports validated
Annual Time Saved
111.2
hours per year
Annual Labor Savings
$6,672
per year (vs manual import cycles)
What you eliminate:
  • 15–25 minute upload wait times per failed attempt
  • Hunting for validation errors one at a time (Salesforce only reports one error per upload)
  • Manual Excel cleanup with no regex support and a 256-rule limit
  • Re-uploading the same file 3–5 times before it imports cleanly
  • Discovering errors for the first time in production data

SplitForge Browser Validation Standard (SVBP-2026)

June 2026 refresh: 3-run median, session warmup discarded, default browser heap limit · test datasets available on request · v1.2

Expand

Validation Engine Changelog

CurrentValidation Engine v1.2June 2026
  • OPFS external merge-sort uniqueness — constant memory at any scale, exact (no 10M sampling cap), collision-free; validated at 10 GB / 228M rows
  • Errors, duplicates, and failed-row export stream to OPFS (heap stays flat)
  • Uniqueness on multiple columns, each checked in its own sequential pass
  • Short-circuit at 100 blocking errors for corrupt file performance
  • SVBP-2026 benchmark protocol established
PlannedValidation Engine v1.1Q2 2026 (Planned)
  • Compound-key uniqueness (uniqueness across a combined multi-column key — distinct from the shipped per-column uniqueness)
  • Regex precompilation for repeated pattern checks
  • Code-set membership validation (ICD-10-CM / CPT) — currently format checks only
  • Saved validation schemas (cross-session)

Honest Limitations: Where SplitForge Data Validator Falls Short

No tool is perfect for every use case. Here's where Server-Side Validation Tools (Great Expectations / dbt tests / AWS Glue) might be a better choice, and the real limitations of our browser-based architecture.

Browser-Based Processing

Performance depends on your device's RAM and CPU. Modern laptops (2022+) handle 10M+ rows easily, but older devices may struggle with very large files.

Workaround:
Close unnecessary browser tabs to free up memory. For files over 50M rows, consider database solutions.

No Offline Mode (Initial Load)

Requires internet connection to load the tool initially. Processing happens offline in your browser after loading.

Workaround:
Once loaded, you can disconnect and continue processing. For true offline environments, desktop tools may be better.

Browser Tab Memory Limits

Most browsers limit individual tabs to 2-4GB RAM. This is the practical ceiling for file size.

Workaround:
Use 64-bit browsers with sufficient RAM. Chrome and Firefox handle large files best.

Very Large Files Are Time- and Disk-Bound, Not RAM-Bound

Memory is constant (OPFS external merge-sort) — validated to 10 GB / 228M rows. The practical limit is time and free disk (a large uniqueness run uses temporary on-disk space; allow several GB of headroom for multi-gigabyte inputs), not RAM. For 50M+ rows on a schedule, a server-side pipeline is the better automation fit.

Workaround:
Split large files into chunks using SplitForge CSV Splitter, validate each chunk, then re-merge the passing rows. For 50M+ row files, use Python Great Expectations or dbt schema tests for server-side validation at scale.

Short-Circuit After 100 Blocking Errors

Validation stops after finding 100 blocking errors to prevent overwhelming the UI on severely corrupt files. If your file has thousands of blocking errors, you'll need multiple validation passes.

Workaround:
Fix the 100 reported blocking errors in bulk, re-upload, re-validate. Use SplitForge Data Cleaner for bulk standardization before validating — standardizing email formats and phone numbers before validation reduces blocking errors significantly.

No API or Automation Support

Data Validator is a browser tool — no REST API, CLI, or pipeline integration. Cannot be embedded in ETL workflows, CI/CD pipelines, or scheduled quality checks.

Workaround:
For automated validation in pipelines, use Python Great Expectations (open source), dbt schema tests (column-level assertions), or AWS Glue with custom data quality rules. For one-off file validation by non-technical users, Data Validator is the fastest option.

Single File Per Session

Data Validator processes one file at a time. No batch validation across multiple files in a single operation.

Workaround:
Process files sequentially. For high-volume batch workflows (20+ files), consider Python pandas with Great Expectations for programmatic batch validation.

When to Use Server-Side Validation Tools (Great Expectations / dbt tests / AWS Glue) Instead

You need to validate data in an automated CI/CD or ETL pipeline

Data Validator has no API. Browser-only workflow cannot run on a schedule or be triggered programmatically.

💡 Use Python Great Expectations, dbt schema tests, or AWS Glue data quality rules for pipeline-integrated validation.

You need to validate 50M+ row files regularly

Browser memory limits practical ceiling to ~10–15M rows depending on hardware. Server-side tools scale horizontally.

💡 Python Great Expectations with Spark backend, or AWS Glue DataBrew for large-scale data quality at scale.

You need team-shared validation schemas with version control

Data Validator schemas exist only in browser sessions — no sharing, no versioning, no team collaboration features.

💡 dbt schema tests in a shared repository, or Great Expectations with a shared expectation suite stored in S3/Git.

You need statistical anomaly detection (outlier detection, distribution checks)

Data Validator handles rule-based validation only — required, format, range, regex, enum, uniqueness. No statistical profiling.

💡 Use SplitForge Data Profiler for distribution statistics, then validate with Data Validator. For ML-based anomaly detection, use Python pandas or Great Expectations with distribution expectations.

Questions about limitations? Check our FAQ section below or contact us via the feedback button.

Frequently Asked Questions

How fast is validation, and at what scale?

What's the difference between Simple Validation and Full Schema mode?

Why is uniqueness checking slower than other validation rules?

How does Excel Data Validation compare at scale?

What browser and hardware give the best validation performance?

Does CSV vs Excel format affect validation speed?

What happens when validation hits the 100 blocking-error short-circuit?

Can I reproduce these benchmarks?

Benchmarks last updated: June 2026 · Re-tested quarterly and after major algorithm changes · Validation Engine v1.2 · SVBP-2026 Protocol

Ready to Validate CSVs at Any Scale?

No installation. File contents never uploaded. 14 import presets auto-configure validation rules — drop your CSV and get a full error report before your first upload attempt.