This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.
Go to file
wmayer 5696ee821c Sketcher: Fixes #14240 2024-05-27 12:09:35 +02:00
.github Update GitHub PR issue template to BIM rename 2024-05-17 19:06:50 +02:00
cMake Correct flag 2024-05-20 12:40:52 -05:00
conda Conda: add libspnav to linux builds. 2024-05-09 02:00:14 -04:00
contrib/.vscode VSCode: Use port 39999 to test for debugger readiness. 2024-05-13 10:53:27 -05:00
data Data: Consistent data path 2024-04-15 11:10:58 -05:00
package/fedora Web: Remove GUI 2024-04-21 22:27:50 -05:00
src Sketcher: Fixes #14240 2024-05-27 12:09:35 +02:00
tests Toponaming: Test fixes 2024-05-20 12:40:52 -05:00
tools Support saving the tnp recalculated file in profile testing 2024-05-09 09:01:25 -05:00
.clang-format clang-format: disable sorting of includes 2023-09-23 19:17:33 +02:00
.clang-tidy Base: fix bugprone reserved identifier 2023-11-20 20:30:15 +01:00
.git-blame-ignore-revs Formatting: Update git blame ignore revs 2024-04-04 23:26:17 -05:00
.gitignore Update .gitignore 2024-01-08 11:27:22 -03:00
.gitmodules Start: Recreate start as a QtWidgets-based app 2024-04-21 22:27:49 -05:00
.pre-commit-config.yaml Precommit: Fix black CVE-2024-21503 vulnerability 2024-04-04 23:17:13 -05:00
.pylintrc CI: Tweaks to pylintrc 2023-02-13 15:46:28 +01:00
CMakeLists.txt CMake: set policy CMP0148 to old 2024-02-22 11:47:48 +01:00
CMakePresets.json Update CMakePresets.json 2024-01-08 21:30:10 -03:00 Migrate domain name from freecadweb to freecad (#9352) 2023-04-24 15:19:20 -05:00 Update to reflect branch naming change 2023-10-18 14:22:45 -05:00
LICENSE [Testing] renaming COPYING file to LICENSE 2018-12-20 20:36:01 -02:00 Update to mention macros (#13986) 2024-05-20 10:36:16 -05:00 Update the README 2023-08-02 03:34:40 +00:00 Update to v0.21 2023-08-05 11:29:31 -06:00
requirements.txt Upgrade debugger to debugpy 2023-11-17 02:00:32 +01:00
rpkg.macros [COPR] tighten grep to avoid catching some random stuff 2023-02-17 15:41:08 +01:00

Your own 3D parametric modeler

WebsiteDocumentationForumBug trackerGit repositoryBlog

Release Crowdin Liberapay


  • Freedom to build what you want FreeCAD is an open-source parametric 3D modeler made primarily to design real-life objects of any size. Parametric modeling allows you to easily modify your design by going back into your model history to change its parameters.

  • Create 3D from 2D and back FreeCAD lets you to sketch geometry constrained 2D shapes and use them as a base to build other objects. It contains many components to adjust dimensions or extract design details from 3D models to create high quality production-ready drawings.

  • Designed for your needs FreeCAD is designed to fit a wide range of uses including product design, mechanical engineering and architecture, whether you are a hobbyist, programmer, experienced CAD user, student or teacher.

  • Cross platform FreeCAD runs on Windows, macOS and Linux operating systems.

  • Underlying technology

    • OpenCASCADE A powerful geometry kernel, the most important component of FreeCAD
    • Coin3D library Open Inventor-compliant 3D scene representation model
    • Python FreeCAD offers a broad Python API
    • Qt Graphical user interface built with Qt


Precompiled packages for stable releases are available for Windows, macOS and Linux on the Releases page.

On most Linux distributions, FreeCAD is also directly installable from the software center application.

For development releases check the weekly-builds page.

Other options are described at the wiki Download page.


Compiling FreeCAD requires installation of several libraries and their development files such as OCCT (Open Cascade), Coin and Qt, listed in the pages below. Once this is done, FreeCAD can be compiled with CMake. On Windows, these libraries are bundled and offered by the FreeCAD team in a convenient package. On Linux, they are usually found in your distribution's repositories, and on macOS and other platforms, you will usually have to compile them yourself.

The pages below contain up-to-date build instructions:

Reporting Issues

To report an issue please:

  • First post to forum to verify the issue;
  • Link forum thread to bug tracker ticket and vice-a-versa;
  • Use the most updated stable or development versions of FreeCAD;
  • Post version info from eg. Help > About FreeCAD > Copy to clipboard;
  • Post a Step-By-Step explanation on how to recreate the issue;
  • Upload an example file to demonstrate problem.

For more detail see:

The FPA offers developers the opportunity to apply for a grant to work on projects of their choosing. Check jobs and funding to know more.

Usage & Getting help

The FreeCAD wiki contains documentation on general FreeCAD usage, Python scripting, and development. These pages might help you get started:

The FreeCAD forum is also a great place to find help and solve specific problems you might encounter when learning to use FreeCAD.

This project receives generous infrastructure support from and KiCad Services Corp.