Geo Dataset Compare
Compares two independently-loaded geo files — a re-export against the original, a hand-edited version, or output from a repair tool — and reports exactly what's different rather than requiring you to spot it by eye. Feature count and bounding box before vs. after, which geometry types gained or lost features, which property keys appeared or disappeared, and which shared properties became emptier (present before, increasingly blank or missing after) even when the key itself survived. Severities are softer than a lossy-conversion checker's: a decreased geometry-type count is a warning, not an error, since this tool can't tell a legitimate cleanup from accidental data loss — it reports the fact, not a verdict. Shares its comparison engine (lib/geo/compare.ts) with the Geo Conversion Loss Inspector, so the two tools behave identically on the numbers they share. Any two supported formats can be compared against each other — GeoJSON, KML, GPX, CSV, WKT, TopoJSON, or a Shapefile .zip. Nothing is uploaded; both files are read and compared in your browser.
Nothing is uploaded — both files are read and compared entirely in your browser.
About this tool
This tool answers a specific question a plain file viewer can't: not "what does this file contain" but "what's actually different between these two files." Point it at a before and an after — the original export and a re-export, a raw dataset and a repaired one, an older version and a newer one — and it reports the feature count change, which geometry types gained or lost features, which property keys appeared or disappeared, and which shared properties became emptier (present before, increasingly blank or missing after) even when the key itself survived. Severities are deliberately softer than a lossy-conversion checker's: a decreased geometry-type count is a warning, not an error, because this tool has no way to know whether a decrease means accidental data loss or a legitimate cleanup — a repair tool correctly discarding invalid geometries produces the exact same signal as a bug that dropped them by accident. It reports the fact; you bring the context. This tool shares its comparison engine with the Geo Conversion Loss Inspector — the same lib/geo/compare.ts module powers both — so the numbers behave identically whether you're checking a format conversion's side effects or two independently-maintained files. Nothing is uploaded; both files are read and compared in your browser.
What you can do
- Compare two geo files — a re-export, a hand-edit, or a repaired version against the original
- Feature count, geometry type breakdown, bounding box, and property schema, before vs. after
- Flags a property that got emptier between versions, not just one that disappeared entirely
- Nothing is uploaded — both files are read and compared entirely in your browser
How to use
Step 1
Pick a Before and an After file
Any two geo files — same format or different, GeoJSON/KML/GPX/CSV/WKT/TopoJSON, or a Shapefile .zip.
Step 2
The comparison runs automatically
Geometry types, property keys, and shared-property emptiness are all diffed the moment both files are read.
Step 3
Review what changed
Grouped by change type, worst first — a decrease is a warning, an addition is just an observation.
Example
A finding looks like this:
COMPARE.NULL_RATE_INCREASED
Property "owner" is empty or missing in 42% of after-features, up from 3% before.
That's the kind of quiet data-quality regression a feature-count check alone would never catch — the property is still there, it's just increasingly blank.
How your data is handled
This tool is labeled 🟢 Browser: both files are read directly via your browser's File API and every comparison runs entirely client-side — nothing is uploaded, and there's no server involved anywhere in this tool. No AI model is used; every finding comes from directly comparing the two parsed datasets, not a prediction.
Frequently asked questions
Do the two files need to be the same format?+
No — compare a Shapefile against its GeoJSON export, or a KML export against a CSV pulled from the same source. Both sides are parsed into the same internal model before comparing, so the format itself never matters to the result.
Why is a decreased geometry-type count only a warning, not an error?+
Because this tool can't tell the difference between accidental data loss and a legitimate cleanup — a repair pass that correctly removes invalid geometries produces the exact same "count went down" signal as a bug that dropped features by mistake. It's flagged so you can look, not judged as automatically wrong.
What counts as a property becoming "emptier"?+
For every property key present in both files, the tool computes what fraction of features have that value missing, null, or an empty string on each side. A key is flagged only if that fraction rose by more than 10 percentage points from before to after — small, likely-coincidental changes on small datasets are left alone.
Does this show exactly which feature moved or changed?+
Not in this version — it compares dataset-level totals (counts, keys, emptiness), not feature-by-feature geometry. There's no reliable way to match "this specific feature" between two independently-loaded files without an ID both sides share, so this tool reports the aggregate picture rather than guessing at a feature-level match.
How is this different from the Geo Conversion Loss Inspector?+
The Loss Inspector always compares a file against its own conversion output, so it knows any decrease is real loss and can label it an error. This tool compares two independently-loaded files with no known relationship, so it reports differences without assuming which direction is "wrong." Both share the same underlying comparison engine.