xeokit: Web Programming Toolkit
for AEC Graphics

xeokit is an open source 3D graphics SDK from xeolabs for BIM and AEC.
Built to view huge models in the browser. Used by industry leaders.

Run a Demo »

A 3D IFC model viewer built on the xeokit SDK

Power

Visualize complex, double-precision models in all major browsers, including mobile.



Flexibility

A complete JavaScript graphics toolkit for building BIM and AEC viewing applications.



Freedom

Open source components to build your own product, your way. Keep everything on your own servers.

Used by industry leaders

Features

Display your Models in the Browser

Get your models on the Web using a toolkit of production-proven components that save you costly research, development and maintenance.

  • Load models from your own server.
    Keep data, viewer and conversion tools on your own servers. No overloaded cloud services, or unpredictable costs. No hassles with data protection laws.
  • Works in all major browsers.
    Including mobile, without plugins.
  • Completly open source.
    You get the source code. Customize and extend it however you want.
  • Open community of experts.
    Join our community of 3D Web programming experts and industry leaders. Share our tools and get support.
  • Training resources.
    Including examples, API docs and tutorials.
  • Tap into xeolabs' ongoing research and development.
    Get started quickly and lower your costs. Benefit from new features as xeokit continues to develop.


JavaScript Programming Toolkit

A toolkit of reusable solutions based on 10+ years experience visualizing 3D BIM and STEM on the Web.

  • Fast loading of huge models.
    One of the most compact geometry formats on the Web. Loads hundreds of megabytes in seconds.
  • Fast rendering of many objects.
    A hardware-accelerated renderer, purpose-built for viewing highly-detailed, real-world engineering models.
  • Double-precision geometry.
    Load models with double-precision coordinates. Render them accurately in the browser, without loss of precision.
  • Loads a variety of model formats.
    Load many models into the same scene, including IFC (2x3 and 4), glTF, OBJ, STL, 3DXML, LAZ/LAS, CityJSON, XKT and more.
  • Save and load BCF viewpoints.
    Build interoperable BIM apps. Connect your application with the BIM ecosystem.
  • A complete 3D toolkit.
    Dynamic scenes, transforms, animations, physically-based materials, dynamic light sources, ambient shadows, interactive section planes, annotations, X-ray, highlight, selection, colorize objects and more.
  • `

Plugins and Tools Library

A growing library of plugins and pipeline tools to accelerate the development of your application, including:


Open Community

Join an open community of 3D Web programming experts. Share our tools and get support.

A 3D IFC model viewer built on the xeokit SDK
A bundled BIM viewer to get you started in minutes - try it out!


Plugins for real-world BIM and CAD use cases - see the wiki


Importing 3DXML from SolidWorks
Load CAD models from SolidWorks - try a demo


A rich programming toolkit - browse the API docs


What xeokit's users say

xeokit is a success enabler for our customers. Incredibly fast load times and super high-performance rendering, even on mobile browsers. Built in a modular way that allowed us to easily customize its behaviour, while allowing us to create a differentiated navigation experience.

Clean code, with the ability to inspect its internals, was key to our development experience. Teams focused on simple things can start using it with less than ten lines of JavaScript, while more advanced users will find that xeokit can be adapted to meet their advanced use cases.

Toni Marti, Software Artist at uniZite AS

xeokit's rich features and detailed documentation allow us to create interactive and customizable web visualization experiences for large-scale BIM models. It also provides us with the possibilities to retrieve data from BIM model for further experiments and insights.

Chloe Sun, Design Technology Specialist at HOK Architects

xeokit's unmatched loading and rendering speed enables us to create interactive and customizable Web visualization experiences for large BIM models, even when loading many large models simultaneously. The code is clear and properly documented, the examples are sufficient to understand how everything works, and the API is explicit and complete. These qualities, in combination with xeokit's experienced and skilled community, make xeokit a viable alternative to larger engines such as AutoDesk Forge and Unity.

Hugo Duroux, Technical Director at BIMData.io

We have been very impressed with the xeokit SDK's features. Of particular note is xeokit's highly efficient binary .XKT model format, which makes loading and rendering large models faster than ever before. With the wide-ranging feature set offered by the SDK, we have been able to meet most of our product goals so far.

Our developers have also spoken about their positive experience. They noted the active development of the project and the quick and helpful responses from xeolabs whenever they had any issues.

Christoph Degendorfer, - Co-Founder & CEO at bimspot.io

Made with xeokit

A selection of applications powered by xeokit

Card image cap

xeokit BIM Viewer

Berlin, Germany

The xeokit SDK includes a ready-made, embeddable BIM viewer, to get your models on the Web quickly.

Card image cap

OpenProject BIM Viewer

Berlin, Germany

The xeokit SDK powers the IFC model viewer within OpenProject, the world's most popular open source project management software.

Card image cap

BIMData BIM Viewer

Lyon, France

BIMData use the xeokit SDK to power the graphics within their extensible browser-based IFC viewer.

Card image cap

Congrid BIM Viewer

Helsinki, Finland

Congrid use the xeokit SDK within their browser-based BIM quality and safety management platform.

Card image cap

Singular BIM Viewer

Zurich, Switzerland

Singular use xeokit to power the graphics within their browser-based IFC model checking service.

Card image cap

bimspot BIM Viewer

Vienna, Austria

bimspot use xeokit to power the graphics within their browser-based BIM platform.

Pricing


The xeokit SDK is licensed under the Affero GPL V3 license.
Enterprises wishing to avoid the copy-left restrictions of the AGPL3 can obtain a custom and permissive license.

Open Source License

Custom License

  • Custom and permissive license
  • No open source restrictions
  • High level support
  • Flexible terms

What's included

The licenses give you everything in the xeokit repositories on GitHub and npm, including:

xeokit-sdk The xeokit SDK and plugins.
xeokit-bim-viewer A customizable IFC viewer built on xeokit, in collaboration with OpenProject - try a demo!
xeokit-gltf-to-xkt Multi-platform CLI tool for converting glTF to xeokit's optimized native XKT model format.
xeokit-metadata Multi-platform CLI tool from bimspot for extracting structural metadata from IFC STEP files for loading into xeokit.
xeokit-convert A JavaScript toolkit and CLI tool to convert various AEC model formats to xeokit's optimized native XKT model format.

FAQ

Answer:

When it comes to high-performance BIM/AEC visualization, xeokit has several capabilities that set it apart from standard Web graphics libraries:

  • Fast loading - ultra-compact native file geometry format loads hundreds of thousands of objects over the Web in seconds.
  • Fast rendering - purpose-built to fluidly visualize hundreds of thousands of objects in the browser.
  • Double-precision rendering - accurately view building model geometry in global coordinates.
  • BIM/AEC-friendly programming API - a complete JavaScript graphics programming toolkit, with an API designed specially for BIM/AEC applications.
  • Plugins - a library of plugins to accelerate BIM/AEC application development.
  • Freedom - host viewer, models and conversion tools on your own servers - no issues with data sovereignty, no reliance on 3rd-party cloud services.
Answer:

The xeokit SDK is a partnership between:

  • xeolabs - created xeokit in 2019, based on 10+ years experience visualizing 3D BIM and STEM in the browser.
  • Creoox AG - xeokit's official and exclusive business partner, handling sales and CRM, and supporting business development.
Answer:

The xeokit SDK has its own WebGL engine, which is specially designed to visualize complex, full-precision BIM and engineering models.

The engine uses our own special blend of techniques to interactively render models containing hundreds of thousands of individual parts, in all major browsers, including mobile.

The engine also distinguishes itself by supporting double-precision rendering on WebGL, which only supports single-precision natively. This means that we can render buildings in their original, global coordinate system, without rounding errors. [Try a demo]
Answer:

The xeokit SDK loads (at least) IFC (2x3 & 4), CityJSON, glTF, OBJ, 3DS, STL, 3DXML, LAS, LAZ, PLY and XKT.

XKT is xeokit's highly-optimized native geometry format, which allows xeokit to load hundreds of thousands of full-precision objects in seconds. XKT files are converted from various source formats using open source CLI tools.

Learn more:

Answer:

Use open source CLI tools to convert IFC STEP files into xeokit's compressed native model format, XKT, which xeokit can then load super quickly into its browser-based viewer.

The XKT format contains all the model's geometry and elements, along with some basic metadata to help navigate the IFC types. The format format greatly reduces the model size. As an example, the 49M IFC file for the Schependomlaan sample model converted into an 1.5M XKT file, which xeokit loads in around ~2-3 seconds over a good Internet connection.

Learn more:

Answer:

No - authoring of IFC is outside the scope of xeokit, which is intended to be used as a front-end visualization tool.

In order to modify and save IFC files, xeokit would need to load, persist, modify and validate (potentially huge) IFC documents models in browser memory, which would not be practical.

Rather, xeokit's focus is efficient interaction with large models, which we pre-convert from IFC to a compact and fast-loading format that permits large models to fit in browser memory.

Learn more: