IFC Performance Check
Analyse what's driving file size and viewer performance — triangle counts, geometry complexity, and the heaviest elements in the model. Run it on its own, or stack it with other checks in the Validation Center.
Find out why an IFC model is slow and heavy, and what would actually make it lighter. Upload the model and get its complexity broken down by class, a count of the entities that dominate its file size, and a read on whether optimisation is worth running.
"The IFC is too big" is a symptom with several unrelated causes, and guessing between them wastes time. A 400 MB file might be a genuinely large building, or a small one carrying an imported mesh, or a model where annotation and grids outnumber the construction, or one whose geometry was written at a tessellation density nobody asked for. Each has a different fix, and the file itself says which it is.
When to reach for it: When a model is slow to open or too large to share and you want to know exactly what's driving it before optimising. Pinpoints the elements generating most of the triangles instead of guessing.
What you get: A findings report ranking the heaviest elements by triangle count and geometry complexity, with the file-size drivers called out — exportable to HTML / CSV.
Example: Identify the handful of elements generating most of the triangles before deciding what to optimise.
Counting the entities that actually drive size
IFC step files are text, and their size is dominated by a small number of entity types — IfcCartesianPoint and IfcPolyloop above all, because every vertex and every mesh loop is its own entity with its own line. Counting those gives a reliable size proxy without reading the bytes on disk and without tessellating anything, which is why this check is fast enough to run on a file you're only curious about.
The section reports the top classes by item count as notes rather than as findings. That's a deliberate distinction: "this model contains 40,000 IfcPolyloops" is triage information, not a defect, and dressing it up as a warning trains people to ignore warnings. A finding is raised only when the representation item count crosses a threshold — and even then at LOW severity, as an optimisation opportunity, because a genuinely large building being large is not a fault.
Reading the class breakdown
The top-N breakdown is where the diagnosis usually happens, because the classes that dominate tell you what kind of problem you have. A model led by IfcCartesianPoint and IfcPolyloop is carrying mesh geometry — imported components, or an over-tessellated conversion from another format. One led by annotation, grid or space classes is carrying documentation that a coordination model doesn't need. One where a single furniture or equipment class dominates has a handful of heavy families doing all the damage.
In deep mode, when mesh data is available, the check names the heaviest individual products by triangle count and estimates the gain from optimising them — which turns the diagnosis into a list of specific elements to act on.
The fixes, roughly in order of return
- Reduce IFC File Size — strips the geometry nothing displays. Usually the largest single win and the safest, since it removes what no viewer was showing anyway.
- Delete IFC Elements — drops whole classes that don't need to travel: annotation, grids, spaces, furniture. Enormous on models led by those classes.
- Bounding Box Simplification — replaces heavy detail with boxes where the exact shape doesn't matter. The right tool for imported components with absurd triangle counts.
- Strip IFC Materials — removes material definitions, which most downstream consumers regenerate or ignore.
- Deep Purge IFC — clears unreferenced entities the model no longer needs at all.
- Split IFC Model — when the model is legitimately large, send one storey or zone rather than making it smaller.
How to analyse IFC file size and performance
- Upload your IFC file
- Click Run — no configuration needed
- Review the triangle counts, geometry complexity, and heaviest elements
- Export the report, or feed the findings into a cleanup tool like Reduce IFC File Size
Under the hood
BIMCamel parses IFC files in the browser using the open-source web-ifc engine and renders models with @thatopen/components + three.js. Heavy operations (clean / optimise / validate / convert) run on disposable server-side workers using the same web-ifc stack plus our own .NET pipeline; results stream back to your browser as soon as they're ready. Uploads sit on our servers only as long as your tier's retention window allows and are never used to train AI.
Frequently asked questions
Why is my IFC file so large?
Run this check — it counts the entity types that dominate IFC file size (IfcCartesianPoint and IfcPolyloop above all, since every vertex and mesh loop is its own line of text) and breaks the model down by class, so you can see whether the weight is mesh geometry, annotation, or a genuinely large building.
Does it tell me how much smaller the file could get?
When mesh data is available it names the heaviest individual products by triangle count and estimates the gain from optimising them. Without it, the class breakdown still tells you which tool to reach for — the classes that dominate identify the kind of problem.
Why is a big file reported as Low severity rather than an error?
Because a large building being large is not a fault. The finding is an optimisation opportunity, and it's raised only once the representation item count crosses a threshold. Reporting size as an error would train people to ignore the report.
Which tool should I run to make it smaller?
Reduce IFC File Size first — it strips geometry nothing displays and is the safest big win. Then Delete IFC Elements for classes that don't need to travel, Bounding Box Simplification for imported components with excessive detail, and Split IFC Model when the model is legitimately large and the recipient only needs part of it.
Does this check need to process the geometry?
No — it works from static entity counts, so it's fast even on very large files. Mesh data is used when it happens to be available, to name the heaviest specific elements.
What's the maximum IFC file size?
Up to 25 MB as a guest, 100 MB with a free account, 500 MB on Pro, and 1 GB on Team. The caps are on upload size only — every tool itself is available on every tier.
What happens to my file after processing?
Your file is uploaded over HTTPS and processed on our servers. Guest uploads are stream-only — the working files are deleted as soon as your download finishes. Free accounts keep results for 7 days; Pro keeps them 90 days and Team 180 days. Files are never shared with third parties or used to train AI.
Is IFC Performance Check free?
Yes. IFC Performance Check is free to use — guests get 3 runs a day with 25 MB uploads, and a free account raises that to 10 runs a day with 100 MB uploads. No trial clock, no watermarks.