CNC (also known as numerical control or computer numerical control) is the automated control of machining tools (such as milling machines, lathes, 3d printers, laser cutters, plasma cutters, robot arms, hexapods) by means of a computer.
A CNC machine processes a piece of material (metal, plastic, wood, ceramic, or composite) to meet specifications by following coded programmed instructions and without a manual operator directly controlling the machining operation.
In modern CNC systems, the design of a mechanical part and its manufacturing program are highly automated. The part’s mechanical dimensions are defined using CAD software and then translated into manufacturing directives by computer-aided manufacturing (CAM) software.
This chart provides our verdict. We only feature open source software here.

Let’s explore the 6 tools. For each application we have compiled its own portal page, a full description with an in-depth analysis of its features, together with links to relevant resources.
| CNC Software | |
|---|---|
| Universal Gcode Sender | gcode platform used for interfacing with advanced CNC controllers |
| LinuxCNC | Drive milling machines, lathes, 3d printers, laser cutters, ... |
| gSender | Connect to and control Grbl-based CNCs |
| OpenCamLib | Library providing computer aided manufacturing (CAM) algorithms |
| Rayforge | Laser cutters and engravers tool |
| Machinekit | Platform for machine control applications |
This article has been revamped in line with our recent announcement.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Know a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


As a hobbyist, I highly recommend [Redacted] to anyone looking for a CAD software that’s easy to use, yet powerful enough to create complex 3D designs.
We love receiving suggestions for new inclusions, but they need to be relevant to the article in question.
Link removed and name redacted as it’s off-topic.
Hi,
Please add Kiri:Moto, CNCjs, Snapmaker Luban and OpenBuilds CONTROL to the list.
I’ll take a look at them. Thanks