Back to the BIM & IFC blog
Validation · 2026-05-20 · 8 min
Duplicate GUIDs in IFC: The Silent Error That Breaks Everything
Three weeks into a BCF coordination issue, you realise the comments reference elements that have vanished from the model. The model looks fine. The error: two elements sharing the same GlobalId — and every tool downstream has been silently confused since day one.
Duplicate GUIDs in IFC: The Silent Error That Breaks Everything — IFC Viewer Online article cover
What Is a GlobalId in IFC?
Every entity in an IFC file that inherits from IfcRoot — which includes every physical element, space, storey, building, and site — has a GlobalId attribute. It's a 22-character string using a custom base-64 alphabet, and it's supposed to be globally unique, stable across revisions, and persistent across software round-trips.
#100 = IFCWALL('3LYa_FRDj3zhLfyYoQv6Jr', $, 'Exterior Wall - 300mm', $, $, #88, #92, $, .NOTDEFINED.);
#101 = IFCDOOR('3LYa_FRDj3zhLfyYoQv6Jr', $, 'Door D001', $, $, #89, #93, $, .NOTDEFINED.);
// Both elements share the same GlobalId — IFC schema violation.
The IFC spec (ISO 10303-21) forbids duplicate GlobalIds. But the spec can't enforce it — file parsers load whatever they're given. Most parsers don't even check. The result: a structurally valid file that two elements claim as their own.
Why Duplicates Happen
- Revit re-exports: By default, some Revit export configurations regenerate GUIDs on every export. Two exports of the same model produce different GUIDs — then if a third export copies an element from an older file, you get collisions.
- Copy-paste in authoring tools: Duplicating a family instance without triggering a GUID refresh — common in ArchiCAD and Vectorworks — produces two elements with identical GlobalIds.
- Model merges: Merging two IFC files without checking for GUID collisions between them is a guaranteed way to introduce duplicates, especially if both files were exported from the same source model.
- Script-generated GUIDs: Custom export scripts that generate GUIDs using plain UUID (32 hex chars) and truncate to 22 characters without the correct base-64 encoding — producing non-unique strings or invalid format.
What Duplicate GUIDs Break
BCF coordination
BCF issues reference elements by GlobalId. A duplicate means comments attach to whichever element the receiving tool happens to load first — the other element becomes unreachable by reference.
Revit IFC links
Revit's IFC link resolver uses GlobalIds to track element versions across model updates. Duplicates cause elements to randomly switch identity between updates, breaking change-tracking.
CDE asset registers
CDEs like ACC and ProjectWise index IFC elements by GlobalId for handover data. Duplicates create phantom assets that appear in the register but can't be located in the model.
COBie exports
COBie sheets key facilities management data to IfcSpace and IfcAsset GlobalIds. Duplicate spaces produce duplicate rows in the FM handover package.
How to Detect Duplicate GUIDs
Run validation before any CDE delivery. The RULE_DUPLICATE_GUID check flags every element that shares a GlobalId with another — and it's auto-fixable, meaning the validator can generate new spec-compliant GUIDs for the duplicates in one click.
Validate the Duplex model live
Open the buildingSMART duplex in the viewer to see what a clean validation report looks like. Then try opening one of your own project files to check for duplicate GUIDs.
IFC2x3 · 2.4 MB
Open the interactive IFC viewer
How to Fix Duplicate GUIDs
Option 1: Auto-fix in the validator
The IFC Viewer validator marks duplicate GUID issues as auto-fixable. Click the fix icon next to any RULE_DUPLICATE_GUID issue and a new spec-compliant GlobalId is generated — a 22-character string using the correct IFC base-64 alphabet (0–9, A–Z, a–z, _, $) with a leading character in 0–3.
Option 2: Fix in Revit
In Revit with the open-source IFC exporter: File → Export → IFC → Modify Setup → Advanced tab → set "Export IFC GUIDs" to "Keep Existing". This preserves the stable GlobalIds Revit internally assigns rather than regenerating them on each export.
Option 3: Fix in ArchiCAD
In ArchiCAD: File → Save As → IFC 2x3 → Settings → IFC Translation Settings → enable "Write stable GlobalIDs (from AC internal IDs)". Without this enabled, ArchiCAD generates new GUIDs on every export.
Duplicate GUIDs in IFC: The Silent Error That Breaks Everything