How to Compare Two IFC File Revisions and See What Changed

Side-by-side diff of two IFC models. See which elements were added, deleted, moved, or had their properties modified between revisions.

When a consultant sends you "v3" of a model, the one question you actually want to answer is: what changed since v2? Opening both files in a viewer and scrolling around is slow and unreliable. BIMCamel does the diff for you.

What the Compare tool does

Point it at two IFC files — typically an older and a newer revision of the same project — and it reports every difference:

  • Added elements — things in the new file that were not in the old.
  • Deleted elements — things in the old file that are gone from the new.
  • Moved elements — same GUID, but the geometry now sits in a different location.
  • Modified elements — same GUID and location, but geometry, properties, or quantities changed.
  • Unchanged elements — untouched between revisions (usually the majority).

Step-by-step: compare two revisions

  1. Upload both IFC files. Name them clearly — for example, "ArchModel_v2.ifc" and "ArchModel_v3.ifc".
  2. Open the Compare IFC tool.
  3. Select which file is the "old" version and which is the "new" version. Order matters: added/deleted counts flip if you swap them.
  4. Click Run. BIMCamel walks element by element, matching on IFC GUID wherever possible and falling back to geometric proximity for elements without stable GUIDs.
  5. Review the report. Each category (added, deleted, moved, modified) is a collapsible list with element type, name, GUID, and location. Click an entry to see a 3D preview of that element in context.

Why GUIDs matter for compare

IFC GUIDs are unique identifiers assigned to each element by the authoring tool. When GUIDs are preserved across exports (which most BIM authoring tools do by default), Compare is extremely accurate — it matches the same wall between versions even if the wall has been moved or resized.

If the two files were exported with different GUID strategies (for example, a fresh export after a model rebuild), GUIDs will not line up and the tool falls back to geometric matching. That still works but produces more "added/deleted" noise and fewer clean "modified" matches. Before comparing, run IFC Viewer on both files to check that GUID sets overlap — if they do not, consider running Repair GUIDs first.

Common scenarios

  • Design review. A client asks "what did you change since last week?" Compare gives you a screenshot-ready list of every revision.
  • Contractor coordination. The structural engineer sends a new model after clash resolution. Compare tells the MEP designer exactly which beams moved.
  • QA on imported models. After re-exporting from authoring software, compare the new IFC against the previous one to catch unintended changes.
  • Handover verification. Compare the as-designed model against the as-built model to produce a formal change log.

Tips for a clean compare

  • Clean both files first. Run Model Health Check on each revision to catch orphaned geometry and duplicate GUIDs that would confuse the comparison.
  • Use the same coordinate system. If one revision was exported with shared coordinates and the other with project coordinates, every element will appear "moved." Run Fix IFC Coordinates first if needed.
  • Match schema versions. Comparing an IFC2x3 file against an IFC4 file works, but some property sets may not map one-to-one. For a pure geometry/GUID diff, it is fine; for a property diff, consider upgrading both to IFC4 first.

Compare is one of the most underused tools in BIM workflows. For the cost of a few seconds of processing, you get a precise answer to the single most-asked question on any project: what changed?

Tools mentioned in this guide