IFC Viewer SDK

Embed a complete IFC viewer in any web app

The Community plan is a permanent commercial tier. Use it for free up to 2,000 opens per month. No credit card, no npm install, no upload backend.

IFC 2x3 · IFC4 · IFC4x3 BCF 2.1 & 3 IDS 1.0 React · Vue · Angular · TS
12.5m8.2m

Trusted by teams building with the SDK

BIMBoss
TaskXS
Live Demo

See it running in your browser

A live embedded instance of the SDK. BCF 3.0 coloring applied to the NBU Medical Clinic IFC model. All IFC processing happens in your browser tab — nothing is sent to a server.

flinker.app · IFC Viewer SDK – BCF Coloring Demo
Open ↗

Rotate, select, and inspect elements. View all SDK examples →

From zero to running viewer in minutes

No build pipeline, no account, no server setup. Import one module and your app has a fully working IFC viewer.

1
Import one CDN module

Add a <bim-grid> element, import IfcViewer from Flinker's CDN with a single <script type="module">. No npm, no bundler required.

2
Pass IFC bytes from your app

Your application fetches or reads the file, converts it to Uint8Array, and calls viewer.add(). IFC parsing and 3D rendering happen entirely inside the browser. Nothing is uploaded to any server.

3
Connect to your product

Connect viewer state (selections, BCF viewpoints, colorings, filters) to your own UI. The Community plan scales with your product; upgrade to Growth or Enterprise as volume grows.

A complete viewer workflow, not just a canvas

The SDK ships with every feature your users need to inspect, coordinate, and validate BIM data in the browser.

Browser IFC Viewer
Open and inspect IFC models directly in a web page. WebGL 2 rendering for large enterprise-scale datasets.
Federated Model Review
Load multiple discipline models (architecture, structure, MEP) into one viewer session.
Model Tree & Navigation
Navigate the full spatial structure, IFC classes, storeys, and model components.
Element Properties
Inspect IFC element data, names, GlobalIds, types, and property sets on click.
Selection & Highlighting
Select one or many elements. Connect selections to your own tables, tickets, forms, or analytics.
Visibility Control
Hide, show, isolate, and focus model elements so users work on the relevant part of the model.
Coloring
Apply visual color states for status, risk, responsibility, progress, cost, or any custom business data.
Clipping & Section Views
Cut into the model to inspect spaces, floors, shafts, rooms, services, and internal construction details.
BCF Coordination
Load, create, and exchange BCF topics with camera position, selected elements, visibility, and clipping state.
IDS Validation
Show IDS information requirement check results next to the model. Failed elements are visible in the 3D view.
Viewpoints
Store and restore camera, selection, visibility, coloring, and clipping context as portable openBIM view state.
Local Processing
IFC parsing and WebGL rendering happen inside the browser. Files are never transferred to a Flinker server.

Five lines. A complete IFC viewer.

This is the full integration. Add the element, import the module, await ready, pass bytes. No backend, no configuration files, no extra dependencies.

<!-- 1. Add the viewer element -->
<bim-grid id="ifc-viewer"></bim-grid>

<script type="module">
  // 2. Import — no npm install required
  import { IfcViewer } from "https://cdn.flinker.app/ifc-viewer/v3.3.0/ifc-viewer.es.js";

  // 3. Mount and wait for ready
  const viewer = new IfcViewer("#ifc-viewer");
  await viewer.ready;

  // 4. Pass IFC bytes from your app — file never leaves the browser
  const response = await fetch("/models/project.ifc");
  const bytes = new Uint8Array(await response.arrayBuffer());
  await viewer.add("project.ifc", bytes);
</script>
Free to use

The Community plan is a permanent commercial tier, not a trial. Import one module and ship IFC viewing into your product today. Small teams can run on Community indefinitely.

Privacy-first

IFC files are parsed and rendered entirely inside the browser. Nothing is uploaded to a Flinker server. Your users' models stay on their device.

No npm install

One CDN ES module import. Works with plain HTML, React, Vue, Angular, TypeScript, or any modern frontend that supports browser modules.

Pricing

Start free. Scale when ready.

Community is a real commercial tier with no expiry. Upgrade to remove branding and unlock higher volume.

Estimate your plan
Viewer opens per month 1,000
Community
0–2k
Growth
2k–3k
Scale
3k–10k
Enterprise
10k+
Recommended plan
Community
Free up to 2,000 opens/month · Flinker branding included
€0
/ month

Choose Your Plan

All plans include the full viewer feature set. Upgrades remove Flinker branding and increase your monthly opens limit.

Most popular
Community
up to 2,000 opens/mo
€0
permanent commercial tier

  • Full viewer feature set
  • IFC 2x3, IFC4, IFC4x3
  • BCF 2.1 & 3, IDS 1.0
  • React, Vue, Angular, TypeScript
  • CDN import, no npm required
  • Flinker branding included
Use for free
Growth
up to 3,000 opens/mo
€300
/ month · annual billing

  • Everything in Community
  • White-label — no Flinker branding
  • Self-serve upgrade
  • Email support
  • Annual pre-pay (€3,600/yr)
Get Growth
Scale
up to 10,000 opens/mo
€750
/ month · annual billing

  • Everything in Growth
  • Priority support
  • SLA agreement
  • Dedicated contact
  • Annual pre-pay (€9,000/yr)
Contact Sales
Enterprise
10,000+ opens/mo
Custom
contact us for pricing

  • Everything in Scale
  • ERP integration (SAP, Oracle, Dynamics)
  • Microsoft Azure, Fabric & Foundry ready
  • On-premise & private cloud deployment
  • Multi-team setup & custom SLA
  • Custom contract & volume pricing
Contact Sales

All prices are exclusive of VAT.

Where teams embed it

Your app stays in control of authentication, file access, and permissions. The viewer handles IFC rendering. Drop it into any web architecture.

CDE & Document Platform

Load IFC files from project folders and show the model next to metadata, approvals, and revision history.

Digital Twin

Show the BIM model next to sensor data, asset records, maintenance logs, or operational dashboards.

Project Management App

Connect selected elements and BCF viewpoints to tasks, issues, comments, and saved views.

ERP & Procurement

Color and select model elements by work package, cost code, vendor, or procurement status.

Analytics Dashboard

Load IFC geometry next to tables, charts, validation results, quantities, and status fields.

Facility Management

Navigate spaces, assets, equipment, COBie data, and handover information in one browser view.

For AI Coding Assistants

Ready for AI-assisted development

Using Copilot, Claude, Codex, or another coding assistant? Paste this prompt to get a fully working IFC viewer in minutes. The Community plan requires no account, making it the natural choice for AI-generated integrations.

Add a fully working browser IFC viewer with the Flinker IFC Viewer SDK.
Use this import:
import { IfcViewer } from "https://cdn.flinker.app/ifc-viewer/v3.3.0/ifc-viewer.es.js";

Mount it into a <bim-grid id="ifc-viewer"></bim-grid> element.
Create the viewer with new IfcViewer("#ifc-viewer").
Await viewer.ready before loading files.
Convert IFC, BCF, or fragment files to Uint8Array and call viewer.add(file.name, bytes).
Do not upload the IFC file to a backend just to view it.

Frequently Asked Questions

No. The Community plan works by importing the CDN ES module directly — no account, no API key, no sign-up required. Import the module, create new IfcViewer(...), and you have a working viewer. The Community plan is subject to a 2,000 opens/month limit and requires Flinker branding to remain visible in the viewer.

No. Your application reads or fetches the file, converts it to Uint8Array, and passes it to viewer.add(). IFC parsing and WebGL rendering happen entirely inside the visitor's browser. Files are never transferred to a Flinker server.

The SDK mounts into a DOM element and works with any framework that supports browser ES modules: React, Vue, Angular, TypeScript, Svelte, or plain HTML. Create the element in your component, initialize the viewer after the element exists, and call viewer.add() when your app has file bytes.

One viewer open is counted each time viewer.add() is called to load a model file. Loading multiple discipline models in one session (federated review) counts as one open per file loaded.

Yes. The Community plan is free up to 2,000 opens per month with no time limit. Flinker branding must remain visible in the viewer on the Community plan. When you need more opens or want to remove the branding, upgrade to Growth or Scale.

Yes, on Growth, Scale, and Enterprise plans the viewer is fully white-label — no Flinker branding appears in the viewer interface. Community plan requires Flinker branding to remain visible.

No. The standard integration uses Flinker's CDN ES module — one import line. This makes the SDK the fastest path to a complete embedded IFC viewer in an existing web application. No build pipeline changes are required.

All prices shown are exclusive of VAT. VAT will be applied where required based on your location.

Start building. It's free.

Import one CDN module. No account, no credit card required. Upgrade to remove branding or increase your volume when you're ready.