Profile, clean, and reconcile CSV, Excel, and JSON data in your browser. Find duplicates and type errors, build a reviewable cleaning pipeline, match two datasets with fuzzy scoring, and export cleaned data with a full exception report — nothing is uploaded.
Content last reviewed
Most "CSV tools" convert a file and hand it back. Reconova starts from the assumption that the file is wrong — because in practice it usually is. Drop one in and it profiles every column first: how many values are missing, how many rows are duplicated, which cells do not match the type the column claims to be, which dates are ambiguous, and which columns could serve as a key. You see the problems before you decide what to do about them.
Cleaning happens through an ordered pipeline of steps — trim, normalize, parse dates, parse currency, convert types, split, merge, derive, map, filter, deduplicate. Each step is previewed against your data as you build it, reports how many rows it changed and how many it could not process, and can be disabled or reordered without losing your work. Nothing is applied to your original file.
The part most tools skip is reconciliation. Point Reconova at two files, choose the columns that should match, and it matches them — exactly where it can, and by weighted similarity where it cannot. "Acme Corporation" and "Acme Corp." match. "Smith, John" and "John Smith" match. Anything genuinely ambiguous is sent to a review queue with the score breakdown that caused the doubt, rather than being quietly resolved in a way you would never notice.
Every export includes the cleaned data, an exception report listing each row that failed and why, a quality summary, and an audit report of every step that ran. Reconova processes your file entirely inside your browser. Your data is never uploaded, stored, or transmitted to any server, and closing the tab removes it from memory. That is what makes it safe to use with payroll files, invoice ledgers, customer lists, and bank statements — the kinds of data you cannot paste into an online converter.
Drop a CSV, TSV, Excel (.xlsx), JSON, or NDJSON file into the workspace.
Read the column profile in the left panel — nulls, types, duplicates, and warnings are computed automatically.
Add cleaning steps in the right panel. Each one is previewed against your data immediately.
To compare two files, add a second file and switch to Reconcile. Choose your exact and fuzzy match keys.
Review the ambiguous matches — these are the ones a human needs to settle.
Export. You get the cleaned data plus an exception report, quality summary, and audit trail.
Leading zeros and 16+ digit identifiers preserved as text — never silently converted to numbers
Reconcile a payroll export against the HR system before the run goes out
Match a bank statement against an invoice ledger and find the unpaid items
Match a supplier's inventory file to your own SKUs when the names do not agree
Clean a messy CSV — trim, fix dates, parse amounts — before importing it elsewhere
Converting an ID column to a number. Leading zeros vanish and long account numbers lose their last digits — Reconova keeps them as text for exactly this reason.
Assuming 03/04/2025 is March 4th. Reconova reads the whole column to decide, but check the result if your data mixes conventions.
Fuzzy matching on a low threshold and trusting the output. Look at what actually matched.
Deduplicating on every column when you meant to deduplicate on a key — an exact duplicate row and a duplicate customer are different problems.
Ignoring the dropped-row count on export. If a step rejected 300 rows, you want to know before you send the file on.
Files are limited to 25 MB in the browser. Profiling and previews use a 10,000-row sample so the interface stays responsive; exports process every row. Legacy .xls files are not supported — save them as .xlsx first. Password-protected workbooks cannot be opened. Parquet and larger files are handled by the server engine, which is not yet enabled.
Reconova processes your file entirely inside your browser. Your data is never uploaded, stored, or transmitted to any server, and closing the tab removes it from memory. That is what makes it safe to use with payroll files, invoice ledgers, customer lists, and bank statements — the kinds of data you cannot paste into an online converter.
Read the column profile before you build a pipeline. It usually tells you what is broken faster than scrolling through the rows.
Trim and normalize your match columns before reconciling. Invisible trailing whitespace is the single most common reason two files fail to match.
Reconcile on an exact key first (invoice number, employee ID). Only use fuzzy matching for the rows the exact pass could not resolve.
Set your auto-match threshold high and review the ambiguous queue. A confidently wrong match is worse than one you had to check by hand.
Keep the exception report. It is the list of rows to go and fix at the source.
Parsing, profiling, transformation, and matching all run in a Web Worker, so the interface stays interactive while your file is processed. The data grid is virtualized — only the rows actually on screen exist in the DOM — so a wide file with thousands of rows scrolls smoothly.
Transformations are expressed as a validated, allow-listed structure rather than executable code: there is no formula language, no SQL, and no scripting, which means there is nothing for a malicious pipeline to execute. Every operation is deterministic, avoiding locale-dependent casing, collation, and timezone conversion, so the same inputs always produce the same output.
Reconciliation avoids the naive all-pairs comparison, which would be O(n²) and would hang the browser. It matches on exact keys first, then generates a bounded pool of candidates for each remaining row using a blocking key (a name prefix, postcode, email domain, or phone suffix) and only scores within that pool.
No. Reconova reads and processes your file entirely inside your browser using a Web Worker. Your data is never sent to a server, and closing the tab clears it from memory. You can confirm this by opening your browser's network tab while you use the tool.
Because converting it would corrupt it. A value like 00123 loses its leading zeros the moment it becomes a number, and any identifier longer than 15 digits — most card, account, and IMEI numbers — exceeds what a floating-point number can represent exactly, so the last digits get rewritten. Reconova detects these and keeps them as text. You can still convert one deliberately if you know it is safe.
You choose which columns to match on and how much each one counts. Reconova normalizes the values (case, accents, punctuation, word order), scores each column's similarity, and combines them into a weighted score out of 100. Anything at or above your threshold matches automatically; anything close to the line — or where two candidates score nearly the same — goes to the review queue with the full breakdown so you can see why.
Up to 25 MB in the browser today. Profiling and previews run on a sample of the first 10,000 rows to keep the interface responsive, while exports process every row.
Your cleaned data in the format you choose, plus an exception report (every row a step could not process, with the reason), a quality summary (column profiles and warnings), and an audit report (every step that ran and its effect). If you ran a reconciliation, you also get matched, ambiguous, and unmatched record files.
Yes. The same file and the same pipeline always produce a byte-identical output, regardless of the machine or timezone it runs on. That is what makes it safe to re-run a month-end reconciliation and treat any difference in the output as a real change in the data.
It reads the cached result of a formula but never evaluates one, and macros in an Excel workbook are ignored entirely. On the way out, any exported value beginning with =, +, -, or @ is escaped so that opening the file in Excel or Sheets cannot execute it.