What is IFClite?
IFClite is an open-source toolkit for working with IFC files. It lets you load, view, query, and export BIM models from a web browser, a server, or a desktop app. No plugins or installs needed.
Try it at ifclite.com to see it in action.
- View 3D models in the browser with a fast WebGPU renderer
- Extract data like properties, quantities, spatial structure, and relationships
- Check compliance against IDS (Information Delivery Specification) rules
- Generate 2D drawings like floor plans, sections, and elevations from 3D
- Collaborate with BCF (BIM Collaboration Format) for issues and viewpoints
- Create IFC files programmatically: walls, slabs, columns, beams, stairs, roofs with properties and quantities
- Look up bSDD (buildingSMART Data Dictionary) to discover and add standard properties for any IFC entity
- Export to IFC, CSV & JSON, glTF or Parquet
Works with IFC4 / IFC4X3 and the new Alpha IFC5 (IFCX).
Why IFClite?
- Fast. First triangles on screen in ~200ms. Geometry processing up to 5x faster than the next best option. See benchmarks.
- Small. ~260 KB gzipped. Designed to stay lightweight so your app stays lightweight.
- Complete. Full IFC4X3 schema (876 entities), IFC5, BCF, IDS, bSDD, 2D drawings, federation, IFC creation, property editing, and export. Parsing is just the start.
- Built for the web. Rust + WASM core, WebGPU rendering, streaming pipelines, consistent TypeScript API across all packages.
Get Started
Create a project in one command:
&& &&
This parses an IFC file and logs what it finds. From here you can start building.
Want a 3D viewer? Pick a template:
Want a server backend?
&&
Or add to an existing project:
import { IfcParser } from '@ifc-lite/parser';
const parser = new IfcParser();
const result = await parser.parse(ifcBuffer);
console.log(`Found ${result.entityCount} entities`);
See Installation for all options including Cargo (Rust) and Docker.
Choose Your Setup
IFClite runs in four different environments. Pick what fits:
| Setup | Best for | You get |
|---|---|---|
| Browser (WebGPU) | Viewing and inspecting models | Full-featured 3D viewer, runs entirely client-side |
| Three.js / Babylon.js | Adding IFC support to an existing 3D app | IFC parsing + geometry, rendered by your engine (Babylon.js) |
| Server | Teams, large files, repeat access | Rust backend with caching, parallel processing, streaming |
| Desktop (Tauri) | Offline use, very large files (500 MB+) | Native app with multi-threading and direct filesystem access |
Not sure? Start with the browser setup. You can add a server or switch to Three.js/Babylon.js later.
What Do I Install?
You don't need all 25 packages. Here's what to grab for common tasks:
| I want to... | Packages |
|---|---|
| Parse an IFC file | @ifc-lite/parser |
| View a 3D model (WebGPU) | + @ifc-lite/geometry + @ifc-lite/renderer |
| Use Three.js or Babylon.js | + @ifc-lite/geometry (you handle the rendering) |
| Query properties and types | + @ifc-lite/query |
| Validate against IDS rules | + @ifc-lite/ids |
| Generate 2D drawings | + @ifc-lite/drawing-2d |
| Create IFC files from scratch | @ifc-lite/create |
| Export to glTF / IFC / Parquet | + @ifc-lite/export |
| Connect to a server backend | + @ifc-lite/server-client |
Full list: API Reference (25 TypeScript packages, 4 Rust crates)
Examples
Ready-to-run projects in the examples/ folder:
- Three.js Viewer - IFC viewer using Three.js (WebGL)
- Babylon.js Viewer - IFC viewer using Babylon.js (WebGL)
Documentation
| Start here | Quick Start · Installation · Browser Requirements |
| Guides | Parsing · Geometry · Rendering · Querying · Exporting |
| BIM features | Federation · BCF · IDS Validation · bSDD · 2D Drawings · IFC Creation · Property Editing |
| Tutorials | Build a Viewer · Three.js · Babylon.js · Custom Queries |
| Deep dives | Architecture · Data Flow · Performance |
| API | TypeScript · Rust · WASM |
Contributing
We welcome contributions! No Rust toolchain needed, WASM comes pre-built.
&& &&
See the Contributing Guide and Release Process for details.
Community Projects
| Project | Description |
|---|---|
| bimifc.de | Pure Rust/Bevy IFC viewer by @holg |
Built something with IFClite? Open a PR to add it here!