Skip to main content
  1. Posts/

FreeCAD Runs In The Browser

··212 words·1 min·

🧩 FreeCAD, a parametric computer-aided design application, can now run inside a browser tab. The author built this port with Qt compiled to WebAssembly and a combination of technologies that are still uncommon on the web.

The project includes the OpenCASCADE geometry kernel, Coin3D, CPython, PySide6, and more than 17 workbenches. Everything is statically linked into a WebAssembly module, supporting 3D modeling, Sketcher, PartDesign, CAM, BIM, and FEM.

The main challenge was adapting desktop assumptions: modal dialogs, dynamically loaded Python modules, legacy OpenGL, local files, and multithreaded operations. A fixed-function OpenGL emulator over WebGL2 renders the 3D view, while IndexedDB preserves user configuration.

⚡ The first load is about 96 MB compressed and requires a recent Chrome or Edge because it relies on WebAssembly JSPI. The port is single-threaded, so heavy calculations can block the tab; FEM can display results, but it cannot run external solvers.

💡 Explanation in a nutshell
#

WebAssembly lets large C++ programs run on the web. Here, the author adapted the services FreeCAD expected from an operating system so they work inside a browser. The result is professional CAD without installing the application, although performance and compatibility limits remain.

More information at the link 👇

Also published on LinkedIn.

Juan Pedro Bretti Mandarano
Author
Juan Pedro Bretti Mandarano