IFC Compare
Load two revisions and see what actually changed between them, element by element and property by property.
Model A, the earlier version
Drop your IFC here
or
Large models work best on a desktop browser. Files above roughly 500.0 MB may exceed browser memory.
Model B, the newer version
Drop your IFC here
or
Large models work best on a desktop browser. Files above roughly 500.0 MB may exceed browser memory.
Load both models to compare them. Both stay on your device.
How it works
- 1Load the earlier model as A and the newer one as B. Both are read from your disk locally.
- 2Elements are matched by GlobalId, the identifier meant to survive between revisions.
- 3Added, removed, modified and unchanged are counted, and every modification is itemised.
- 4Filter by class or storey, then export the full comparison as CSV or JSON.
About IFC Compare
"What changed since last week?" is one of the hardest questions to answer honestly about a BIM model, and one of the most frequently asked. Looking at two versions side by side in a viewer tells you almost nothing about a fire rating that moved from 60 to 90.
Matching on GlobalId is what makes a real answer possible. It is the one identifier IFC intends to be stable across exports, so an element that keeps its GlobalId is the same element even if its name, level and every property changed.
That also makes this a diagnostic for something else. If two consecutive exports of the same model share no GlobalIds, the exporter is regenerating them, and every issue, clash reference and checking result raised against the earlier file is now orphaned. The tool says so explicitly rather than reporting a hundred percent change and letting you draw the wrong conclusion.
Geometry is not compared, and the interface says so plainly rather than implying more than it does. Metadata and property comparison catches the overwhelming majority of coordination questions, and it is honest about its limits.
Questions
- Are my IFC files uploaded anywhere?
- No. Both files are read by your own browser using a WebAssembly IFC parser, and the comparison runs on your machine. Neither model is sent to FreeBIMTools, and there is no upload endpoint for them.
- Does it compare geometry?
- Not yet. This compares identity, placement and properties: names, object types, storeys, IFC classes, property sets and quantities. Geometric comparison is a substantially harder problem, and claiming to do it while only checking metadata would be misleading. The result format is built so geometry can be added later without changing how added, removed and unchanged are reported.
- Everything shows as both removed and added. What happened?
- The two files almost certainly do not share GlobalIds. That usually means the exporter regenerated identifiers rather than that the building was replaced. It is worth fixing at the source, because the same problem breaks issue tracking between revisions, not just this comparison.
- Why compare by GlobalId rather than by name?
- Because GlobalId is the only identifier designed to survive between revisions. Names change, get duplicated and are often left at a default. Express ids are regenerated on every export, so they are useless for this.
- What counts as modified?
- Any difference in name, object type, storey, IFC class, or any property or quantity value. Each modified element lists the specific fields that changed with their before and after values. Very small floating point differences in quantities are ignored, because two exports of unchanged geometry rarely produce bit-identical numbers.
- Can it read Revit .rvt files?
- No, and no browser tool honestly can. RVT is a proprietary format that needs Revit itself. Export IFCs from both revisions and this tool will compare them.
Was this useful, or is something missing? There is no rating widget here, because a thumbs up with nowhere to go is not feedback. Tell us what IFC Compare should do, and describe the job rather than the feature.