Record Reconciliation

Record Reconciliation

Reconcile two CSV snapshots by unique record keys. Find added, deleted and changed fields even when row order differs.

Each CSV: 1 MiB, 5,000 rows, 32 columns and 100,000 cells. Choose 1–4 keys. Field changes are limited to 10,000 rows and 8,000,000 characters; exceeding a limit returns no partial result.

Baseline CSV

Comparison CSV

The first record contains column names. Leading and trailing header whitespace is removed; empty or duplicate names are rejected. Quoted delimiters, line breaks and doubled quotes are supported. Data stays as original text, and only completely blank records are skipped.

Paste CSV or select a file to begin.

Comments & questions

Record Reconciliation

A line comparison can exaggerate changes when an exported table is sorted differently. This workbench identifies the same record using your unique business keys, then compares fields by column name. Separate reports show added, deleted, modified and unchanged records, plus the before and after values of each changed field.

Key features

  • Identify records with 1–4 compound keys regardless of row order
  • Reject empty or duplicate keys with CSV record locations
  • Record-level status and field-level change tables
  • Distinguish added/removed columns, absent values and empty strings
  • Absolute and relative tolerance for selected numeric fields
  • Preserve source strings and download complete CSV details

How to use

  1. Paste the baseline and comparison CSV or select UTF-8 files.
  2. Choose delimiters and read both tables.
  3. Select 1–4 shared column names that uniquely identify each record.
  4. Optionally choose numeric fields and tolerances, then reconcile.
  5. Review record statuses and field changes, then export the needed detail table.

Use cases

  • Detect additions and removals in reordered weekly product lists
  • Track changed order records identified by compound keys
  • Separate measurement differences that fall within a chosen tolerance
  • Find fields added to or removed from an export schema

Frequently asked questions

How does this differ from text or JSON diff?

Records match by unique business keys instead of line or array position. Column order is ignored, field names are matched, and snapshot additions, removals and optional numeric tolerances have separate meaning.

Which row wins when keys are duplicated?

Neither. The tool stops and reports the duplicate CSV record. Use CSV Table Join for one-to-many relationships. Reconciliation requires one identifiable record per key, possibly made from several columns.

Are empty cells the same as absent fields?

An empty string means the column exists but contains no text. An absent value means its row or column is missing from that snapshot. The detail CSV retains before_present and after_present flags.

Can tolerances change how keys match?

No. Keys remain strings. Tolerances apply only to explicitly selected shared non-key fields. Relative tolerance 0.01 means 1%; cells that are not supported numbers fall back to exact string comparison.

Which numbers and CSV files are supported?

UTF-8 comma, semicolon and tab files are accepted up to 1 MiB, 5,000 rows and 32 columns each. Numeric comparison uses finite decimal/exponent values within the stated safe magnitude and JavaScript floating-point arithmetic. It is not an arbitrary-precision accounting calculator; specify an appropriate tolerance for rounding differences.

Does CSV export include only filtered preview rows?

No. It exports the complete selected record or field-change table. Filters and 50-row pages affect the preview only. Potential spreadsheet formula strings receive a leading apostrophe in downloaded CSV, with a protected-cell count.

Privacy

Pasted CSV, file contents, settings and results are processed in this page’s browser memory. This tool does not automatically send inputs to a server, URL, analytics event or browser storage. Files are created only when you request a download. Input changes, Clear all and leaving the page discard the result.

Related Tools

Data Dictionary BuilderJSON ↔ CSVJSON Structure DiffWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabAvro Schema EvolutionLocal SQL WorkbenchSchema Form BuilderMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabMechanism Linkage LabAnalysis Mesh GeneratorOpenAPI Contract InspectorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerJSON Schema ValidatorBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorGPX Track AnalyzerTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorMarkdown Table GeneratorBase64 EncoderJSON FormatterURL EncoderSQL FormatterCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorTimestamp ConverterJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →