ParseCSV.com

About ParseCSV

ParseCSV is a diagnostic front door for delimited files: it shows how bytes become records and fields, resolves dialect and encoding ambiguity with evidence, and lets you repair and export with verified counts. Everything runs in your browser; there is no backend.

The engine

parsecsv-engine 1.0.0 is a hand-written streaming state machine (start-record, start-field, unquoted-field, quoted-field, after-quote, escape, comment) over code units of the selected encoding, with byte offsets throughout and explicit carry-over state between chunks. Field values are decoded with a streaming TextDecoder. A test suite runs the PRD fixtures, a differential check against an independent reference parser, and metamorphic tests that parse hundreds of random and malformed inputs under random chunk sizes.

Known deviations and limits

Feature status

Labels: NATIVE = implemented locally; APPROX = heuristic; EXPLAIN = guidance only; UNSUPPORTED = not available.

IDRequirementStatusNotes
PCSV-001File/paste importDone NATIVEFile picker, drag-and-drop, paste (UTF-8). Original bytes retained; a canceled parse keeps the previous result.
PCSV-002Encoding/BOM inspectionDone NATIVEBOM sniffing, UTF-16 heuristics, streaming validator lists every invalid sequence with byte offsets; shown as hatched � marks.
PCSV-003Delimiter candidate scoringDone NATIVESix candidates parsed quote-aware; score, width distribution, confidence that drops for close alternatives; override reparses original.
PCSV-004Quote/escape optionsDone NATIVEDouble/single/none quote; doubled, backslash or no escape; stray quote and junk-after-quote diagnosed.
PCSV-005Header detectionDone APPROXHeuristic suggestion with evidence; duplicate/empty names and multi-row suspicion surfaced.
PCSV-006Record terminator policyDone NATIVEAuto (CRLF/LF/CR mixed) or exactly one; counts per terminator; mixed endings reported.
PCSV-007Raw/record/grid viewsDone NATIVERaw view with byte/line gutter and per-token record/field/state; record view with field byte spans; grid.
PCSV-008Quoted newline supportDone NATIVEVerified by fixtures and differential tests.
PCSV-009Ragged record diagnosticsDone NATIVEExpected width from header or modal width; exact spans.
PCSV-010Blank/trailing-field policyDone NATIVEBlank record, empty field and absent field are distinct.
PCSV-011Text-safe parsed outputDone NATIVEValues are never coerced.
PCSV-012Incremental sample/full parseDone NATIVE256 KB sample first, labelled; full parse with progress and cancel.
PCSV-013Error ledgerDone NATIVERecord and byte equations checked on every parse.
PCSV-014Manual record repairDone NATIVEPreview, precondition (revision + exact text), provenance history, undo, full reparse. Disabled for files > 128 MB.
PCSV-015Strict/recovery modesDone NATIVEFour explicit recovery policies.
PCSV-016Export parsed recordsDone NATIVECSV/TSV/JSON arrays/JSON objects/NDJSON with counts and loss notes; duplicate headers need explicit names.
PCSV-017Parser settings exportDone NATIVEVersioned JSON with sample-vs-full evidence; strict import.
PCSV-018Diagnostic reportDone NATIVEMarkdown, redacted by default; excerpts opt-in.
PCSV-019Rejected records exportDone NATIVEJSON raw fragments (text + base64) with byte/line spans, not CSV.
PCSV-020Reparse output verificationDone NATIVEOutput reparsed under its target profile and compared record-by-record; lexical changes reported separately.
PCSV-021Schema inference previewDone NATIVECandidate types, alternatives with failure examples, leading-zero and >2^53 notes.
PCSV-022User schema validationDone NATIVERequired/type/min/max/max-length rules; separate from parser validity. Regex rules not offered.
PCSV-023Alternate dialect comparisonPartial NATIVETop three delimiter interpretations side by side on the sample; no full-file comparison.
PCSV-024Boundary inspectorPartial NATIVERaw view chunk marks + parser state per token; no step-by-step state trace UI.
PCSV-025Batch feed diagnosisDone NATIVEPer-file detection or one saved setting; differences from first file.
PCSV-026Parser code examplesDone NATIVEPapa Parse 5.4.1, Python 3.12 csv, pandas 2.2 with gap notes. Not executed.
PCSV-027Dataset handoffPartial NATIVEExplicit file export only; no direct cross-site transfer.
PCSV-028Header mapping toolPartial NATIVEStable column IDs (c1…) with rename/conflict resolution in JSON object export.
PCSV-029CSV injection scanDone NATIVESeparate risk findings; opt-in apostrophe mitigation counted at export.
PCSV-030Large streamed inspectionPartial NATIVEFiles > 128 MB stream from disk via Blob slices (bounded chunk memory, compact record table); repair disabled; no OPFS staging.
PCSV-031Streamable repair recipesNot done UNSUPPORTEDRoadmap.
PCSV-032Universal perfect auto-detectionNot done UNSUPPORTEDExcluded by design: ambiguous inputs require a visible choice.
PCSV-101Dialect evidence dashboardDone NATIVEDialects tab.
PCSV-102Record-boundary visualizationDone NATIVERaw view ¶ vs ↵ marks.
PCSV-103Header-row selectionDone NATIVESkip N preamble records, counted in ledger bytes.
PCSV-104Comment-line profileDone NATIVERecord-start only, outside quotes.
PCSV-105Custom delimiter qualificationPartial UNSUPPORTEDSingle-character delimiters supported; multi-character profiles refused explicitly.
PCSV-106Encoding comparison previewDone NATIVEPreviews under candidate encodings.
PCSV-107Parser option compatibility reportPartial EXPLAINStatic gap notes per library; not fixture-verified.
PCSV-108Truncation suspicion checkDone NATIVEUnclosed quote or incomplete sequence at EOF.
PCSV-109Repair decision historyDone NATIVEPatch history; policy repairs counted.
PCSV-110Chunk-size metamorphic test modeDone NATIVEEncoding & boundaries tab, first 1 MB.
PCSV-111Streaming result sinkNot done UNSUPPORTEDExports are built in memory then downloaded.
PCSV-112Record schema drift reportNot done UNSUPPORTEDBatch differences cover dialect/width only.
PCSV-113Safe parser benchmark reportPartial NATIVEParse time shown per run; no report export.
PCSV-114Malformed fixture generatorNot done UNSUPPORTEDSelf-authored examples only.
PCSV-115Interchange evidence bundlePartial NATIVESettings file + report + rejected export, not one bundle.