FreeCAD is a parametric 3D modeller aimed primarily at product design, mechanical engineering and related technical disciplines. Models retain a construction history, allowing dimensions and other parameters to be changed while dependent geometry is recalculated.
Its workbench architecture extends the application well beyond basic solid modelling. This includes technical drawing, mesh processing, finite-element analysis and CAM functionality, allowing CNC toolpaths to be prepared from models without moving the design into a separate application.
This is free and open source software.
Key Features
- Parametric modelling records operations in a model tree so earlier dimensions and features can be changed later.
- Sketcher provides geometry constraints and dimensional constraints for precise 2D profiles.
- Part Design offers feature-based modelling with pads, pockets, fillets, chamfers, patterns and other operations.
- Part workbench provides lower-level solid modelling and Boolean operations.
- Technical drawings and production documentation can be generated from 3D models.
- CAM tools create CNC operations and toolpaths directly from FreeCAD geometry.
- Supports profiling, pocketing, drilling, facing and other common machining operations.
- Tool controllers define cutter geometry together with feeds and spindle parameters.
- Post-processors turn generated paths into machine-specific G-code.
- Imports and exports numerous CAD, mesh and exchange formats.
- Integrated Python environment exposes a broad API for scripting, macros and automation.
- Workbench framework allows specialised functionality to be added without expanding the core interface.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: github.com/FreeCAD/FreeCAD
Support:
Developer: FreeCAD developers
License: GNU Lesser General Public License v2.1

FreeCAD is written in C++ and Python. Learn C++ with our recommended free books and free tutorials. Learn Python with our recommended free books and free tutorials.
Related Software
| CAD Software | |
|---|---|
| FreeCAD | 3D-Solid and general purpose design CAD/CAE |
| QCAD | Professional CAD System |
| LibreCAD | CAD in two dimensions |
| BRL-CAD | Constructive Solid Geometry (CSG) solid modeling system |
| OpenCASCADE | Technology, 3D modeling & numerical simulation |
| SALOME | Platform for numerical simulation |
| OpenSCAD | Programmers solid 3D CAD modeller |
| KiCad | Integrated environment for all of the stages of the design process |
| Chili3D | Browser-based 3D CAD application for parametric modelling |
| LeoCAD | Design virtual models you can build with LEGO bricks |
| SolveSpace | Parametric 3d CAD tool |
| CadQuery | Python parametric CAD scripting framework |
| Electric | The Electric VLSI Design System |
| gCAD3D | 3D CAD-CAM application which features an integrated 3D OpenGL viewer |
| XTrackCAD | CAD program for designing model railroad layouts |
| KLayout | Viewer and editor for integrated circuit and mask design |
| Dune 3D | Parametric 3D CAD |
| CAD Sketcher | Constraint-based geometry sketcher |
| build123d | Python CAD programming library |
| Design | 2D CAD software for GNOME |
Read our verdict in the software roundup.
| CNC Software | |
|---|---|
| Universal Gcode Sender | gcode platform used for interfacing with advanced CNC controllers |
| LinuxCNC | Drive milling machines, lathes, 3d printers, laser cutters, ... |
| CNCjs | Web-based interface for CNC milling controller |
| gSender | Connect to and control Grbl-based CNCs |
| OpenCamLib | Library providing computer aided manufacturing (CAM) algorithms |
| bCNC | Cross-platform Python application for CNC machines |
| Kiri:Moto | Browser-based Slicer for 3D printers, CNC mills, and Laser cutters |
| OpenBuilds CONTROL | Connect and control your CNC, Laser, Plasma or Dragknife machine |
| Luban | 3-in-1 software tailor-made for Snapmaker machines |
| Inkcut | Control 2D plotters, cutters, engravers and CNC machines |
| Rayforge | Laser cutters and engravers tool |
| MeerK40t | Laser cutting software |
| CAMotics | 3-axis CNC GCode simulator |
| Machinekit | Platform for machine control applications |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.