Request a Personalized Demo

Learn how to accurately convert your designs with Scan2CAD

  • Join thousands of happy customers worldwide

Which CNC Control Software Should I Use?

Which CNC Controller Software

CNC is at the heart of the maker community. By using simple tools like CNC mills, laser cutters or routers, you could create anything from stencils to laser-cut jewelry. But did you know that there’s a 3 step process to CNC? Not only do you need to create a vector with CAD, you also need CAM software and CNC control software to bring your project to life. It can be difficult trying to navigate the choppy waters of CNC software, so Scan2CAD has done all the heavy lifting for you.

This handy guide aims to explain what types of software are involved in CNC—from CAD to CAM to CNC control software. We’ve even included examples of top software and freeware that you could be using with your CNC projects. We’ll even show you where you can find free DXF designs to start your own projects. 

Table of Contents

CNC: Overview

If you didn’t already know, CNC stands for Computer Numeric Control. CNC machines work by removing material from the initial piece, as opposed to adding new material to it (such as in 3D printing. CNC can be described as a type of subtractive manufacturing and a process such as 3D printing can be described additive manufacturing. 

Examples of CNC machines include mills, routers, plasma cutters and laser etchers. For a better look, check out Scan2CAD’s comparison of CNC machines

Your CNC machine runs on a series of pre-programmed commands. The most common programming language is called G-code, though other languages like Heidenhain and Mazak exist for CNC. 

G-code controls the movement of your CNC machine’s tool. It controls its position and depth on the X, Y and Z axes. It also controls the speed at which it rotates and the rate at which it moves. 

From Design To Fabrication

Typically, there’s a three step process to CNC that involves three corresponding types of software. To begin, you first need a design in a vector file format (unless you already have the G-code). A vector is a set of mathematical instructions that will dictate how your image is rendered—the most popular vector file format is DXF. You can create your designs and vectors with CAD software. Alternatively, you can use software like Scan2CAD to convert a raster design to a vector. 

Once you have your vector, you will need to convert it to G-code which is a programming language that directs your machine. This can be done with CAM software. The process then ends with CNC control software which will read your G-code and turn it into motion to run your CNC machine. 

From CAD drawing to G-code to CNC coordinates

Of course, there are exceptions to the above process. For example, you might find yourself using software that integrates both CAD/CAM capabilities. Or, you might want to skip the CAD step altogether by using free DXFs. We have discussed both possibilities below. 

If you’re already sorted with CAD/CAM software, or you’re just hunting for the best control software, skip straight to step 3!

Step 1: CAD Software

Computer Aided Design software is the starting point for most CNC projects—this software is used to create your designs and vectors. There are hundreds of CAD packages available, each with different capabilities depending on which industry you’re interested in. As we have covered before, CAD is widespread across hundreds of industries—from architecture to art to mechanics.

Of course, you need to choose your CAD program carefully. These packages can be expensive, so you’ll want to make sure you’re going to get your money’s worth—so take advantage of free trials and look at reviews. Unfortunately, there can be a steep learning curve for many packages—however, there are online resources that can help you along the way. For example, Scan2CAD offers tips and tricks for AutoCAD and SolidWorks.

For a better look, take a look at the following list of popular CAD software and freeware below. 

Popular CAD Software


Screenshot of AutoCAD 2013

  • AutoCAD: used to create 2D and 3D drawings. It spans across industries including mechanics, architecture and civil engineering. It’s one of the most popular CAD packages in the world. 
  • SolidWorks: a parametric feature-based 3D modeling software. It can be used for advanced 3D modeling and auto-generated 2D drawings. It’s the most popular parametric modeler. 
  • Rhino3D: can create, edit and render NURBS curves, surfaces, solids and polygon meshes. It includes free-form 3D modeling tools alongside complete accuracy and accessibility. 

This list of course, is just the tip of the iceberg. If you’re looking to branch out into cloud-based CAD for example, you might like to try a package like Onshape. You should also bear in mind that some CAD packages offer CAM capabilities. Fusion 360 for example, includes built-in CAM software that allows you to create and edit G-code. 

Free CAD Software

If you’re not looking to fork out money for a CAD package, you might find it more worthwhile to try out free CAD packages. This is a preferred option for many CNC hobbyists who don’t use CAD software enough to warrant paying a large expense.

Screenshot of Wings3D

Screenshot of Wings3D

  • Google Sketchup: it’s not technically a CAD program, but it does allow you to produce 3D drawings that you can use with a CAM program to create G-code. 
  • Wings3D: a modeling tool designed primarily for the creation of 3D models, which can then be imported into a CAM program. It supports mesh tools, design and editing features etc. 
  • NanoCAD: offers 2D, 3D and parametric design—you can build anything from machine parts to blueprints. It’s free, but there are premium versions which include add-on features. 

If that’s not enough for you, check out our list of top CAD freeware

You might be wondering if there’s a way to avoid CAD software altogether. If that’s the case, you’re in luck—you can access free DXFs that are ready-to-cut so you don’t have to design anything. Take a look below to see how. 

Free DXF Designs

preview - bird6If you’re looking to start an exciting project from one of Scan2CAD’s CNC project ideas, you might not want to go through the process of creating your own image—it can be pretty time-consuming after all. If that’s the case, you might want to consider using ready-to-cut DXF designs. 

There’s a wide variety of free DXF websites that you can download DXFs from to get started on your own CNC project. These include: 

A problem you might have with these sites however, is that they will only offer you a finite source—they’re only updated once a month or so. That’s where Scan2CAD comes in!

Scan2CAD isn’t just a conversion software, it’s also a great source for anything CAD, CAM and CNC-related. It’s not surprising then, that we offer our own cut-ready CNC designs that are free and ready to use with your CNC machines. And it’s not just one or two designs—it’s an entire DXF pack every single week—typically containing 6 or 7 designs in a DXF and JPG format. 

The theme for each week changes, so you’ll be sure to find something to your taste. Our previous packs have included Ornamental Patterns and American Football. So if you’re looking for a new project to start each week, subscribe today and get DXF packs sent straight to your email. 

Free DXF Downloads From Scan2CAD

Step 2: CAM Software

Computer Aided Manufacturing software is fed your CAD drawing and subsequently produces G-code that you can then feed into your control software to run your CNC machine. It is possible to write G-code by hand for simple circles or lines, but it’s much easier to produce using a CAM program. If you’re still not sure what G-code is, head on over to Scan2CAD’s exclusive guide to G-code

As we have discussed, there can be confusion as to the difference between CAD and CAM, as many packages like Fusion 360 come with both capabilities nowadays. While it can be more efficient to have an integrated solution, it can be more expensive, which is problematic if you’re looking for a cost-effective package. 

Popular CAM Software

Screenshot of MeshCAM

Screenshot of MechCAM. Image source: MeshCAM

  • MeshCAM: works with almost every 3D CAD program by opening the two most common file formats, STL and DXF. It boasts more toolpath options than any competing CAM program. 
  • MasterCAM: one of the most popular CAM programs available. It provides full 3D live wireframe modeling, and a broad range of translators allowing you to open any CAD file. 
  • OneCNC: provides a CAM system for milling, turning and mill-turn machining. It has versions that provides a range of capabilities in 2, 3, 4 and 5 axis machining. 

Free CAM Software

If you’re a casual CNC hobbyist or beginner, you might not need to use the most powerful CAM packages available. After all, you won’t need to figure out 6-axis toolpaths on your first day! With that in mind, the following free packages might be more to your level. 

Screenshot of FreeMILL

Screenshot of FreeMILL. Image source: MecSoft

  • PyCAM: a toolpath generator for 3-axis CNC machining. It loads 3D models in an STL format, or 2D contour models from DXF or SVG files. You can then use the resulting G-code with any machine controller. 
  • FreeMILL: a free milling module for programming CNC mills and routers. You can run full simulations on your part models and output G-code to your machine. 
  • G-Simple: is a simple CAM package for 3-axis machining centers. It includes a tools and materials library, along with a selectable excess material removal filter. 

Of course, you should bear in mind to be careful when using freeware. Only use freeware that has been reviewed by reliable sources—you don’t want to accidentally download malware. As we have discussed previously with the pitfalls of online converters, freeware can often cause more problems than it’s worth.

Now you’ve had a look at CAD and CAM packages, you might be wondering about packages that integrate both capabilities—or even how you can speed up the entire process. That’s where Scan2CAD comes in once more! Check out step 2.5 below to find out how you can load or create vectors, and convert them to G-code in one single package! 

Step 2.5: Scan2CAD

Scan2CAD is a market-leading raster-to-vector conversion software. It supports no fewer than 33 file types, and comes with batch processing, flexible licensing and 24/7 support

With it, you can convert your raster designs to a vector file format in a matter of seconds. You can then make use of raster and vector editing suites to create the most optimal vector image you can use for your CNC design. And the best part is, it only takes a matter of seconds.  Don’t believe us? Take a look at the animation below to see it in action!

Animation converting an image to CNC with Scan2CAD

In this animation we convert an anchor image to a vector outline for CNC using Scan2CAD

For more information, check out Scan2CAD’s top tips for taking your design to CNC fabrication

And that’s not all! Scan2CAD isn’t just useful for converting your files to a vector file format, it can also be used for CAM applications. Once you have a vector you’re happy with (whether it’s one you’ve converted or a ready-to-cut design), you can use Scan2CAD to export it directly to a G-code compatible format. Scan2CAD currently supports three of the most popular G-code file types including: .CNC.NC, and .TAP

Scan2CAD also provides a range of options in its CNC Export dialog box, which include: 

  • G-code Bezier options: cubic splines (G-code G05), arcs (G-code G02/G03) or polylines (G-code G01). 
  • Arc and circle rotation: clockwise or anti-clockwise. 
  • Z-settings: various parameters relating to the cutting of the exported vectors. 
  • Scale settings: the relation between vector points and a distance in real life, e.g. two points on a vector image could represent an inch. 

Want a more in-depth look? Take at how to convert an image for CNC with Scan2CAD. 

Step 3: Machine Control Software

Generally speaking, there are two types of CNC control software: control software built into your machine, and PC-based software. If you were using a commercial CNC machine like HAAS Vertical Machining Center, you would get a complete hardware and software solution that is built into the machine—you’d be able to transfer your G-code directly to the machine. Hobby CNC machines by comparison, have an external controller—by making use of control software, you can turn your PC into a machine controller

When it comes to PC-based controller software, there’s a wide variety on offer. There are a few key controllers that stand out from the crowd however. Take a look below for our top picks, featuring low-cost and free software. 

1. The Mach Series

Screenshot of Mach4

Image source:

  • Cost: $200 (Mach4)
  • Controls: mills, lathes, routers, lasers, plasma etc. 
  • Operating system: Windows

The Mach series are at the forefront of CNC control software. The developer ArtSoft has been releasing and improving upon the Mach series for the past decade—the most current version of which is Mach4. This low-cost software works on most Windows PCs, making use of advanced system level drivers to enact pulse timing for stepper motors and step-servo systems.

The software itself is very intuitive and customizable. It can control up to 6 axes of a CNC machine. Previous versions like Mach3 allowed hobbyists to use their license across multiple machines, whereas Mach4 now ties the license to a specific PC. If you are curious about the software, you can test out the free demo mode for up to 500 lines of G-code!

2. LinuxCNC

Screenshot of LinuxCNC

Image source:

  • Cost: Free
  • Controls: mills, lathes, 3D printers, robot arms etc. 
  • Operating system: Linux

LinuxCNC is undoubtedly the direct competitor to the Mach series—it’s certainly a popular option for many CNC hobbyists, and not just because it’s free! Previously called EMC2, this CNC control software is completely open source. And as the name suggests, the software runs under Linux. Due to the need of precise real time control of machines in motion, the software requires a platform with real-time computing capabilities. This means that if you don’t have real time computing capabilities, your PC will only run the package in demo mode. 

Freeware can often seem lacking in some way, however that certainly isn’t the case when it comes to LinuxCNC. It can control up to 9 axes of a CNC machine, and has several GUIs suited to specific types of usage such as touch screen and interactive development. The software also supports advanced control features like rigid tapping and cutter compensation. 

3. TurboCNC

Screenshot of TurboCNC

Image source: Dakeng

  • Cost: $60
  • Controls: mills, lathes, routers, laser cutters etc. 
  • Operating system: DOS

Our final choice for top CNC control software is TurboCNC. This machine control software provided by Dak Engineering runs under DOS. The software itself is shareware—you can gain access to its source code and free support for a low-cost fee of $60.

TurboCNC is an efficient controller that runs stepper motors and step-servos. It can control up to 8 axes of motion, and it comes with configurable I/O for reversible and speed control spindles. It also provides fully parametric programming with variables, subroutines and expressions. 


4. Universal Gcode Sender

Universal Gcode Sender (UGS) is the software of choice by a large number of the CNC community. This in-part might be because the software is absolutely free and available on Github.

The software has been designed with real-world problems in mind. It comes with ‘configurable gcode optimization’ to remove comments, convert arcs to lines segments, remove whitespaces and more.

  • Cost: Free!
  • Controls: mills, lathes, routers, laser cutters etc. 
  • Operating system: Cross platform, tested on Windows, OSX, Linux, and Raspberry Pi.

Other CNC control software includes:

If you want to learn more about the world of CNC, why not check out the CNC section of the Scan2CAD blog? We cover a range of topics from the best CNC kits for beginners to new innovations in CNC


One monthly email featuring the best guides for CAD professionals.

20 Responses to Which CNC Control Software Should I Use?

  1. Hassan Nov 6, 2017 at 11:17 AM #

    Hello Bethany
    i am new to this field and i want to create my own cnc machine and i wanted to know about the best controlling software for my cnc

  2. Joe McCain Dec 22, 2017 at 9:10 AM #

    Great article!! Very helpful.

    • Luke Kennedy Dec 22, 2017 at 11:27 AM #

      I’m very pleased to hear we helped, Joe!

  3. Purushotham Jan 15, 2018 at 7:35 AM #

    Hi, this is very informative, people will be useful about which cnc software they can use for their choice..?

  4. muhammad abdullah Jan 27, 2018 at 7:45 PM #

    i wanted to know about the best controlling software for my cnc except MACH3

  5. Jay May 9, 2018 at 11:06 AM #

    Hello Bethany,
    Thank you so much for great contain,
    I am wonder asking, beside of software, which point we should control when set up CNC machine like: Cutting speed, angle of knife, time,…
    Coz my major is not relate to machine so I have a little bit confused,
    Thank for your advice

    • Luke Kennedy May 9, 2018 at 11:19 AM #

      Hey Jay – could you expand further on your question? What do you need to know about cutting speeds etc?

  6. William Sarfat Jul 1, 2018 at 12:28 PM #

    Hello Bethany
    Thanks for this article, very helpful.
    Greetings from Indonesia.

  7. Benedict Sep 5, 2018 at 12:41 PM #

    Hello Bethany, thanks on articles. Im designing cnc machines 4-axis. Any idea who can develop new CADCAM software ? Instead of using readymade cadcam software in the market, i was thinking of developing under my own branding. What will be your opinion? Tq

    • luke Sep 5, 2018 at 12:47 PM #

      Hi Benedict, that’s a massive question. I expect you are an accomplished developer already if you’re considering developing something like this so I would go with your own instincts.

      • Benedict Sep 5, 2018 at 3:44 PM #

        Hi Luke, thanks for reply. Currently im just a dealer for imported CNC machines from Europe.
        Im working on a project to build own CNC machines with similar European technology. Im inviting some collaborations in software especially because it is the heart of any high-tech machine. Ofcourse ready available CadCam in the market is always safe options but my future plan is to have own in house CadCam. It will be expensive to build new ones but atleast we can have a control in long run.
        Need more opinions on this.

  8. Foad Jan 23, 2019 at 10:58 PM #

    Here I have also tried to list all the Free and Open Source CAM/CNC software I could find:

    I hope it helps

    • Jay Jan 24, 2019 at 12:10 AM #

      Hi Foad, thanks for the added info!

  9. Duy Dec 22, 2019 at 9:42 AM #

    Thank you so much for the topic. It ‘s so great for me to understand and get more knowledge about CNC.

  10. Susan B Dec 29, 2019 at 9:12 PM #

    We recently purchased a GoFab CNC. It came with a tablet and app preloaded. Does this mean we can only use their app or can we upload a different app for running the table?

    • Luke Dec 30, 2019 at 12:37 PM #

      You can probably only use their app but I would suggest speaking to them. They will be best placed to answer questions about their system 🙂

  11. Ali Awan Feb 14, 2020 at 8:04 AM #

    I opened DXF file in G-Code but text did not show in G-Code software.
    what i do then show test in G-Code

    kindly guide me whitch software use for convert DXF file into NC or NGC.

    Best Regards,
    Ali Awan

    • Luke Feb 14, 2020 at 3:13 PM #

      Scan2CAD will convert DXF to G-code that for you.

  12. Samantha Oct 18, 2020 at 4:17 PM #

    I was a bit disappointed not to see CNC.js listed here, it’s a lovely interface and runs on most platforms including Pi.

    That said the reason I’m searching again is that upon trying to reinstall CNC.js on my Pi it’s throwing up a tonne of issues so maybe I’m not that disappointed…

    • Luke Oct 19, 2020 at 10:34 AM #

      I would suggest posting the problem you’re seeing with CNC.js to the community CAD Answers. They may be able to help.

Leave a Reply to Jay Click here to cancel reply.