This is the official code of FreeCAD ( ). Clone this if you want to start FreeCAD development! Please always announce your pull requests on otherwise they might go on unnoticed for a long time, thanks!
C++ Python C FORTRAN CMake Lex Other
Latest commit c0ec75e Jan 17, 2017 @wwmayer wwmayer committed on GitHub Merge pull request #449 from looooo/python3-arch
Python3 Arch
Failed to load latest commit information.
cMake Support for NETGEN 6.2. Dec 25, 2016
data FEM: adapt FEM examples to new material module name Jan 2, 2017
package Fixed screenshot URL in Gnome appdata file - fixes #2179 Jul 3, 2015
src Merge pull request #449 from looooo/python3-arch Jan 17, 2017
subuser/freecad-dev Add subuser files for developing freecad within a Docker container. Aug 7, 2016
vagrant Add FreeCAD snap environment into source tree Jun 16, 2016
.arcconfig add config for arcanist Oct 9, 2015
.gitattributes + Shared library of Mefisto2F Jan 17, 2014
.gitignore Add CLion IDE configuration files to gitignore Aug 20, 2016
.log_errors Travis: run FreeCAD and check log against .log_errors Sep 23, 2015
.subuser.json Add subuser files for developing freecad within a Docker container. Aug 7, 2016
.travis.yml macOS builds on Travis Optimizations/Cleanup in advance of 10/31 Trav… Oct 12, 2016
BuildAll.bat + unify DLL export defines to namespace names Oct 10, 2011
BuildRelease.ini + unify DLL export defines to namespace names Oct 10, 2011 + unify DLL export defines to namespace names Oct 10, 2011
CMakeLists.txt implement tiny layer for PySide/PySide2 Dec 28, 2016
COPYING + fixes #0002133: Bad file name copying.lib May 6, 2016
ChangeLog.txt + update ReadMe and ChangeLog Jun 30, 2014
LibraryVersions.h.cmake + always get occ version information in About dialog Mar 19, 2016 Fixed FreeCAD 0.16 build status link in GitHub Apr 15, 2016
appveyor.yml Added appveyor control file Aug 1, 2016
config.h.cmake + unify DLL export defines to namespace names Oct 10, 2011



FreeCAD is a general purpose feature-based, parametric 3D modeler for CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and product design but also fits a wider range of uses in engineering, such as architecture or other engineering specialties. It is 100% Open Source (LGPL2+ license) and extremely modular, allowing for very advanced extension and customization.

FreeCAD is based on OpenCasCade, a powerful geometry kernel, features an Open Inventor-compliant 3D scene representation model provided by the Coin 3D library, and a broad Python API. The interface is built with Qt. FreeCAD runs exactly the same way on Windows, Mac OSX, BSD and Linux platforms.

Home page:

Documentation wiki:


Bug tracker:

Git repository:


Precompiled (installable) packages are available for Windows and Mac on the releases page at

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

Other options are described at

Build Status

Master 0.16
Master 0.16


Compiling FreeCAD requires installation of several libraries and their development files such as OpenCasCADe, Coin and Qt, listed in the pages below. Once this is done, FreeCAD can be simply compiled with cMake. On Windows, these libraries are bundled and offered by the FreeCAD team in a convenience package, on Linux they are usually found in your distribution's repositories and on Mac OSX and other platforms you will usually need to compile them yourself.

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

For Linux:

For Windows:

For Mac OSX:

For Cygwin:

For MinGW:

Usage & Getting help

The FreeCAD documentation wiki contains a lot of documentation on general FreeCAD usage, python scripting, and development. The following pages might help you get started:

Getting started:

Features list:

Frequent questions:




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