Back to the BIM & IFC blog
Digital twins · 2026-10-16 · 8 min
CityGML vs IFC vs 3D Tiles: Which Format for a Digital Twin?
Three formats keep coming up when a digital twin reaches city scale, and they are often compared as if they competed. They do different jobs: CityGML describes the city as objects, IFC describes one asset element by element, and 3D Tiles delivers either to a browser in pieces.
IFC models of Helsinki Central Station and its bus terminal among the city blocks of the 3D map in IFC Viewer Online
When a digital twin grows from one building to a district, three formats come up in every conversation: CityGML, IFC and 3D Tiles. They are often put side by side as if one had to win. They do not compete: each answers a different question, and a city twin usually needs all three.
Key takeaways
- CityGML (and its JSON encoding, CityJSON) describes the city as objects: buildings, roads, terrain, vegetation, at levels of detail.
- IFC describes one asset element by element, with the types, properties and relationships that operation and maintenance need.
- 3D Tiles is for delivery: it cuts any 3D content into tiles a browser can stream, coarse to fine.
- Converting between them always loses something. Keep each source in its own format and convert only to deliver.
Three jobs, not three rivals: the city, the asset, and getting either to a browser.
CityGML: the city as objects
CityGML is the Open Geospatial Consortium's standard for 3D city models[citygml]. It describes a city as typed objects — buildings, bridges, roads, water, vegetation, terrain — each with attributes and with geometry at a level of detail, from a footprint (LOD0) to a façade with openings (LOD3). Many national and city datasets publish in it, and CityJSON[cityjson] encodes the same data model as JSON, which is far easier to handle in a browser.
Its strength is breadth: a whole district, consistently classified. Its limit is depth: a CityGML building does not know about the pump in its basement. How its levels of detail compare with BIM's is in LOD in BIM vs CityGML.
IFC: the asset, element by element
IFC is buildingSMART's open schema for building and infrastructure models, published as ISO 16739-1[ifc]. Every wall, door, pump and dock post is an element with a type, properties, quantities and relationships to the elements around it. It is what a twin needs for the assets it tracks: identity to bind live data to, and the data maintenance relies on. Placing an IFC model on the map needs its georeference, an IfcMapConversion, covered in IFC coordinates and georeferencing.
3D Tiles: built to stream
3D Tiles, an OGC community standard[3dtiles], solves a different problem: getting huge 3D content into a browser. A tileset is a tree of tiles, each with its own level of detail; the viewer loads the coarse ones first and refines where the camera looks. Photogrammetry meshes, point clouds and whole city models are delivered this way. What the tiles mean is limited to the metadata they carry.
Side by side
| CityGML / CityJSON | IFC | 3D Tiles |
|---|
| Describes | City objects | One asset, element by element | Any 3D content, as tiles |
| Typical scale | District to country | Building, bridge, station | Up to the planet |
| Meaning | Classes and attributes per object | Types, properties, relationships, systems | Metadata per tile or feature |
| Geometry | Surfaces at LOD0–3 | Solids per element | Meshes (glTF), point clouds |
| Real-world position | Built in | Optional (IfcMapConversion) | Built in |
| Best at | Consistent city-wide data | Asset identity and data | Delivering big models to a browser |
How a city twin combines them
The common pattern: the city model in CityGML or CityJSON for context and city-wide analysis; IFC for the assets that carry live data or need maintenance; and 3D Tiles to stream whichever of the two is too big to send in one piece. Converting IFC to CityGML keeps the outside and drops most of the meaning; converting either to 3D Tiles keeps the look and little else. So keep each source in its own format, and convert only to deliver.
In the live examples on this blog, the context is OpenStreetMap buildings drawn as extruded blocks — roughly LOD1 — and the assets are IFC models, because those are what the live data binds to. This viewer reads IFC; it does not read CityGML or external 3D Tiles today. The examples, and what they show: what an urban digital twin is.
CityGML vs IFC vs 3D Tiles: Which Format for a Digital Twin?