IFC may be encoded in various electronic formats, each having benefits and tradeoffs of software support, scalability, and readability. As building data can be quite large (i.e. gigabytes), the choice of format may have practical considerations.
Which do I use?
For the widest compatibility and smallest size for file-based import and export, STEP Physical File (SPF) is recommended. For web service communication, any of the above formats may be automatically negotiated by clients and servers.
|STEP Physical File (SPF)||.ifc||application/x-step||Yes||No||100%||STEP Physical Format (SPF or IFC-SPF) is the most widely used format for IFC in practice, which is the most compact of the formats listed that can be read as text. IFC-SPF is based on the ISO standard for clear text representation of EXPRESS data models ISO 10303-21|
|Extensible Markup Language (XML)||.ifcXML||application/xml||Yes||No||113%||Extensible Markup Language (XML) provides enhanced readability and benefits from a broad range of software tools. ifcXML is based on the ISO standard for representation of STEP data in XML format ISO 10303-28|
|ZIP||.ifcZIP||application/zip||No||No||17%||IFC data may embedded within a ZIP file. The embedded data may be encoded as either SPF or XML, where the resulting size is typically comparable.|
|Terse RDF Triple Language (Turtle)||.ttl||text/turtle||Yes||No||1372%||TL may store IFC data for linked data applications.|
|Resource Description Framework (RDF/XML)||.rdf||application/rdf+xml|
|Hierarchical Data Format (HDF)||.hdf||application/x-hdf||No||Yes||n/a||HDF5 may store IFC data within hierarchical database, which provides high performance access to engineering data. HDF is based on the ISO standard for STEP data representation ISO 10303-26|
|SQLite||.sqlite||application/x-sqlite3||No||Yes||n/a||SQLite may store IFC data within a relational database, which provides indexed access to data within large models and benefits from a broad range of software tools.|