An official mirror (for now...) of the FreeCAD project. Currently maintained in sync manually by Yorik. Please check for issues and pull requests
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Yorik van Havre b5842966c1 Merge remote-tracking branch 'gitlab/master' 2 weeks ago
.circleci update circle-ci 5 years ago
.github [github] disable 2 more checks 3 weeks ago
cMake extend find_package(SMESH) 3 weeks ago
ci CI gitlab: update readme 1 year ago
data Draft: Update draft_test_objects.FCStd file 6 months ago
package/fedora Remove unused conda files and PKGBUILD [skip ci] 2 months ago
src Merge remote-tracking branch 'gitlab/master' 2 weeks ago
tools/build Add Debian/Ubuntu runtime deps for Docker build scripts (#4951) 1 year ago
vagrant added removable-media plug 1 year ago
.clang-format column limit 2 weeks ago
.clang-tidy disable nodiscard 3 weeks ago
.git-blame-ignore-revs Git: Add line ending fix to blame ignore revs file 5 months ago
.gitattributes + Shared library of Mefisto2F 9 years ago
.gitignore [Travis] remove Travis 2 months ago
.pylintrc Ci v2 (#7282) 2 months ago Fix various typos 12 months ago
CMakeLists.txt [core] update version number 3 months ago Integrate libvirt CoC 4 years ago
ChangeLog.txt More misc. typos 4 years ago
LICENSE [Testing] renaming COPYING file to LICENSE 4 years ago
LibraryVersions.h.cmake App: in verbose mode print used library versions 6 months ago update screenshot in Readme 4 months ago
SMESH_Version.h.cmake Improve handling of external smesh 4 years ago
appveyor.yml AppVeyor: Configuration for VS2017 3 years ago
config.h.cmake App: add a CMake test to check if C runtime provides backtrace symbols 11 months ago
lgtm.yml Removed old wiki2qhelp file - issue 7120 3 months ago
requirements.txt Update requirements.txt 7 months ago
rpkg.macros ci/packaging: add missing rpkg.macros 8 months ago


Your own 3D parametric modeler

WebsiteDocumentationForumBug trackerGit repository

Release Master Crowdin Gitter Language grade: Python Language grade: C/C++ 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.

Build Status

Master 0.20 Translation
Master 0.20 Crowdin


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:

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.