JupyterCAD is a JupyterLab extension for 3D geometry modeling with collaborative editing support. It is designed to allow multiple people to work on the same file at the same time, and to facilitate discussion and collaboration around the 3D shapes being created.
JupyterCAD has support for FreeCAD files, which makes it easy to import and export models from FreeCAD. It also has a range of features for creating and manipulating 3D shapes, including a variety of primitives, transformations, and Boolean operations.
- JupyterLab >= 4.0.0
- freecad (optional)
You can install JupyterCAD using conda/mamba (this installs freecad automatically):
mamba install -c conda-forge jupytercadOr using pip:
pip install jupytercadOnce you have installed the extension, you should be able to open the CAD viewer in JupyterLab and create 3D shapes!
Additionally, you can install jupytercad-freecad and edit .FCStd files in JupyterLab.
You can run JupyterCAD entirely in the browser using JupyterLite.
- Create a repository using the xeus-lite-demo template.
- In your fork, edit
environment.ymland add:- jupytercad-lite - Add your jcad and example files under the
content/directory of your repository. These files will be available directly inside your Lite deployment. - Enable GitHub Pages under Settings → Pages for your repository.
- Once the build completes, your Lite deployment will be live at:
https://<username>.github.io/<repo-name>/
This provides a lightweight, fully browser-based JupyterCAD environment — no server required.
Important
Collaboration is not yet supported in JupyterLite static deployments.
Check out the JupyterCAD documentation on ReadTheDocs! https://jupytercad.readthedocs.io
JupyterCAD is an open-source project, and contributions are always welcome. If you would like to contribute to JupyterCAD, please fork the repository and submit a pull request.
See CONTRIBUTING for dev installation instructions.
JupyterCAD is licensed under the BSD 3-Clause License. See the LICENSE file for more information.

