BIM & files

IFC file health checker

Check STEP structure, references and duplicate IDs, then download the findings.

Free to use & exportNo signupLocal processing

Loading the local tool…

What an IFC file health checker does

An IFC file health checker runs structural tests on an IFC model and lists anything that would stop other software reading it reliably: a truncated file, broken STEP records, references to records that do not exist, duplicate IDs, a missing unit assignment or more than one project. This one checks IFC2X3 and IFC4 files in your browser and downloads the findings as CSV or JSON.

Run it when an IFC will not open, opens with missing elements or behaves oddly in a coordination tool, and before you issue a model to someone else. The checks are deterministic: the same file always gives the same findings.

It is not a full validator. It does not check every rule in the IFC schema, run full IDS specifications, detect clashes or judge building code compliance. It does apply simple IDS-lite rules of the form class must carry property set, with presets such as IfcWall → Pset_WallCommon, and it can check several files in one batch. Read a clean result as no structural faults found by these checks, not as certification.

How to use the IFC file health checker

  1. Choose one or up to 8 local .ifc files (50 MB each, 100 MB in total) and press Open model. To see what a clean result looks like, open the IFC4 or IFC2X3 sample.
  2. If a file cannot be read at all, for example because it is truncated or uses an unsupported schema, an error explains why. Press Download diagnostic to save a text note of the failure.
  3. Read the severity pills for the error, warning and info counts, then review the Selected file checks table. Each row gives the severity, the check, the records involved and a fix-it hint for that kind of finding. With several files, the Batch summary table lists counts per file; press Show to open one file's details.
  4. Adjust the IDS-lite rules: each row requires a property set on every element of a class. Edit the class or set name, remove rows, press Add rule for a blank row or Add presets for the common Pset_*Common rules. Results appear as IDS rule findings at once.
  5. Download the findings with Download report CSV or JSON; both include the schema, the record count, the rules and a hint per finding. For a batch, Combined CSV and Combined JSON hold the per-file summary and every finding.
  6. Fix problems at the source: correct the authoring model or export settings, export again, and re-run the check on the new file.

Worked example

The included valid sample should have no duplicate IDs or dangling references. A removed referenced record produces a finding.

What's inside an IFC STEP file

An .ifc file is a text file in the STEP physical file format defined by ISO 10303-21. It starts with the line ISO-10303-21; and ends with END-ISO-10303-21;. Between them are two sections.

The HEADER section describes the file. FILE_DESCRIPTION often names the model view definition, such as ViewDefinition [CoordinationView_V2.0]. FILE_NAME records the file name, timestamp, author, organization and the software that wrote it. FILE_SCHEMA names the IFC version, such as IFC2X3 or IFC4.

The DATA section holds the model, one record per statement, for example #37=IFCWALL('0Harth0000000000000037',#5,'Sample wall A',$,$,#36,#35,$,.NOTDEFINED.);. The number after # is the express ID and IFCWALL is the entity type. The arguments are the entity's attributes in schema order: text sits in single quotes, $ means an unset value, enumerations are wrapped in dots, and #36 is a reference to another record.

Most faults this tool reports are problems with those IDs and references. Because records point to each other by number, one missing or duplicated line can break everything that depends on it.

What each IFC check means

The first three checks decide whether the file can be read as IFC2X3 or IFC4 at all; if one fails, checking stops with an error message. The rest are collected together so you see every finding in one pass.

Checks, severities and their usual causes
CheckSeverityWhat it meansUsual cause
STEP envelopeStops the checkThe file does not start with ISO-10303-21; or end with END-ISO-10303-21;, or has an unclosed string or recordInterrupted export or download, or a file that is not STEP text (ifcXML, a renamed ZIP)
DATA sectionStops the checkThere is not exactly one DATA section closed by ENDSECTruncated file or files joined end to end
SchemaStops the checkFILE_SCHEMA is not IFC2X3 or IFC4IFC4X3 or older IFC2X2 exports
Record syntaxErrorA DATA statement does not match the #id=IFCENTITY(...); patternHand edits or damaged text encoding
Express ID / Duplicate express IDErrorAn ID is not a valid positive number, or the same #number is defined twiceFiles concatenated or a faulty script
Dangling referenceErrorA record refers to a #number that does not existRecords deleted by hand or by a filtering script; incomplete export
Project countWarningThe file has zero or several IfcProject recordsModels combined without merging projects; partial exports
UnitsWarningNo IfcUnitAssignment, so values cannot be interpreted safelyMinimal or script-generated files
GlobalId formatWarningA GlobalId is not 22 characters from the IFC character setTools writing standard 36-character GUIDs, or hand-typed IDs
Duplicate GlobalIdErrorTwo root entities share a GlobalIdCopied elements or files, or exporter mapping problems
Parser record / Record countError / Warningweb-ifc could not read a record, or exposes a different number of records than the STEP text holdsMalformed or unsupported entities
IDS ruleWarning / InfoAn IDS-lite rule such as IfcWall → Pset_WallCommon found elements without that property set, or confirms that all carry itProperty set not mapped in the export setup, or attached under a different name

Worked example: finding a broken reference

Press Download sample and open harth-sample.ifc in a text editor. Line #33 defines the extruded solid that gives Sample wall A its body, and line #34, the wall's shape representation, points to it. Delete the #33 line, save the file and run the checker on it.

The report lists a Dangling reference error: #34 refers to missing #33. The rest of the file is intact, but any application that tries to build wall A's geometry will fail or skip it. In a real model the fix is to export again from the authoring tool rather than patch the text, because you cannot know what the missing record contained.

Two more quick experiments show the other checks. Change FILE_SCHEMA(('IFC4')) to IFC4X3 and the file is rejected as an unsupported schema. Copy a DATA line such as #51 and paste it a second time, and the file is flagged: the STEP scan reports a Duplicate express ID, and if the parser cannot open the file at all, that is reported instead.

When you need more than a health check

This checker is quick and private, so it is a good first pass. Some questions need other tools:

  • Schema conformance: buildingSMART's validation service checks files against the IFC schema and its rules in far more depth, and is the reference when a file's conformance is in dispute.
  • Information requirements: IDS (Information Delivery Specification) is a buildingSMART standard for machine-readable requirements, such as every door needing a FireRating. The IDS-lite rules here cover only the simplest facet, a property set required on a class; full IDS checkers also test individual properties, values, classifications and relationships. To look at the properties yourself, use the IFC property inspector.
  • Clashes and geometry: coordination software detects clashes between disciplines. This checker does not open geometry at all.
  • Code compliance: no file check can certify a design against a building code. That still needs a qualified reviewer and the adopted code.

Who it is for and when to use it

Before issuing a model

Run the check on every IFC before it goes to a consultant, contractor or client, and attach the CSV report to the transmittal if useful.

Diagnosing a file that will not open

Find out whether the problem is a truncated download, an unsupported schema or broken references before spending time in the receiving software.

Preparing files for a merge

The IFC merge tool rejects files with errors, so check each input here first and fix issues at the source.

After changing export settings or software versions

Confirm that a new exporter version or setup still produces files with units, one project and unique GlobalIds.

Method, formulas & assumptions

Checks STEP envelope, supported schema, duplicate express IDs, duplicate root GlobalIds, missing entity references, project count, units and parser-readable records.

Parser: web-ifc 0.0.77. Library notices.

Common mistakes to avoid

  • Treating a clean report as full validation. These are structural checks plus simple required-property-set rules, not schema, full IDS or code checks.
  • Hand-editing IFC text to clear errors. Fixing one reference by hand can hide what the missing data should have been; export again instead.
  • Ignoring the Units warning. Without a unit assignment, every dimension and quantity in the file is ambiguous.
  • Assuming duplicate GlobalIds are harmless. They break issue tracking, version comparison and merges.
  • Renaming a .zip or .ifcxml file to .ifc. Extract or convert it properly first.
  • Checking a different export from the one you sent. Re-run the check on the exact file that was issued.

Scope & limits

Deterministic file checks only. This is not full EXPRESS/schema validation, IDS checking, geometry clash detection or building-code certification.

Frequently asked questions

How do I check if an IFC file is valid?

For a quick structural check, open it here to test the STEP structure, references, IDs, units and project count. For full schema conformance, use buildingSMART's validation service.

What is a dangling reference in an IFC file?

It is a record that points to another record number that does not exist in the file, such as #34 referring to a missing #33. Software that follows that reference cannot build the element correctly.

What causes duplicate GlobalIds in IFC?

Common causes are copied elements that kept their IDs, two exports of the same model combined into one, or an exporter that does not create unique IDs. Each root entity needs its own 22-character GlobalId.

Why does my IFC file show an unsupported schema?

This tool reads IFC2X3 and IFC4 only. Files declaring IFC4X3 or older versions such as IFC2X2 are rejected; re-export as IFC2X3 or IFC4 if your software allows.

What is the difference between an error and a warning?

Errors are faults that break the file's structure or identity, such as dangling references or duplicate IDs. Warnings, such as a missing unit assignment, mean the file can be read but some data may be unreliable.

Does it check IDS or model view definitions?

Only in a light form. The IDS-lite rules test that every element of a class carries a named property set, with presets for the common Pset_*Common sets, and you can add your own class and set names. It does not read .ids files or test individual property values, model view definition rules or the full IFC schema.

Can I check several IFC files at once?

Yes. Choose up to 8 files; each is checked in turn on your device. The batch summary lists errors, warnings and info per file, Show opens any file's full findings, and Combined CSV or Combined JSON export the summary with every finding.

Can the checker repair my IFC file?

No. It reports problems and leaves the file unchanged. Fix the source model or export settings and export again.

Is my IFC file uploaded for checking?

No. The checks run in a worker inside your browser. The file and the report stay on your device until you download them.

Do I need an account to download the result?

No. All calculations, local file processing and exports on this page are free, without an account.

Where are my inputs stored?

The tool keeps inputs in this browser tab. It does not upload them or create a cloud copy. Save or download anything you want to keep before leaving the page. Standard site analytics may operate independently of the tool.

Further reading

In this category

Keep developing your project in Harth.

Bring your ideas, models and project research into one workspace. Downloaded results are yours to take with you.