Every data project starts with messy data. Missing values, duplicates, inconsistent formatting, wrong types — the list goes on. Traditionally, cleaning a dataset means writing scripts, using desktop tools, or uploading your data to yet another SaaS platform. We thought there was a better way.
Today we're releasing the Data Cleaner — a browser-based tool that handles all of this without your data ever leaving your device.
Why Client-Side?
The core constraint was simple: your data stays on your machine. No uploads. No server processing. No third party seeing your rows. Everything happens in your browser using your device's CPU and memory.
This matters for several reasons:
- **Privacy** — Sensitive datasets (user research, internal analytics, financial data) never touch an external server
- **Speed** — No upload/download round-trip. You load the file and start cleaning immediately
- **Cost** — No API calls, no compute charges, no subscription tier required
- **Simplicity** — Open the page, drag your file, configure, download
What It Supports
The cleaner handles the formats people actually use:
- **CSV** — with automatic delimiter detection (comma, tab, semicolon)
- **JSON** — arrays of objects, nested structures, single-key wrappers
- **JSONL** — line-delimited JSON, common in ML pipelines
- **Excel** — .xlsx and .xls files
Files up to 100MB are supported, though we recommend staying under 50MB for the smoothest experience.
Cleaning Operations
The tool covers the operations that matter most in real-world data preparation:
Deduplication
Exact matching removes rows that are identical across all (or selected) columns. Fuzzy matching uses character-by-character similarity to catch near-duplicates — useful when data has slight variations in formatting or encoding.
Missing Values
Choose how to handle nulls: drop rows with any nulls, fill with mean/median/mode for numeric columns, fill with the most frequent value for categorical columns, or provide a custom fill value.
Type Inference
Automatically detect and convert strings to their proper types — numbers, booleans, and dates. The engine is conservative: it only converts when the column strongly matches a type, preventing accidental corruption of mixed columns.
Whitespace & String Cleaning
Trim leading/trailing whitespace, collapse multiple spaces, normalize line breaks, and truncate overly long strings. HTML tag stripping is available as an opt-in under text normalization.
Text Normalization
Lowercase conversion, Unicode normalization (NFKD), and special character removal — all with individual toggles so you can apply exactly what you need.
Date Normalization
Parse date strings from various formats and convert them to ISO 8601. Invalid dates are flagged rather than silently dropped.
Validation
Check email and URL columns for valid formats. Choose to flag issues or remove invalid rows entirely.
Outlier Detection
Two methods: IQR (interquartile range) and Z-score. Choose to flag outliers, cap them to bounds, or remove them. Apply to all numeric columns or select specific ones.
Column Operations
Drop columns you don't need, rename them for consistency, or reorder them for your output schema.
The Cleaning Report
After processing, you get a clear summary: original row count, rows removed, cells modified, and a breakdown of every operation applied. Each operation shows what was done and how many cells were affected, so you can verify the cleaning made sense before exporting.
Export Formats
Download your cleaned data as CSV (with UTF-8 BOM for Excel compatibility), JSON, or JSONL. The CSV exporter properly escapes special characters including carriage returns, commas, and double quotes. Nested objects and arrays are serialized as JSON within CSV cells.
Limitations We're Transparent About
We built this to be useful, not to pretend it replaces everything:
- **Processing is synchronous** — large datasets may cause the browser to become unresponsive during cleaning. We're working on Web Worker offloading for a future update
- **Fuzzy deduplication is O(n^2)** — it becomes slow on datasets with 50K+ rows. Use exact deduplication for large datasets
- **Type inference samples the first 100 values** — if your column has mixed types deeper in the data, the inferred type may not represent the full column
- **Date format detection is best-effort** — ambiguous formats like MM/DD/YYYY vs DD/MM/YYYY depend on your locale
These are documented in the tool itself, so you know what to expect before you start.
How It Fits Into Social Intel
The Data Cleaner complements our dataset catalog. Download a dataset from our catalog, run it through the cleaner to prepare it for your specific use case, and you're ready to go — all without leaving the browser.
It's free, it's open to everyone, and it's available now at /data-cleaner.
— Heshan Sanjuka, Founder
