IFC Classification Checker
Find out how much of a model is actually classified, which codes are in use, and which elements carry nothing.
Drop your IFC here
or
Large models work best on a desktop browser. Files above roughly 500.0 MB may exceed browser memory.
How it works
- 1Select an IFC file. It is read from your disk by your browser and goes no further.
- 2Classification relationships are walked and inverted, so every element carries its own references.
- 3Coverage is reported per IFC class, worst first.
- 4Codes in use are listed with how many elements carry each.
- 5Export the unclassified elements as CSV, Excel or JSON.
About IFC Classification Checker
Classification is the quiet requirement. It appears in almost every information requirement and almost no export checklist, so a model arrives complete in geometry, complete in properties, and carrying no codes at all. The failure surfaces at cost planning or handover, weeks later, when someone tries to map the model to a cost plan or an asset register and finds nothing to map on.
This tool answers the question directly: what percentage of the model is classified, class by class, which systems the file declares, and which codes are in use.
The coverage table is ordered worst first on purpose. A class at zero and a class at eighty percent are different problems. Zero usually means a whole category was skipped by the classification effort or filtered out on export. Eighty percent usually means individual elements were missed. Seeing the zeroes first is what makes the report actionable.
What the tool will not do is tell you whether a code is correct. The published tables are licensed documents that change edition to edition, and a browser cannot carry them. Reporting that EF_25_10 is used forty times is a fact. Reporting that it is the right code for those forty elements would be a claim this tool has no basis for.
One thing it does flag is a code with no system behind it. The same string means different things in different tables, so a reference that does not resolve to a declared classification is ambiguous, and anything matching on the code alone will eventually map it to the wrong thing.
Questions
- What is a classification reference in IFC?
- A link from an element to a code in a classification table. IFC stores it through IfcRelAssociatesClassification, which points at an IfcClassificationReference such as EF_25_10, which in turn belongs to an IfcClassification such as Uniclass 2015. Cost planning, asset registers and most information requirements depend on those codes being present.
- Does it check that a code is valid?
- No, and it says so rather than implying otherwise. Uniclass, OmniClass, MasterFormat and the national tables are licensed documents that change between editions, and a browser tool cannot carry them. What it reports is which codes appear, how often, which systems the file declares, and which elements carry nothing. Whether EF_25_10 is the right code for that wall is a question for whoever owns the classification.
- Why does the coverage table start with the worst class?
- Because a class at zero is a different problem from a class that is nearly done. Zero usually means a whole category was skipped, either in the authoring tool or by an export filter. A class at eighty percent usually means individual elements were missed. The two need different fixes, so the ordering puts the first kind in front of you.
- What does an unresolved system mean?
- That a code was found but the file does not say which table it belongs to. The reference has no ReferencedSource pointing at an IfcClassification, so the code is floating. It matters because the same string means different things in different tables, and a downstream tool matching on the code alone will map it to the wrong thing.
- My model has no codes at all. Why?
- Classification is written only if codes were applied in the authoring tool and the export was configured to include them. Both are easy to miss, and neither produces a warning. A model can be complete in every other respect and carry no classification whatsoever, which is worth finding out before it is issued rather than after.
- Is my IFC file uploaded anywhere?
- No. The file is read by your own browser using a WebAssembly IFC parser. The model is never sent to FreeBIMTools or anywhere else, and there is no upload endpoint for it.
- Can it read a Revit .rvt file?
- No, and no browser tool honestly can. RVT is a proprietary format that needs Revit itself. Export an IFC from Revit and this tool will read it.
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 Classification Checker should do, and describe the job rather than the feature.