BIM & files

IFC property inspector

Search element classes, GlobalIds, property sets, quantities and project units.

Free to use & exportNo signupLocal processing

Loading the local tool…

What an IFC property inspector does

An IFC property inspector lists the non-graphical data stored in an IFC model: each element's class, GlobalId, name and attributes, plus the property sets, quantity sets and type properties attached to it. This one reads IFC2X3 and IFC4 files in your browser and shows values exactly as the file stores them.

Search across every value at once, plain or as a regular expression, filter to one IFC class or to elements carrying particular property sets, and click an element to see its complete record or download it as JSON. Load a second version of the model and the inspector lists every property that was added, removed or changed, matched by GlobalId. The project units sit alongside, because a Length of 4 means nothing until you know whether the model is in metres, millimetres or feet.

The inspector extracts; it does not infer. If a wall has no NetSideArea in the file, that field stays blank rather than being calculated from geometry. That makes it a dependable way to see what information an export really contains before anyone relies on it.

How to use the IFC property inspector

  1. Choose a local .ifc file (IFC2X3 or IFC4, up to 50 MB) and press Open model, or open the IFC4 or IFC2X3 sample.
  2. Check the summary: the schema and the number of root entities with GlobalIds. Expand Project units and note the length, area and volume units before reading any number.
  3. Type in Search names, GlobalIds, properties or express IDs. The search matches any text in an element's record, so a property name such as FireRating, a GlobalId or a value all work. Tick Regular expression for patterns such as ^Pset_.*Common or FireRating.*EI\d+; an invalid pattern is reported under the box.
  4. Narrow the list with the IFC class menu, for example IFCDOOR, and with the Property sets and quantities checkboxes, which keep only elements carrying at least one of the ticked sets. The table shows 100 rows per page; use Previous and Next to page through.
  5. Click an express ID such as #37 to show that element's full record: attributes, occurrence property sets, quantities, type properties (prefixed Type.) and any explicit units. Press Export element JSON to save just that record.
  6. Download what you found with Export filtered CSV. The export includes every matching row, not only the visible page, with one column per property found on the matching elements.
  7. To compare two versions, choose model B under Compare with a second model. Elements are matched by GlobalId; the table lists added, removed and changed properties as well as whole elements that appear in only one file, and Download diff CSV saves the complete list.

Worked example

The sample wall has a named property set and a length quantity; search ‘Sample’ or its GlobalId.

Property sets vs quantity sets in IFC

IFC separates descriptive information from measured information. A property set (IfcPropertySet) groups named properties such as IsExternal, FireRating or LoadBearing. A quantity set (IfcElementQuantity) groups measured values such as Length, NetSideArea or GrossVolume, each typed as a length, area, volume, count, weight or time. Both are attached to elements through an IfcRelDefinesByProperties relationship.

The name tells you who defined the set. The Pset_ prefix is reserved for property sets defined by buildingSMART in the IFC standard, and Qto_ marks the standard base quantity sets. Anything else, such as a set named after the authoring tool or your firm, is a custom set. In IFC2X3 exports you will often find quantities in a set simply called BaseQuantities.

The inspector shows each value as SetName.PropertyName, for example Pset_WallCommon.IsExternal or Qto_WallBaseQuantities.Length, so you can always see which set a value came from.

Selected standard sets (IFC4 names; which values are filled depends on the exporter)
SetApplies toTypical contents
Pset_WallCommonWallsReference, IsExternal, LoadBearing, FireRating, AcousticRating, ThermalTransmittance
Pset_DoorCommonDoorsReference, IsExternal, FireRating, AcousticRating, SecurityRating
Pset_SlabCommonSlabsReference, IsExternal, LoadBearing, FireRating
Pset_SpaceCommonSpaces (rooms)Reference, IsExternal, PubliclyAccessible, HandicapAccessible
Qto_WallBaseQuantitiesWallsLength, Width, Height, GrossSideArea, NetSideArea, GrossVolume, NetVolume
Qto_SlabBaseQuantitiesSlabsWidth (thickness), Perimeter, GrossArea, NetArea, GrossVolume, NetVolume
Qto_SpaceBaseQuantitiesSpacesHeight, GrossFloorArea, NetFloorArea, GrossPerimeter, GrossVolume
Qto_DoorBaseQuantitiesDoorsWidth, Height, Area

GlobalId vs express ID: which one identifies an element?

Every record in an IFC STEP file has an express ID, the #37 at the start of its line. It is only a record number inside that file. Export the same model again and the same wall may become #4812.

Entities that derive from IfcRoot (objects, relationships and property definitions) also carry a GlobalId: a 128-bit GUID compressed into 22 characters drawn from 0–9, A–Z, a–z, _ and $. Twenty-two characters of 6 bits hold 132 bits, so the first character is always 0, 1, 2 or 3. Authoring tools such as Revit and Archicad derive it from their own internal element IDs, so an unchanged element usually keeps its GlobalId between exports.

Use the GlobalId to refer to an element in issues, RFIs and schedules, and to match elements between two versions of a model; the inspector's compare mode does exactly that, pairing elements of model A and model B by GlobalId before listing changed values. The inspector flags GlobalIds that do not match the 22-character format, and any duplicates, under Model findings.

The two identifiers you will see on every IFC element
Express IDGlobalId
Example#370Harth0000000000000037 (from the sample)
FormatPositive whole number after #22 characters: 0–9, A–Z, a–z, _ and $
ScopeOne fileThe element, across files and versions
Stable between exports?NoUsually, if the authoring tool preserves it
Which records have oneEvery recordIfcRoot entities only (objects, relationships, property definitions)

Type properties, occurrence properties and units

Many properties live on an element's type rather than on the element itself. A door type can carry a fire rating that applies to every door of that type, linked through an IfcRelDefinesByType relationship. The inspector copies type property sets onto each element and prefixes them with Type., so Type.Pset_DoorCommon.FireRating came from the type while Pset_DoorCommon.FireRating was set on the door itself. Under IFC rules, a property set on the occurrence overrides a same-named property on its type.

IFC values do not carry units individually. A number takes the project default from the model's IfcUnitAssignment unless the property names its own unit. The inspector shows the project assignment under Project units and adds a separate [explicit unit] entry when a property declares one.

Thermal values are a common trap. A Pset_WallCommon.ThermalTransmittance of 0.35 in an SI model is a U-factor of 0.35 W/(m²·K). Divided by 5.678, that is 0.0616 Btu/(h·ft²·°F), roughly R-16.2 in US units. Use the R-value and U-value converter to check conversions like this.

Worked example: what the sample wall tells you

Open the IFC4 sample and set the class menu to IFCWALL. Two walls appear, #37 Sample wall A and #47 Sample wall B. Both carry Pset_WallCommon with a Reference of Sample exterior wall and an IsExternal flag set to true, because a single IfcRelDefinesByProperties relationship assigns that one property set to both walls.

Only wall A has Qto_WallBaseQuantities.Length, with a value of 4. The project length unit is the metre, so that is 4 m (13 ft 1½ in). Wall B has no Length at all, even though its geometry is clearly 3 m long. The inspector leaves it blank instead of measuring the mesh, which is exactly the kind of gap to find before a quantity takeoff.

Search is case-insensitive and covers every value. Searching sample returns the project, site, building and both walls; searching wall A's GlobalId, 0Harth0000000000000037, returns only wall A.

Who it is for and when to use it

Checking BIM deliverables

Confirm that required properties, such as FireRating on doors or IsExternal on walls, are present before a model is issued or accepted.

Answering a quick data question

Look up whether a wall is load-bearing, what a door's fire rating is, or which type an element belongs to, without opening the authoring software.

Planning a schedule export

Find which property and quantity sets hold the values you need, filter to one class and export the matching rows as CSV to build the schedule in a spreadsheet. Compare room areas with the room schedule builder.

Referencing elements in issues and RFIs

Copy an element's GlobalId into an issue log or a construction RFI so everyone can find the same element in their own model.

Method, formulas & assumptions

Reads entity attributes and relationships to existing property sets and quantities. Values are extracted, never inferred from geometry.

Parser: web-ifc 0.0.77. Library notices.

Common mistakes to avoid

  • Comparing values without checking Project units. The same wall can read 4, 4000 or 13.12 depending on how the model was set up.
  • Referring to elements by express ID in emails or issues. Express IDs change on every export; quote the GlobalId.
  • Concluding a property is missing after looking only at occurrence sets. It may be on the element's type, shown with the Type. prefix.
  • Expecting quantity sets that were never exported. Many exporters only write Qto_ or BaseQuantities sets when that option is switched on.
  • Reading a blank as zero. A blank means the model did not provide the value.
  • Naming a custom property set with the Pset_ prefix. That prefix is reserved for buildingSMART's standard sets and confuses anyone checking the model.

Scope & limits

Up to 50 MB per IFC2X3/IFC4 file. Missing values remain blank. Inspect project units and explicit property units before comparing values.

Frequently asked questions

What is a Pset in IFC?

A Pset is a property set: a named group of properties attached to an element, such as Pset_WallCommon with IsExternal and FireRating. Sets starting with Pset_ are defined by buildingSMART in the IFC standard; other names are custom.

What does Qto mean in IFC?

Qto stands for quantity takeoff. Qto_ sets such as Qto_WallBaseQuantities hold measured values like Length, NetSideArea and NetVolume, written by the authoring tool at export.

What is an IFC GlobalId?

It is a unique 22-character identifier, a compressed 128-bit GUID, carried by every IFC object, relationship and property definition. Unlike the express ID, it is meant to stay the same for an element across exports.

Why are quantities missing from my IFC file?

Quantity sets are optional and are only written when the exporter is asked to include them. In Revit, switch on Export base quantities in the IFC export setup. This tool never calculates missing quantities from geometry.

What does the Type. prefix mean?

It marks a value that comes from the element's type object, such as a door type, rather than from the element itself. The type's property sets apply to every element of that type.

Can I compare two versions of an IFC model?

Yes. Open the first model, then choose the second under Compare with a second model. Elements are paired by GlobalId, so the report shows properties added, removed or changed between the two exports and elements present in only one, and Download diff CSV saves it. Elements whose GlobalId changed between exports appear as removed and added.

Can I edit IFC properties with this tool?

No. The inspector is read-only. Change properties in the authoring model and export again.

How do I know what units an IFC property uses?

Most values use the project default units shown under Project units. If a property declares its own unit, the inspector shows it in a separate entry labelled explicit unit.

Does the inspector upload my model?

No. The file is parsed by web-ifc in a worker inside your browser and is discarded when you leave the page.

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.