Skip to main content

Fragments

TOC | documentation | demo | community | npm package

cover

Fragments

NPM Package NPM Package

Fragments is an open-source library designed to store, display, navigate, and edit massive amounts of BIM data with exceptional efficiencyβ€”on any device.

This repository contains the format and a whole toolkit to start building on top.

🀝 Want our help?​

Are you developing a project with our technology and would like our help? Apply now to join That Open Accelerator Program!

🧩 Integration with components​

As you might know, we have 4 open source libraries:

Components doesn't work with this new version of Fragments yet. In the next release, at the end of Q2, all components will be updated to work with this new version of Fragments. In the meantime, you have 3 options:

  • Work with Fragments and build your own BIM components from scratch.
  • Work with Components (which don't use this new version of Fragments).
  • Check out our Accelerator Program to get previous access to the upcoming components.

Once the release at the end of Q2 is made, Components will work natively with this new version of Fragments.

🧩 The Format​

Fragments defines an open BIM format optimized for handling large datasets efficiently.

  • Binary and compact for performance

  • Free and open source

  • Supports geometries, properties, and relationships

The format is built with Google's FlatBuffers, an efficient cross-platform serialization library. This means you can create your own Fragments importer/exporter in any programming language. Just refer to the FlatBuffers documentation to get started.

πŸ“„ You can find the Fragments schema here. It defines what kind of data Fragments can storeβ€”anything the schema supports, you can include.

This library also includes a TypeScript/JavaScript importer/exporter, so you can get up and running fast. But feel free to build your own!

That said, the easiest way to generate Fragments is by using the built-in IfcImporter, described below.

πŸš€ The 3D Engine​

Fragments comes with a high-performance 3D viewer built on top of Three.js. It’s designed to handle millions of elements in seconds, making it ideal for web-based BIM applications.

With it, you can:

  • Display large BIM models efficiently on any device

  • Highlight, filter, raycast, and snap elements

  • Retrieve properties and interact with the model

πŸ”„ Importers and exporters​

This library includes an IfcImporter that works both in the frontend and backend. It makes it simple to bring your IFC data into the Fragments ecosystem.

We're planning to release more importers/exporters to help integrate Fragments into a wide variety of BIM workflows.


Whether you're building a lightweight BIM viewer, a full-scale application, or just exploring the future of open BIM formats, Fragments gives you the tools to do itβ€”fast, open, and free.

For more information and tutorials, check out our documentation.