Blog / BIM Classification Systems: Uniclass, OmniClass, and MasterFormat Explained

BIM Classification Systems: Uniclass, OmniClass, and MasterFormat Explained

A practical guide to Uniclass, OmniClass, and MasterFormat: what BIM classification systems do, how to apply codes in Revit, and how to choose one for your project or region.

M
Manish Simon
· 15 min read

Go deeper with Archgyan Academy

Structured BIM and Revit learning paths for architects and students.

Explore Academy →

Why a BIM model needs a classification system at all

A well-built Revit model already tells you a lot: geometry, materials, quantities, relationships between elements. What it does not tell you, on its own, is where any given piece of information sits inside a shared, agreed vocabulary that a cost consultant, a facilities manager, or a specification writer can query without opening the model.

That is the gap a classification system closes. It assigns every element, system, and space a structured code from a shared table, so a door is not just “Door_36x84_Wood” in one office and “DR-01” in another. It is Pr_25_75_60 under Uniclass, or 08 10 00 under MasterFormat, or 23-30 10 00 under OmniClass, depending on which system the project has adopted. The code means the same thing to every discipline, every downstream tool, and every future team that touches the asset.

Classification is not decoration. It is the layer that makes a BIM model queryable at scale. Without it, a 5D cost plan cannot reliably link quantities to price book line items, a 6D handover cannot map assets to a CAFM system’s asset register, and a specification cannot cross-reference back to the model sections it describes. Every one of those workflows depends on a code that both the model and the downstream tool already agree on.

The problem most teams run into is not a lack of interest in classification. It is confusion about which system to use, when, and how deep to go. This guide sorts through the three systems you will meet most often as a working BIM professional: Uniclass 2015, OmniClass, and MasterFormat, plus where national and legacy systems still show up, and gives you a concrete way to apply codes inside Revit rather than leaving them as a paragraph in the BIM Execution Plan that nobody follows.

What a classification system actually does

Strip away the acronyms and a classification system is three things bundled together:

A hierarchy. Codes are structured from broad to specific. A table for building elements might go from “Structure” down to “Frame” down to “Structural steel beams.” You can query at any level: everything under “Structure,” or just the beams.

A cross-domain vocabulary. The same code, or a mapped equivalent, should mean the same thing whether you are looking at a Revit family, a cost line in a bill of quantities, or a spec section. This is what lets a 5D cost tool join model quantities to price data without a human relinking every element by hand.

A stable reference that outlives the project team. Classification codes get written into COBie exports, asset registers, and CAFM systems that will be queried for the 30-year life of a building, long after the design team has moved on. A code is one of the few things in a model that a facilities manager in year 12 can still trust, provided it was applied correctly in year zero.

What classification does not do is replace naming conventions, workset structure, or the rest of your modeling standards. Those are covered elsewhere (see the naming conventions guide below). Classification is specifically about the coded, cross-referenceable identity of an element or space, not about how you organize files or worksets.

Uniclass 2015 explained

Uniclass 2015 is the UK’s current classification system, maintained by NBS, and it is the default expectation on any UK project following ISO 19650. It replaced the earlier Uniclass (1997) and CAWS-based approaches, and it was built specifically with BIM in mind rather than adapted from a paper-era spec system.

Uniclass organizes information into separate tables, each covering a different facet of a project:

TableCoversExample
CoComplexesHospital campus
EnEntitiesA single building
SLSpaces/locationsMeeting room, corridor
EFElements/functionsWall, roof, external door
SsSystemsStructural frame system, HVAC system
PrProductsA specific door product
ZzCAD/BIM aidsSymbols, non-permanent objects
AcActivitiesOccupation, cleaning
RKRiskHazard classification

A single door might carry two Uniclass codes at once: an EF code because it is a building element, and a Pr code because it is also a specific product being scheduled and procured. That layered structure is a deliberate design choice. It lets you classify the same object as a functional part of the building and as a purchasable item, which matters once you get to procurement and facilities handover.

Codes look like EF_25_30_25 (external door, as an element) or Pr_25_75_66 (a specific door product). The prefix identifies the table, and the numeric groups drill down from category to sub-category to item.

Uniclass tables are free to download from the NBS website as spreadsheets, and NBS also maintains a searchable online browser. There is no cost barrier to adopting it, which is one reason it has become the default for UK public sector work and most private UK projects following ISO 19650.

OmniClass explained

OmniClass (formally OmniClass Construction Classification System, OCCS) is the North American equivalent, maintained by the Construction Specifications Institute (CSI) and Construction Specifications Canada. It was built to unify several earlier, incompatible systems, including MasterFormat, UniFormat, and EPIC, under one umbrella with 15 numbered tables.

The tables run from Table 11 (Construction Entities by Function) through Table 49 (Properties), covering everything from spaces to materials to disciplines to phases. The two tables you will use daily as a BIM professional are:

  • Table 21 (Elements), based on UniFormat, used for early-stage, elemental cost estimating and design-stage classification before detailed products are selected.
  • Table 22 (Work Results), which is literally MasterFormat renumbered into the OmniClass structure, used once you are specifying actual products and construction operations.

This is the detail that trips people up: OmniClass does not compete with MasterFormat, it absorbs it. If your firm classifies work results, you are functionally using MasterFormat codes whether you call them OmniClass Table 22 or MasterFormat. The distinction matters for software mapping (Revit’s classification fields expect a specific table format) but not for the underlying vocabulary.

OmniClass codes look like 23-13 13 13 (a specific product under Table 23, Products) or 21-04 40 00 (an elemental group under Table 21). The numbering is deliberately similar to MasterFormat’s NN NN NN pattern so the two stay legible side by side.

MasterFormat explained

MasterFormat, also from CSI, predates OmniClass and BIM entirely. It was built in the 1960s to organize specifications and bid documents by trade and work result, and it remains the dominant structure for construction specifications in North America regardless of whether the project uses BIM at all.

MasterFormat organizes work into 50 numbered divisions, grouped into subgroups (General Requirements, Facility Construction, Facility Services, Site and Infrastructure, Process Equipment):

  • Division 03: Concrete
  • Division 06: Wood, Plastics, and Composites
  • Division 08: Openings (doors, windows, glazing)
  • Division 09: Finishes
  • Division 23: HVAC
  • Division 26: Electrical

Codes go six digits deep: 08 11 13 is Hollow Metal Doors and Frames, sitting under Division 08 (Openings). Most Revit model elements only ever need the top two levels populated (division and broad scope), because that is what most spec sections and cost plans actually reference.

If you already work in North America, you almost certainly touch MasterFormat daily through your specifications, even if nobody in the office has said the word “classification” out loud. The BIM-native step is simply pushing those same division codes into the model’s Assembly Code field so the model and the specs stop being two separate, manually-synced documents.

National and legacy systems still worth knowing

Depending on where you work, you will meet other systems layered on top of, or instead of, the three above:

  • DIN 276 in Germany, a cost-grouping standard used for elemental cost planning, distinct from a product classification system but frequently required alongside Uniclass or OmniClass on German projects.
  • CoClass in Sweden and increasingly other Nordic markets, a newer BIM-native system similar in spirit to Uniclass.
  • CCS (Cuneco Classification System) in Denmark.
  • NATSPEC classification in Australia, paired with a MasterFormat-derived specification structure.
  • Uniformat II, the ASTM elemental classification standard that OmniClass Table 21 is built on, still specified directly on some US projects for early cost estimating.

None of these need to become your daily focus unless you work in that region, but recognizing them saves confusion when a foreign design partner’s export arrives with codes that look almost, but not quite, like OmniClass.

How classification powers 5D, 6D, and specifications

Classification is the connective tissue behind three workflows you likely already run:

5D cost estimating. A quantity-driven cost plan works by joining model quantities to price book line items. That join only works automatically if both sides share a code. Cost consultants using CostX, Bexel Manager, or Vico Office map incoming model elements by their classification code to the corresponding price book entry. A model with no classification forces the cost team back to manual matching, which is slow and error-prone on anything beyond a small project. See our 5D BIM guide for the full workflow.

6D facility and asset management. A COBie handover is fundamentally a spreadsheet of classified assets: type, component, and system records, each carrying a classification code that the receiving CAFM or CMMS system uses to sort assets into its own categories automatically. Get the classification wrong or missing at handover and someone in facilities management spends months manually recoding thousands of assets. See our 6D BIM guide for the full information chain.

Specifications. A spec section written against MasterFormat Division 08 should correspond directly to the doors classified under that same division in the model. When classification is consistent, a reviewer can jump from a spec clause to the exact model elements it governs, and a QA pass can flag any classified element that has no matching spec section, or any spec section with no classified elements behind it.

Applying classification codes in Revit

Revit has native fields for this, and most teams under-use them:

Assembly Code. Every Revit family instance and type has an Assembly Code parameter, populated from a built-in UniformatClassification.txt (or a custom mapping table you supply) via Manage > Additional Settings > Assembly Code. This is where a MasterFormat, OmniClass Table 21, or Uniclass EF-table code typically lives at the element level.

Keynotes. The Keynote parameter and the associated keynote text file are how MasterFormat Division/Section codes get attached for annotation and specification cross-referencing on sheets. Revit ships with a sample keynote file structured on MasterFormat; most North American firms replace it with their own or their spec consultant’s version.

Classification Manager for BIM (free Autodesk add-in). This add-in lets you bulk-assign Uniclass 2015 or OmniClass codes to families and types directly, and it is the practical way to retrofit classification onto an existing family library rather than opening every family one at a time.

Shared parameters. For a code that does not map cleanly to Assembly Code or Keynote (Uniclass Product-table codes on a family that also needs an Element-table code, for instance), create a shared parameter, add it to your family templates, and populate it through your family creation workflow. This is also how firms carry two classification systems in parallel during a transition period, which happens more often than you would expect on international projects.

The practical sequence for a project starting from scratch: agree the classification system and table depth in the BIM Execution Plan, add the required shared parameters to your firm’s family templates, populate Assembly Code (and Keynote, if using MasterFormat) as families are built or brought in from the library, then run a scheduled check before every model share to catch anything unclassified.

Classification and IFC mapping

IFC does not have its own classification scheme. Instead, IFC carries classification through the IfcClassificationReference entity, which points to an external system, Uniclass, OmniClass, or otherwise, and a specific code within it. When you export from Revit, whatever value sits in your Assembly Code or mapped shared parameter gets carried into that IFC classification reference, provided your export setup includes the classification mapping (check File > Export > Options > IFC Options, under the Classification tab in recent Revit versions).

This matters because classification is one of the few pieces of BIM data that genuinely survives a round trip between authoring tools. A Solibri or Navisworks rule set can check for the presence and format of classification codes across a federated, multi-discipline IFC model, catching gaps regardless of which authoring tool produced each discipline’s model. That is a QA check worth adding to your model checking workflow (see our BIM model QA guide), because classification gaps are invisible in a normal 3D view and only show up once someone tries to query the data.

Choosing a system for your project or region

For most working BIM professionals, the choice is not really a choice; it is dictated by geography and client requirements:

  • UK, and increasingly UK-influenced markets (Middle East, parts of Commonwealth): Uniclass 2015, because ISO 19650 compliance and most UK public sector Employer’s Information Requirements assume it.
  • North America: OmniClass for elemental and BIM-native classification, MasterFormat for specifications, used together rather than as alternatives.
  • Continental Europe: varies heavily by country. Germany leans on DIN 276 for cost grouping. Nordic countries are moving toward CoClass and CCS. Many international firms default to Uniclass or OmniClass on cross-border projects simply because English-language documentation is more available.
  • Client-mandated systems: government and institutional clients (transport authorities, health trusts, large facility owners) frequently specify the exact classification system and even the exact table depth in their Employer’s Information Requirements or BIM execution requirements. Always check this before assuming.

If you genuinely have a free choice, pick the system with better tooling support for your primary authoring software and add-ins, and the one your cost and FM consultants already use. A perfectly classified model against a system nobody downstream can consume is wasted effort.

Governance and QA of classification codes

Classification only holds value if it stays consistent, and consistency degrades fast without ownership. Build these checks into your normal QA cadence:

  1. Assign an owner. One person, usually the BIM manager or lead coordinator, owns the classification mapping table for the project. Nobody else edits it without going through that owner.
  2. Lock the table depth in the BEP. Decide upfront how deep codes need to go (division only, or down to the sixth digit) and hold every discipline to the same depth. Mixed depth across disciplines breaks automated matching.
  3. Run a classification completeness check before every major share. A Solibri ruleset or a Revit schedule filtered to show unclassified elements takes minutes to set up and catches gaps before they reach the cost or FM team.
  4. Version the mapping table like a drawing. When a classification table updates (Uniclass gets revised periodically), record which version the project used, because retroactively reclassifying a live model is expensive and error-prone.
  5. Audit at handover, not just at design freeze. Elements added during construction (substitutions, contractor-modeled temporary works) are the most common source of missing classification, because they get added outside the normal family workflow.

Common mistakes

Treating classification as a naming convention. A family named “Door-Ext-01” is not classified. Classification lives in a specific, structured field (Assembly Code, a shared parameter, or a Uniclass mapping), not in the family or type name, however descriptive.

Classifying at the wrong depth for the project stage. Applying full six-digit MasterFormat codes during concept design wastes effort on elements that will be deleted, and applying only division-level codes at construction documentation stage leaves the cost and spec teams without enough resolution to work from.

Mixing systems without a mapping table. International teams sometimes end up with one discipline using Uniclass and another using OmniClass, with no documented mapping between the two. Federated model checks then silently miss cross-references. If two systems must coexist, document the mapping once and reuse it.

Skipping classification on MEP and structural families that come from manufacturer libraries. Downloaded content is rarely pre-classified for your project’s chosen system. It needs the same Classification Manager or shared parameter pass as everything else, and it is easy to assume “downloaded content is done” when it is not.

No classification QA before the cost or FM handover deadline. Discovering unclassified elements the week a COBie export is due leaves no time to fix it properly. Classification checks belong in the routine QA cadence, not a pre-deadline scramble.

How to start

If your project has no classification strategy yet, the fastest practical path is:

  1. Confirm the required system from the client’s EIR or BEP; if none is specified, default to Uniclass 2015 (UK/international) or OmniClass plus MasterFormat (North America).
  2. Add the classification fields (Assembly Code, and any needed shared parameters) to your firm’s Revit family templates so every new family carries them from creation.
  3. Retrofit your existing library using Classification Manager for BIM rather than opening families individually.
  4. Add a classification-completeness check to your model QA checklist and your IFC export setup.
  5. Name a single owner for the classification mapping table before the project reaches detailed design, not after.

Classification is unglamorous work. Nobody screenshots a well-classified Assembly Code field for a portfolio. But it is the difference between a BIM model that stays useful for the life of the building and one that gets quietly re-coded by hand three separate times as it changes hands. Get it right once, early, and every downstream workflow, costing, facility management, procurement, inherits that discipline for free.

Level up your skills

Ready to learn hands-on?

  • Project-based Revit & BIM courses for architects
  • Go from beginner to confident professional
  • Video lessons you can follow at your own pace
Explore Archgyan Academy
← Back to Blog