CSV Doctor

Not sure what’s wrong with a file, or how many things are wrong at once? Drop it below. CSV Doctor runs every CSVUndo check in a single pass — scientific notation, stripped leading zeros, broken characters, ambiguous dates, formula-injection-risk cells, ragged rows, duplicate headers, blank rows and duplicate rows — then lets you pick which deterministic fixes to apply and download, right here. Nothing changes until you click Apply, and findings that need your judgment link to the tool that asks before guessing. Nothing is uploaded either way.

Quick Answer: CSV Doctor provides comprehensive multi-point diagnosis and deterministic repair for damaged CSV files in one pass. It scans for scientific notation (1.23E+11), missing leading zeros, Mojibake, ragged rows, and duplicate headers locally in the browser with an enforced connect-src 'none' CSP policy.

Drop your CSV file here or click to choose a file
the file is read locally to run every check — it never leaves your device

No file to hand? Try the button below — it builds a sample locally, nothing is fetched.

🔒 Try it: switch off your Wi-Fi — the check still runs, because your file never leaves this tab. We can't read, store, or leak what we never receive. Prove it in 30 seconds →

What CSV Doctor checks — and what it doesn’t

CSV Doctor doesn’t introduce any new detection or repair logic. It runs the exact same functions that already power the other CSVUndo tools — the scientific-notation and leading-zero scan behind the homepage repairer, the structural check behind the CSV validator, the duplicate/blank-row logic behind the CSV cleaner — and reports all of their results together. Nothing is flagged here that another CSVUndo tool wouldn’t independently flag on its own, and nothing is repaired here that those tools couldn’t also do individually. What Doctor adds is a single pass, a triage, and a way to apply the deterministic fixes without visiting five separate pages: which findings have one obviously correct fix (select and apply below), which need you to make a call, and which mean the file should be re-exported rather than patched.

Every check CSV Doctor runs, which bucket it falls in, and how it's resolved
CheckBucketResolved by
Scientific notation (8.85909E+11)Fixable automaticallyApply it here, or open Fix scientific notation
Broken characters (mojibake)Fixable automaticallyApply it here, or open Fix broken characters
Duplicate rows, blank rows, stray whitespaceFixable automaticallyApply it here, or open Clean a CSV
Stripped leading zeros (ZIP, UPC, SKU)Needs your input — confirm the widthConfirm the width here, or open Restore leading zeros
Ambiguous dates (DD/MM vs MM/DD)Needs your input — confirm the source orderFix date formats
Formula-injection-risk cells (=, +, -, @)Needs your review — no auto-fixManual review; see below
Ragged rows, duplicate headers, unclosed quotesStructuralValidate a CSV
Bytes that don’t decode cleanlyStructuralCheck CSV encoding

Why some findings ask you to decide, not just click Fix

A stripped ZIP or SKU column is the clearest example: once Excel has dropped the leading zeros, the number of zeros that should come back can’t be recovered from the digits that are left. 501 could be a US ZIP that should read 00501, or it could already be complete. CSVUndo won’t guess — the leading-zeros tool shows you the column and lets you set (or accept a suggested) width instead of assuming one. Dates work the same way: 04/11/2023 is a valid date read either as 4 November or 11 April, and only you know which calendar the source system used. Both are marked “needs your input” rather than counted as a straightforward fix, and both link to a tool that asks before changing anything.

Formula-injection-risk cells: why there’s no Fix button

A cell that starts with =, +, - or @ can be read as a live formula by some spreadsheet software when the file is opened or re-imported — a well-known CSV-injection pattern. CSV Doctor counts these cells so you know to look at them, but it does not touch them. A leading - or + is often completely legitimate data — a negative amount, a signed adjustment, a phone extension — and rewriting it automatically would be exactly the kind of silent, shape-based guess CSVUndo exists to avoid. Review the flagged cells yourself before importing the file anywhere that executes formulas.

Just want the full structural picture?

CSV Doctor's structural findings are a summary. For the complete report — delimiter, every ragged row, every duplicate header — open the validator directly.

Open the CSV validator →

🔒 Your file never leaves this tab — we can’t read, store or leak what we never receive. See the proof →

CSV Doctor vs CSV Validator vs CSV Compare

All three read a file locally and change nothing on their own, but they answer different questions, and picking the right one saves a step:

Which CSVUndo diagnostic tool answers which question
ToolQuestion it answersUse it when
CSV Validator“Is this file structurally valid?”You need to know if an importer will reject the file — delimiter, quoting, ragged rows, duplicate headers. No cell-level damage checks.
CSV Doctor“What’s wrong with this one file, and can it be fixed?”You have a single file and don’t know what kind of damage it has — Doctor runs every check (including the validator’s) and offers to fix what it safely can.
CSV Compare“What changed between two files?”You have an old and a new version of the same data — a re-export, an updated feed — and need to know exactly which rows or cells differ.

A common workflow: run CSV Doctor on a fresh export to fix known Excel damage, then use CSV Compare to confirm nothing else changed against the previous version.

Related guides

Background on the most common findings: why Excel converts numbers to scientific notation, why leading zeros disappear, why mojibake happens, why date formats flip, and what actually counts as a duplicate row. Browse all guides. Once you've applied fixes and downloaded the result, CSV Compare can show you exactly what changed against the original.

Frequently asked questions

Does CSV Doctor fix my file automatically?

Not automatically, but it can fix it here. After diagnosing, deterministic findings — scientific notation, mojibake, duplicate/blank rows, stray whitespace — get a checkbox, checked by default, so you can review what's selected and click "Preview & Apply Selected Fixes" to download the repaired file. Nothing changes until that click. Findings that need a judgment call, like leading-zero width or date order, either ask for that input inline or link to the tool that does.

Is my file uploaded when I run CSV Doctor?

No. Like every CSVUndo tool, the file is read locally with the browser's own FileReader and every check runs in JavaScript in this tab. The file never leaves your device, and the page keeps working offline once it has loaded.

Why does it say "needs your input" instead of just fixing something?

Some findings genuinely can't be resolved from the file alone. A stripped ZIP or SKU column needs you to confirm the target width — CSVUndo won't guess a leading-zero count from a number that no longer has one. An ambiguous date like 04/11/2023 needs you to say whether the source system used DD/MM or MM/DD. Both tools ask before touching anything, rather than assuming.

What is a formula-injection-risk cell?

A cell whose value starts with =, +, - or @. Some spreadsheet programs read a cell starting with one of those characters as a formula rather than plain text, which is a known CSV-injection risk if the file is later opened or imported elsewhere. CSV Doctor flags these for review only — it doesn't edit them, because a leading - or + can also be entirely legitimate data (a negative amount, a phone extension), and guessing would be exactly the kind of silent rewrite CSVUndo exists to avoid.