Open Source CAD Software
A CAD file is rarely a finished deliverable; it is an asset you reopen for years as a part gets revised, a building gets renovated, or a proven design gets reused. That longevity is exactly what a proprietary format quietly undermines, because geometry you can only edit while a license stays current is a liability dressed up as a file. Open source CAD keeps your models in scriptable code or documented interchange formats, so the constraints, dimensions, and history you defined remain yours to change. It also spans very different jobs here, from 2D drafting and parametric solids to code-driven parts, and choosing well means matching that range to the work you actually do.

FreeCAD
Parametric 3D modeler for product design, mechanical engineering, and architecture

OpenSCAD
Script-based solid 3D CAD for precise models, with CSG and 2D outline extrusion

LibreCAD
Cross-platform 2D CAD program for technical drawing with DXF and DWG support

CadQuery
Python parametric CAD scripting framework for building customizable 3D models and exporting STEP, DXF, STL, and more

SolveSpace
Parametric 2D and 3D CAD with a constraint solver for sketches, parts, and assemblies

KiCad
Electronics design suite for schematic capture, PCB layout, and 3D board viewing

build123d
Python CAD-as-code library for parametric 2D and 3D BREP modeling on the Open Cascade kernel

QCAD
Cross-platform 2D CAD for technical drawing with DXF support and a scripting interface

BRL-CAD
Combinatorial solid modeling system with a 3D geometry editor, ray tracer, and analysis tools
Our picks
CAD is several jobs under one label, so these picks are grouped by the kind of modeling you do.
All-around parametric modeler: FreeCAD FreeCAD lets you step back through a design's history and edit the parameters that drive it, so dimensions and features update automatically. Sketches become the base for 3D objects, you can extract production-ready 2D drawings, and a broad Python API automates the work you do repeatedly.
Focused 2D drafting: LibreCAD LibreCAD reads DXF and DWG and writes DXF, DWG, PDF, and SVG, covering the usual drafting handoff with the expected line, circle, and spline primitives. It can also run from the command line as a batch converter, turning DXF into PDF, PNG, or SVG for plotting.
CAD as code: CadQuery CadQuery builds parametric 3D models from short Python scripts with no GUI, so one script can generate a family of customizable parts and run server-side. It supports fillets, lofts, and nested assemblies, and exports lossless STEP and DXF alongside STL, VRML, AMF, and 3MF.
Electronics and PCB design: KiCad KiCad is the electronics outlier here, an EDA suite for when the design is a circuit board. It covers schematic capture, PCB layout, and 3D board inspection, and bundles a Gerber viewer, footprint assignment, and a project manager so the whole board lives in one place.
Matching a CAD tool to how you model
CAD is not one interchangeable category, and the fastest way to waste a week is to compare feature lists before naming the source of truth. A 2D drafting workflow lives in layers, blocks, snapping, and DWG or DXF handoff, which is where LibreCAD and QCAD are aimed. Mechanical design needs constraints, feature history, assemblies, and reliable solid operations, the territory of FreeCAD and SolveSpace. If you would rather describe a part in code than click through a modeler, OpenSCAD, CadQuery, and build123d generate geometry from scripts, and BRL-CAD covers combinatorial solid modeling with built-in analysis. Decide whether your source of truth is a drawing, a constrained part, an assembly, or a script before anything else.
Interchange is the second hard filter, because a CAD file carries far more than shapes: dimensions, constraints, layers, line weights, materials, and assembly structure all travel differently. Neutral formats such as STEP, DXF, STL, SVG, and IFC each preserve a different slice of the model, and proprietary files often arrive as dumb geometry with no feature tree. Test round trips with your own recent jobs rather than a demo part: open a file, edit it, export it, and ask the shop or collaborator on the other end what actually changed.
Finally, weigh how much you want to automate and where the model goes next. A script-driven tool turns one design into a family of configurable parts and slots into a build server, while a constraint-solver GUI rewards interactive editing of a single part. If your pipeline feeds CAM, PCB layout, 3D printing, or rendering, confirm those steps can read the same model without manual cleanup, since a chain that works up to the export step can still fail at the machine.
Related categories
Frequently asked questions
Is open source CAD solid enough for professional and client work?+
For many workflows, yes. 2D drafting, mechanical parts, printable fixtures, and code-generated components are well covered by tools like FreeCAD, LibreCAD, and CadQuery. The risk is rarely drawing a shape; it is meeting a client's exact file requirements, managing revisions, and preserving dimensions through export. Prove it on one real paid job, checking the delivered file on the receiving end, before you move a whole team over.
Which file formats matter when I hand a model to a shop or collaborator?+
It depends on the handoff. DXF and DWG rule 2D drafting, and LibreCAD and QCAD both read and write DXF. STEP is the common language for mechanical solids, while STL and 3MF suit 3D printing but drop editable features. IFC matters for building models, and SVG or DXF drive laser and CNC work. Do not assume import support means clean editing; test the exact files you exchange.
What is the difference between parametric, direct, and script-based modeling?+
Parametric tools like FreeCAD and SolveSpace drive geometry from dimensions and constraints, so changing one value updates the rest of the part, which suits mechanical design and assemblies. Direct modeling edits shapes as they are, handy for imported geometry with no history. Script-based tools such as OpenSCAD, CadQuery, and build123d describe the model in code, giving repeatable, parameter-driven output that regenerates on demand. Many teams end up using more than one mode.
Will my existing DWG or proprietary 3D files import cleanly?+
Sometimes, but do not count on it. Geometry usually survives better than constraints, blocks, title blocks, custom line types, and external references, and a proprietary 3D part often lands as a solid body with no feature tree. For a real migration, build a test set from recent jobs and inspect dimensions, scale, layers, fonts, and plotted output rather than trusting that the file simply opened.
Is open source CAD practical for 3D printing?+
Yes, especially for parts you can model as solids and export to STL or 3MF. OpenSCAD, CadQuery, and build123d are built around exactly this code-to-print workflow, and FreeCAD handles it through a GUI. Design for wall thickness, tolerances, orientation, and support removal, and keep the editable source file rather than treating the exported mesh as the master, since mesh repair becomes its own step when geometry exports non-manifold.
Can these tools handle architecture or BIM workflows?+
Basic architectural drafting is straightforward, but full BIM is stricter. You need objects that understand walls, slabs, openings, levels, and schedules, not just lines that look like a plan, plus dependable IFC import and export. FreeCAD has building-modeling workbenches, but round-trip BIM exchange is hard across any toolset. Test schedules, classifications, coordinates, and sheet output against real consultant files before relying on it for coordination.
Do these tools reach all the way to CAM and CNC?+
Modeling and machining are separate links in the chain, so verify the whole path. A shop may require STEP, DXF, or G-code in a particular convention, and CAM support varies by operation, material, tooling library, and post-processor. Even when the part models correctly, the handoff can fail on units, coordinate systems, tolerances, or a missing post for your controller. Cut a test part before committing production to it.