IFC Validator
Check any IFC file in seconds: syntax, schema, broken references, duplicate GlobalIds and more — with a shareable health report. Runs in your browser, nothing is uploaded.
Your file is processed locally in your browser. Nothing is uploaded.
Drop your IFC file here
.ifc and .ifczip · IFC2x3, IFC4, IFC4x3 — corrupted files welcome, diagnosing them is the point
No file at hand? Try a sample: ·
Why validate an IFC file?
Every IFC file is a promise: that the architect's export will open identically for the engineer, the contractor, the model checker and the facility manager. In practice the promise breaks quietly. An export gets interrupted and the file is truncated. A plugin writes entity classes from the wrong schema version. Two copies of a model get merged and suddenly hundreds of elements share GlobalIds. None of this is visible in the authoring tool — it surfaces days later, as an import error in someone else's software, or worse, as data that silently went missing.
Validating takes seconds and answers the question before the file goes out: is this deliverable structurally sound? And when a file someone sent you refuses to open, the validator answers the opposite question — what exactly is wrong with it, in plain language instead of a stack trace.
What gets checked
- STEP syntax — does the file parse as ISO-10303-21 at all; truncated or binary-renamed files are diagnosed with the failure location.
- Schema and classes — the declared IFC version, plus any entity classes the parser does not recognize (typically written by a mismatched exporter and silently dropped by viewers).
- References — every internal
#idpointer is resolved; broken ones are counted and listed with examples. - GlobalIds — duplicates and malformed IDs, the defects that break issue tracking and version control downstream.
- Structure — exactly one IfcProject, orphaned entities nothing references, and elements that declare no geometry.
- Context — the declared length unit and the exporting application from the file header, so scale surprises and provenance questions are answered up front.
How it works
- Drop an IFC file. .ifc or .ifczip, any size — and yes, deliberately including files that refuse to open elsewhere. Diagnosing broken files is half the job.
- Read the verdict. Valid, valid with warnings, or errors found — each finding explained in plain language, with concrete entity examples and severity, plus entity totals for every class in the model.
- Download the report. A single self-contained HTML file with the complete results — email it, attach it to the issue, drop it in the CDE, or print it to PDF from the browser. No account, no watermark limits.
Errors, warnings and info — reading the verdict
Errors mean some consumer of the file will lose data or reject it: syntax failures, broken references, a missing IfcProject. Fix these before delivering — usually by re-exporting from the authoring tool, since IFC files are not meant to be repaired by hand. Warnings mean the file works but carries risk: duplicate GlobalIds, unknown classes, an unreadable length unit. Whether they matter depends on your workflow — duplicated GlobalIds are harmless for a one-off visual check and fatal for CDE version tracking. Info findings are observations, not problems: orphaned entities are dead weight you can strip with the IFC compressor, and elements without geometry are often intentional (zones, systems, abstract items).
A useful habit from BIM coordination practice: validate on both sides of every handover. The sender validates before uploading to the CDE — a 10-second check against a rejected deliverable. The receiver validates before importing — so that when something looks wrong in the coordination model, the conversation starts with "your file has 300 broken references, here is the report" instead of a screenshot and a guess.
When the file will not open anywhere
This is the case most validators handle worst, and the one we built for. A truncated export, an interrupted download, a .rvt renamed to .ifc, a zip with the wrong extension — instead of a cryptic parser exception, the report tells you what the file actually is, where parsing stopped, which entity was the last complete one, and what to do about it (usually: re-export or re-transfer, because a missing tail cannot be reconstructed). If the file turns out to be fine but heavy, compress it; if it is fine but you need to see it, open it in the free IFC viewer — and if the data inside is the question, the properties explorer searches every Pset without loading 3D.
IDS validation is coming
Checking a file against an Information Delivery Specification — required properties, classifications, naming conventions — is the natural next step after file health, and it is on our roadmap. If IDS checking in the browser would save you a desktop tool, join the waitlist from the tool above; demand decides how fast it ships.
Frequently asked questions
What does the validator actually check?
Nine health checks in one pass: STEP syntax (does the file parse at all), IFC schema recognition, unknown entity classes, broken express-ID references, duplicate and malformed GlobalIds, orphaned entities nothing references, elements without geometric representation, the declared length unit, and the exporter information in the file header. The result is a verdict — valid, valid with warnings, or errors found — with every finding explained and a full entity count per class.
Is this an official IFC certification?
No. Formal IFC certification is a buildingSMART program for software vendors, not for individual files. This tool is a practical health check: it tells you whether a file is structurally sound, parseable by the same engine many web viewers use, and free of the defects that most often break imports downstream. For contractual model checking against exchange requirements, your BIM execution plan rules still apply.
Does it validate against IDS (Information Delivery Specification)?
Not yet — version 1 focuses on file health: syntax, structure and integrity. IDS validation, where the file is checked against a machine-readable requirements definition, is on our roadmap; join the waitlist from the tool if you need it and we will notify you when it ships. Until then, the health report catches the file-level problems that make IDS checking impossible in the first place.
What are broken references and why do they matter?
Inside an IFC file, every entity refers to others by its express ID (#123). A broken reference points at an ID that does not exist — usually the result of hand-editing, a buggy exporter, or an interrupted write. Strict importers reject such files outright; tolerant ones silently drop the affected entities, which can lose geometry or properties without anyone noticing. The validator counts them and lists concrete examples with the referencing entity and the missing target.
Why are duplicate GlobalIds a problem?
GlobalIds are the identity of BIM elements: issue tracking, model diffing, CDE version control and federation all assume they are unique. When two elements share one, updates get applied to the wrong element, clash results point at the wrong object, and some model checkers reject the file. Typical causes are copy-pasted elements in the authoring tool or merging two copies of the same model. The report lists each duplicated GlobalId with the entities that share it.
My file opens fine in a viewer but the validator reports problems — who is right?
Both. Many viewers are deliberately tolerant: they skip entities they cannot resolve and show you the rest, which is the right behavior for viewing. Validation answers a different question — whether every consumer of the file will read the same complete data. A file that renders in a tolerant viewer can still fail in Revit, a model checker or an analysis tool. The findings tell you what the tolerant viewers silently skipped.
Is my model uploaded to a server?
No. The file is parsed and checked entirely in your browser using WebAssembly, in a background thread. Nothing leaves your machine — which is exactly what you want when validating confidential tender or NDA-covered models. The downloadable report is generated locally too.