Browser-native  ·  Zero uploads  ·  Free

Clean your CSV
in seconds.

Drop any CSV up to 100 MB. Trim whitespace, detect data types, remove empty rows, deduplicate — all processed locally. Nothing ever leaves your device.

100% Private No uploads ever Up to 100 MB Web Worker powered No account needed
Drop your CSV here
or click to browse  ·  .csv only  ·  up to 100 MB
Reading…
Rows
Columns
Empty rows
Empty cols
Duplicates
Clean
Case

Every operation a dirty
CSV actually needs.

Most CSV files that leave a database, CRM or spreadsheet tool carry invisible damage. LeanCSV fixes the six most common problems in one pass — no code, no installs, no server.

Trim Whitespace

Strips leading and trailing spaces from every cell. The most common cause of failed joins and broken lookups — fixed in under a second regardless of row count.

Case Normalization

Convert any column to UPPERCASE, lowercase or Title Case. Standardize product codes, city names, status fields and email addresses before they hit your pipeline.

Remove Empty Rows & Columns

Detects and deletes rows and columns where every cell is blank — artifacts of copy-paste or deleted content that inflate row counts and break schema validation.

Automatic Type Detection

Samples up to 200 values per column and classifies each as number, date, boolean or text. Colour-coded badges re-run after every operation.

Deduplicate Rows

Removes exact duplicate rows in one pass. The stats bar shows the count before you commit so you know exactly what's about to be deleted.

Paginated Table Preview

Renders up to 100 rows per page with sticky typed headers. Scroll, inspect and verify the data before exporting — all inside the browser tab.

100 MB
Workspace
120 fps
UI Rendering
Private
By Design

Where LeanCSV shines

Real-world CSV files come from dozens of sources and each introduces its own class of dirt. Here are the situations where LeanCSV saves the most time.

Database imports

Before importing into PostgreSQL, MySQL or SQLite you need clean types and no stray whitespace — otherwise VARCHAR columns get padded values, integer casts fail, and UNIQUE constraints throw on near-duplicates that differ only by a trailing space.

CRM & marketing exports

Salesforce, HubSpot and Mailchimp exports frequently contain duplicate contacts, inconsistent capitalisation and empty rows from deleted records. Deduplicate and normalize case in seconds before importing into a new system or running a mail merge.

Spreadsheet handoffs

Excel and Google Sheets exports often include ghost columns with invisible formatting characters and accidental rows below the data range. Remove Empty Rows/Cols clears these in one click and gives you a row count you can trust.

ETL pipeline validation

Want to audit an input file before it hits the transformation stage? LeanCSV gives you an instant structural scorecard — column count, type per column, empty ratios, duplicate count — without writing a single line of code.

Sensitive & regulated data

Legal, financial and healthcare CSVs can't be uploaded to a third-party service without compliance review. Because LeanCSV runs 100% in your browser with no network activity during processing, it's safe with PII, financial records and protected health information.

E-commerce product feeds

Shopify, WooCommerce and Magento exports often contain blank SKU rows, inconsistent category casing and duplicate product IDs. Clean the feed in the browser and upload a valid file directly to the next platform.

Built different.

Most CSV tools either require an upload, a subscription, or a Python environment. LeanCSV has none of those dependencies.

0 ms

No server round-trip

Everything runs inside your browser tab. There is no upload, no queue, no API call. The only latency is your CPU parsing text.

0 KB

No external dependencies

The CSV parser, type detector and all cleaning logic are hand-written vanilla JavaScript. No npm, no bundler, no library to audit.

100%

Private by architecture

Your file content is never transmitted. Not to our servers, not to analytics, not anywhere. It's a guarantee baked into the architecture, not a policy.

Free

No tiers, no gates

Every feature — trim, deduplicate, type detection, export — is available to everyone with no account, no daily limit and no watermark on the output.

Auto

Delimiter detection

Comma, semicolon, tab or pipe — LeanCSV sniffs the delimiter from the first 4 KB of the file and preserves it in the exported output.

Live

Type badges on every column

Number, date, boolean or text — detected on load and refreshed after every operation so the table always reflects the current state of the data.

Common questions

Is LeanCSV really free?

Yes, completely. No premium tier, no feature gating, no account. LeanCSV is part of the RuntimeHub suite of free browser-native tools.

Does my file get uploaded anywhere?

No. Your file is read by the browser's FileReader API and handed to a Web Worker running locally in your tab. No network request is made at any point during processing. Verify it yourself: open DevTools → Network and watch it stay empty.

What delimiters are supported?

LeanCSV automatically detects the delimiter from the first 4 KB of the file. Supported: comma (,), semicolon (;), tab (\t) and pipe (|). The detected delimiter is preserved in the exported file.

How large a CSV can I process?

Up to 100 MB. Files above 10 MB are read in 4 MB streaming chunks to keep memory stable. A 500 MB limit is planned for a future Pro tier.

Can LeanCSV handle quoted fields and escaped commas?

Yes. The parser handles RFC 4180-style quoting: fields wrapped in double quotes, delimiters inside quoted fields, and escaped double quotes (""). Both CRLF and LF line endings are supported.

How does type detection work?

Each column is sampled — up to 200 non-empty values — and tested against regex patterns for numbers, ISO dates, and boolean values. A column is only classified as a non-text type if at least 85% of sampled values match the pattern, preventing false positives on mixed data.

Does deduplication account for whitespace?

Deduplication compares raw cell values — whitespace included. For whitespace-insensitive deduplication, run Trim spaces first, then Deduplicate. This gives you explicit control over what counts as a duplicate.

Can I undo an operation?

Not yet — there's no multi-step undo stack currently. Each operation is applied to the in-memory dataset immediately. Click Reset and re-upload to start over. Your original file on disk is never modified.

What browsers are supported?

Any modern browser with Web Workers and ES6: Chrome 80+, Firefox 75+, Safari 14+, Edge 80+. For best performance on large files, Chrome or Edge on desktop is recommended.

Will you add Excel (.xlsx) support?

It's on the roadmap. For now, export your Excel file as CSV first — every major spreadsheet tool supports this in one click.