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.
| Check | Bucket | Resolved by |
|---|---|---|
Scientific notation (8.85909E+11) | Fixable automatically | Apply it here, or open Fix scientific notation |
| Broken characters (mojibake) | Fixable automatically | Apply it here, or open Fix broken characters |
| Duplicate rows, blank rows, stray whitespace | Fixable automatically | Apply it here, or open Clean a CSV |
| Stripped leading zeros (ZIP, UPC, SKU) | Needs your input — confirm the width | Confirm the width here, or open Restore leading zeros |
| Ambiguous dates (DD/MM vs MM/DD) | Needs your input — confirm the source order | Fix date formats |
Formula-injection-risk cells (=, +, -, @) | Needs your review — no auto-fix | Manual review; see below |
| Ragged rows, duplicate headers, unclosed quotes | Structural | Validate a CSV |
| Bytes that don’t decode cleanly | Structural | Check 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:
| Tool | Question it answers | Use 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.