IFC2x3 vs IFC4 vs IFC4x3: which version should you use?
Updated · IFCfiles team
Short version: use IFC2x3 when a receiving tool or the BEP demands it, IFC4 when you have the choice, and IFC4x3 when the asset is infrastructure. The long version explains what actually changed between them — because "newer is better" is only half true in openBIM, and the industry's most-used version is two decades old for reasons that aren't laziness.
IFC2x3: the incumbent (2006)
IFC2x3 TC1 is still what most of the world exchanges. Twenty years of implementations mean its behavior is thoroughly known: every authoring tool exports it, every checker reads it, and its Coordination View 2.0 MVD is the certified baseline that tools like Solibri and Navisworks were hardened against. When a government mandate or a BEP says "IFC", unqualified, it usually still means IFC2x3 CV2.0.
Its age shows in specific places: geometry is limited to older representation types (larger files, coarser curved shapes), property templates are looser (vendors invented their own dialects), and there is no real support for anything outside buildings. Reliable, ubiquitous, dated.
IFC4: the current standard for buildings
IFC4 (2013, refined through Add2 TC1) is the version buildingSMART certifies new software against. What changed that you'll actually notice:
- Better geometry. Native NURBS and tessellated representations — curved facades and complex shapes export smaller and truer than IFC2x3's approximations.
- Cleaner data model. Standardized property templates, base quantities
(
Qto_sets) properly defined — takeoffs get more consistent across authoring tools. - Purpose-built MVDs. CV2.0 split into Reference View (lightweight, for viewing/checking — what you want 95% of the time) and Design Transfer View (richer, for taking geometry onward into another authoring tool).
- Real MEP coverage. Systems, ports and distribution elements that IFC2x3 modeled vaguely.
The historical objection — "IFC4 exports are immature" — has mostly expired: Revit, ArchiCAD and Tekla all ship certified, solid IFC4 export today. The remaining friction is downstream, in older pipelines and conservative BEPs.
IFC4x3: IFC leaves the building (2024)
IFC4x3 is IFC4 extended to infrastructure: alignment-based geometry (chainage along a road or track), earthworks, bridges, rail, ports and waterways. It became ISO 16739-1:2024, and national road/rail authorities (Scandinavia and the Netherlands first, as usual) are already writing it into requirements.
Two honest caveats. For pure building projects it changes little — don't switch for novelty. And tool support is still uneven: authoring exports exist (Civil 3D, OpenRoads, Tekla), but plenty of viewers and checkers haven't caught up. Test your chain before committing a deliverable to it. (Ours reads all three versions — the schema badge appears the moment you drop the file in the viewer.)
The differences that matter, in one table
| IFC2x3 | IFC4 | IFC4x3 | |
|---|---|---|---|
| Year / status | 2006 · de-facto default | 2013 · certified standard | 2024 · ISO, adoption growing |
| Tool support | Universal | Broad and mature | Growing, uneven |
| Geometry | Legacy types only | + NURBS, tessellation | + alignment/linear placement |
| Scope | Buildings | Buildings (better MEP) | + roads, rail, bridges, ports |
| Key MVDs | Coordination View 2.0 | Reference View, Design Transfer View | Reference View 4x3 |
Choosing in practice
The version is only half the decision — the MVD is the other half, and mismatched MVDs cause more support tickets than mismatched versions. A sane default policy:
- BEP or receiving tool mandates a version → that version. Interoperability beats elegance.
- Building project, free choice → IFC4 Reference View.
- Geometry continues into another authoring tool → IFC4 Design Transfer View, expectations managed (see what survives conversion).
- Infrastructure → IFC4x3 — after a pilot file through the whole chain.
Whatever you export, audit it once before it leaves the office: check the schema badge and click through key elements in the viewer, then scan the Psets in the properties explorer — version arguments dissolve quickly when you can see what the file actually contains. Exporting from Revit specifically? The settings that make or break the file are in how to export Revit to IFC correctly, and the basics of the format live in what is an IFC file?