Check your CSV before the import fails.
Provide your import schema and a CSV file to check headers, field formats, duplicates and row structure. Get the exact row, column, value and rule behind each issue, plus downloadable reports—all inside your browser.
Offline capable No sign-up No uploadSet your schema
Describe what the destination expects. Start with a synthetic example, build a schema or import your own JSON.
Supported schema keys: $schemaVersion:1, name, enforceOrder, unknownColumns, headerMatch, blankRows, columns. Each column supports name, required, type, unique, min, max, maxLength, allowedValues, dateFormat, decimalLocale, regex. Imported definitions remain editable.
Choose your CSV
Check the file
Results and exports
Download
Run preflight to enable exports.
Files are created here without uploading source data. Passing and failing exports reflect both row issues and file-level header errors. Only ready.csv is available with zero errors.
Optional safe fixes
Select only the transformations you accept. Changes are logged, and no automatic fix is applied to the original file.
Run the built-in checks
Tests exercise the CSV core and validator in this same file, including international characters, integer precision and generated datasets.
How to use
Load or define a schema in step 1, select a CSV in step 2, run the check in step 3, then inspect and export from step 4. Row numbers count data records beginning at 1; physical line numbers refer to the original text.
How it checks your data
Privacy
CSV contents and schemas are processed locally in your browser. This app contains no network requests, user-data storage or analytics. You can inspect DevTools → Network to verify this. Downloaded reports remain on your device unless you choose to share them.
Limits
CSV, TSV and plain text only: no .xlsx, OCR, encoded legacy files, or guessing ambiguous dates and numbers. Maximum input 100 MB. Browser memory may constrain very large files. A passing check does not guarantee that any particular software will accept the CSV. The generated files are independent reports, not an alteration of the original.
FAQ
Does the tool upload my CSV?
No. All processing happens in the current browser tab.
What does “draft schema” mean?
It proposes column names from a CSV you trust; all inferred columns start as text and the schema is marked DRAFT until you explicitly confirm it.
Why is a negative amount not blocked as a formula?
A properly recognised locale-specific number is treated as a number. Formula-looking text fields are warned about and neutralised on export.
Are errors changed automatically?
No. Exports preserve raw values except spreadsheet-formula neutralisation, unless you explicitly select a supported safe fix.
Can I use this offline?
Yes. Save the single HTML file and open it directly from your device.
Changelog
v1.0.0 — 2026-11-10: local schema checks, CSV decoding, diagnostic exports, optional fixes and built-in tests.
Licence
MIT License — Copyright (c) 2026 AshenTheFox. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to inclusion of this copyright notice and permission notice. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Need it for your exact format?
Send an anonymised sample and the output you expect, and I'll quote a fixed price.
Contact for custom work