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 0e7314068c Arch: BuildingParts autogrouping 4 days ago
.circleci update circle-ci 4 years ago
.github Update link to changelog thread in pull request template 5 months ago
.travis FreeCAD_trunk.sln to FreeCAD.sln 2 years ago
cMake [Core] Add library dependency for boost date_time 3 weeks ago
ci CI gitlab: update readme 4 weeks ago
conda Enable plot module by default 2 months ago
data [Examples] Conform PartDesign example to usual guidelines 4 weeks ago
package [COPR] Bump version in spec file to 0.20pre 2 months ago
src Arch: BuildingParts autogrouping 4 days ago
tools/build Add Debian/Ubuntu runtime deps for Docker build scripts (#4951) 3 months ago
vagrant added removable-media plug 6 months ago
.arcconfig add config for arcanist 6 years ago
.gitattributes + Shared library of Mefisto2F 8 years ago
.gitignore Remove ancient dockerfile 6 months ago
.log_errors Travis: run FreeCAD and check log against .log_errors 6 years ago
.travis.yml travis: switch Netgen support off for Windows builds 7 months ago Fix various typos 1 week ago
CMakeLists.txt CMake: fix possible linker error when using external SMESH 7 months ago Integrate libvirt CoC 3 years ago
ChangeLog.txt More misc. typos 3 years ago
LICENSE [Testing] renaming COPYING file to LICENSE 3 years ago
LibraryVersions.h.cmake Add output of Pivy version 8 months ago Readme: Added LGTM C++ badge 5 months ago
SMESH_Version.h.cmake Improve handling of external smesh 4 years ago
appveyor.yml AppVeyor: Configuration for VS2017 2 years ago Conda doesn't export functions to subshells 1 year ago
config.h.cmake + unify DLL export defines to namespace names 10 years ago
environment-linux.yml Setup scripts for developer env using conda 1 year ago
environment-osx.yml Setup scripts for developer env using conda 1 year ago
lgtm.yml LGTM: Remove some additional legacy files [skip ci] 7 months ago
requirements.txt Addon Manager: change lookup mechanism 1 year 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 (installable) packages are available for Windows and macOS on the Releases page.

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

Other options are described at the wiki Download page.

Build Status

Master 0.19 Translation
Master 0.19 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.