Mach3 vs Mach4: Which is Best For You?

Leo Watts

Comparisons, Software

Mach3 vs Mach4

At CNCSourced, we’re a team from across the world, united by our passion for everything CNC, laser cutting, and more! We try to publish at least once per week, and we’re always up for talking anything DIY and making! Altogether we’ve written over 150 technical guides, from how to wire stepper motors, to brand-new ways to CNC carve granite with $5. You can read more about us on our about page.

In this article, I’ll compare Mach3 vs Mach4 over its current issues, capabilities, intended audience, price, features, support, and more.

I’ll go in-depth here, but if you want a quick summary, I’ve added this below:

Mach3 vs Mach4 – Quick Summary:

  • Mach4 is not just a Mach3 update – it’s a completely different software sharing less than 1% of the same code.
  • Their plugins are not interchangeable and do not work with each other.
  • They cost about the same: Mach3 costs $175, Mach4 costs $200.
  • Mach3 has a larger community support.
  • Mach4 has a better UI with convenient screens for g code editing and probing.
  • Mach4 has a simulation plugin, Mach3 doesn’t.
  • Mach4 has more features for advanced users, including macro-B and PLC programming. It also has a better scripting language.
  • Mach3 can control 6 stepper motors, while Mach4 can control up to 30 stepper motors.
Maximum stepper motors6Up to 30
Compatible controllersSeveral external motion controllersSeveral external motion controllers
UIBasicBetter UI with convenient screens
Simulation pluginNot availableAvailable
Features for advanced usersMacro-B and PLC programmingBetter scripting language and more features
Community supportLarge communitySmaller community
Mach3 vs Mach4 features compared.

You can’t have a CNC controller without its own software. But strangely, you can have it the other way around: with Mach3 and Mach4, you get CNC software without a matching controller. They can act as 3rd party software for some external controllers, or they can work even without a controller, and turn your computer into a CNC controller.

But you have to be very careful choosing beteween Mach3 or Mach4 – they’re more different than you might think.

Alternatively, you could buy or build a simple CNC controller like GRBL or a full-blown industrial CNC controller. This way, you don’t have to rely on Mach3 or Mach4 for CNC control. We have also written an article on GRBL vs Mach3.

What Is Mach3?

Mach3 is a CNC control software for Windows. It’s unique because it doesn’t require an external motion controller, although Mach3 plugins can also make it compatible with several external motion controllers. Therefore, Mach3 allows DIYers to control their CNCs without an industrial controller.

Mach3 CNC software controller
Source: The Makers Guide

However, there are things to consider when using Mach3. On the hardware side, Mach3’s old approach to eliminating an external CNC controller was to replace it with your computer using its parallel port.

However, wiring stepper motors directly to the parallel port is dangerous. Plus, the parallel port has limited pins – and doesn’t even exist on modern computers anymore. For these reasons, you need an external board to isolate the computer, work with USB or ethernet instead of the parallel port, and provide enough pins for wiring.

So, although Mach3 doesn’t need an external controller, it still needs an external board even though the g code processing happens in the computer’s CPU.

What Is Mach4?

Mach4 is another offering from the same company, but is different from most CNC software since it focuses on becoming a 3rd party software for CNCs. As a result, Mach4 has plugins to make it compatible with several controllers, and it can also work without a controller by parallel porting.

Mach4 CNC control software
Source: The Makers Guide

Some think that Mach4 is the updated or more advanced version of Mach3. However, this is not true – Mach4 is not an update on Mach, even though it is more advanced. 

Mach4 is not built on top of Mach3. Instead, Mach4 is a new software that shares less than 1% of its code with Mach3. So, think of them as separate software.

As a result, plugins that work with Mach3 are not compatible with Mach4, and vice versa. Also, Mach3 scripts and screen sets are not compatible with Mach4 (we’ll explain these fully later).

Therefore, Newfangled Solutions sells Mach4 separately, and doesn’t allow upgrades from Mach3 to Mach4.

Like Mach3, Mach4 also calculates the movements inside your CPU, but the focus is not on the parallel port anymore. Instead, it relies on external plugins to control the CNC. 

For instance, you can’t directly use a parallel port with Mach4 anymore. But, you can still buy a Mach4 plugin for parallel porting for under $20 and use that to control your CNC. 

There are also plugins that are compatible with different CNCs – though there’s no guarantee that Mach4 supports your particular CNC router.

Mach4 Industrial

There’s also Mach4 Industrial, which has more advanced features than Mach4 Hobby. 

Mach4 Industrial
Source: Machsupport

However, given that Mach4 is a control software (not a CNC controller), making a Mach4 Industrial is questionable to me, as advanced industrial CNCs already come with advanced control software and don’t rely on 3rd party software like Mach4 that, in turn, rely on other 3rd parties to make compatible CNC plugins.

Mach3 and Mach4 Differences for Hobbbyists


Mach Industrial$1400
Mach3 vs Mach4 software and price compared

Mach3 is $25 cheaper than Mach4, costing $175, whereas Mach4 costs $200. Given that Mach3 and Mach4 Hobby cost about the same, you might get tempted to go for Mach4, thinking you’re getting the latest update. 

However, don’t make that mistake. As we mentioned earlier, it helps to think of them as separate software.

Parallel Ports, Plugins, and Hardware Setup

Both Mach3 and Mach4 rely on plugins to extend their capabilities. These plugins are developed by 3rd parties. You may have to buy some plugins depending on what you need.

Initially, Mach3 focused on using the pins in parallel ports to eliminate the need for an external motion controller. Mach3 wouldn’t have survived long with this approach due to the fall of parallel ports.

Plugins to replace the parallel port with USB or ethernet soon saved Mach3 from the obsolete parallel port. However, the plugins didn’t stop there. 

Plugins also extended Mach3’s capabilities to external devices. Some plugins came that made Mach3 compatible with some external motion controllers. 

This was a key moment. Mach3 was no longer a software for those who didn’t have a controller. It was also a 3rd party software for those who had a machine with its own controller, and liked Mach3.

Mach4 emphasizes the latter role as a 3rd party software. It relies on plugins that support external motion controllers. Therefore, it doesn’t support parallel ports anymore since they’re long outdated. 

However, if you are a DIYer who still wants to escape an external motion controller, a 3rd party has developed a Parallel Port Legacy Plugin for Mach4. It costs about $25.

Operating System Compatibility

Both Mach3 and Mach4 run only on Windows, and are not compatible with macOS or Linux. 

There is a plugin for Mach3 that also works with Android, but the original software only supports Windows – and not all Windows operating systems, either

If you plan to use an external motion controller, Mach3 and Mach4 are compatible with all Windows OS. However, if you want to use their parallel port capabilities, you can only run them on Windows 7 32-bit or Windows XP.

Overall: both Mach3 and Mach4 have similar compatibility issues. 


The user interface in Mach3 is one of the ugliest among all CNC control software. It’s a bunch of sharp-edged rectangles squeezing each other, showing numbers, buttons, and tabs. 

Mach3 User Interface
Source: Turtlesarehere

There are ways to customize the UI, but it’s never going to look great. On the other hand, Mach4 looks like normal modern software.

Mach4’s Industrial version has a more advanced user interface. It has screens to control the tool table, animation, work offset, and show the g code editor.

Mach4 industrial user interface
Source: CNCRoom

Overall: Mach4 has a better UI.

G Code Editor

Mach3 doesn’t have a g code editor. So, if you need to make small changes to the g code file, you can do it directly in Mach4 – but not Mach3. 

It’s not impossible to change the g codes with Mach3. You can open the NC file with Windows text editors like notepad, change the code, and then open them in Mach3. 

I’ve had similar problems with other CNC control software too. It bothered me more when I used to also make a small change in the CAM and regenerate the g code – I also had to also change the new g code file outside the control software as well.

It’s not a big deal, but having a g code editor inside the control software (like Mach4) is more convenient. 

Overall: Mach4 has a g-code editor, Mach3 doesn’t.


A CNC machine with probing can measure the material’s position and calculate the workpiece coordinate system. It can also measure machined parts and identify errors. So, probing makes life easier and increases the machining quality. 

Both Mach3 and Mach4 support probing. However, Mach4 has probing integrated into its screens, while in Mach3 you need to do it manually.

You’ll need to open the diagnostics page in Mach3, check the input pin you’ve connected to your probe, and digitize it to facilitate probing. But, Mach4 has easy access to probing functions on its screens.

Overall: Mach4 has better probing.

Mach4 Probing

Reliability, Bugs, and Issues

Mach3 has some known bugs and issues. You can expect to run into a problem every once in a while. However, Newfangled Solutions says Mach4 is very robust.

Mach4 can handle very large files and run long operations. This would be risky to do with Mach3 since it may ruin your job in the middle of the operation.

Still, many users have reported running into more problems with Mach4 than Mach3. The Mach4 bugs page has about 500,000 views, so interpret from that what you wish. 

Even if Mach4 is very robust, since it relies on 3rd party plugins, it’s reliant on the plugin for reliability.

Overall, if you want Mach4 to imitate industrial controllers because it says so on their website, consider the possibility that Mach4 or the plugin may fail to deliver.

Overall: both Mach3 and Mach4 have some bugs and reliability issues.

Community Support

We’re discussing community support right after bugs and issues for a reason: you’re likely to run into issues using Mach3 or Mach4 at some point.

And this is where Mach3 outshines Mach4. In fact, if you need one reason to choose Mach3 over Mach4, this is it.

Mach3 goes back to the earliest generations of CNC hobbyists. Being older than GRBL, Mach3 belongs to a time when hobbyists had to do parallel porting without Arduino controllers. 

So Mach3 has been popular and extensively used. It’s no surprise that it enjoys a large community, and all of its bugs have already forced many to scratch their heads and find a solution.

Mach4 also has its community, but it’s not as resourceful as Mach3’s.

Overall: Mach3 has a larger community than Mach4. 

Tool Path Speed and Display

Mach4’s tool path speed is higher than Mach3’s, according to Newfangled Solutions. However, we don’t know how optimized Mach4’s tool paths are.


Mach4 has released a plugin (from 3rd party ModuleWorks) that can simulate the CNC machining process in 3D. 

It shows your stock and simulates how the machine will remove materials according to your g code. However, Mach3 doesn’t have a 3D machining simulation plugin.

Overall: Mach4 has simulation features, Mach3 doesn’t.

Slave Axes

A slave axis’s position depends on its master axis. For example, in a CNC that has two stepper motors on the Y axis, one of them may be the master, and the other the slave.

You can define slave axes in both Mach3 and Mach4. However, Mach3 can control up to 6 stepper motors, so when you add a slave axis, you lose one independent axis from the 6.

For example, it can control a 6-axis CNC or a 4-axis CNC with 2 slave axes. But, it can’t control a 5-axis CNC with two slave axes since this configuration requires 7 stepper motors.

However, Mach4 can control 4 separate slave motors for each axis. So, it can theoretically control up to 30 stepper motors (6 masters and 24 slaves), although such a machine doesn’t exist.

Differences Between Mach3 and Mach4 for Advanced Use

Macro B Programming

Macros allow you to write programs for repetitive CNC tasks. 

A simple example is for setting the material surface to zero in every job, and commanding your tool to be at a certain height before starting the job. Then, you can write a macro to Z-probe the material, set the coordinates, and move the tool to the travel plane. 

If you’re into macro programming, both Mach3, and Mach4 support this feature. But you should also know that there are two macro programming languages: macro-A and macro-B.

Macro-B has more user-friendly syntax. Plus, it supports local variables (macro-A doesn’t). Mach4 supports macro-B programming, while Mach3 is only compatible with macro-A. 

Overall: Mach4 is better if you want to do macro-B programming, and allows you to define variables inside the subprogram.


If you want more advanced programming capabilities with your CNC, you need scripting. Scripting lets you automate everything macros, g code editors, dialog boxes, and software screens can do, and then some.

For example, a production line may want to send part numbers for laser engraving on the product. The programmer needs to write code that uses date, time, batch, or other variables to create the serial number and create a CNC or laser path for it.

You can also create your own buttons inside the software and assign them to tasks, or you can create dialog boxes so that the user can input variables.

Both Mach3 and Mach4 support scripting, but they support different languages. While Mach 3 supports VB programming, Mach4 supports LUA scripting.

Mach3 VB Programming
Mach3 VB Programming. Source: henriksplace

Although LUA is more popular than VB programming, it’s still not a very popular scripting language. However, those are your options with Mach.

Mach4 LUA Script
Mach4 LUA Script. Source: machsupport

PLC Support

You can connect both Mach3 and Mach4 to a PLC for motion control.

I personally like PLCs, and have programmed and made several control systems with them. PLCs are widely used in the industry, and many industrial CNCs have PLCs. 

This doesn’t concern the CNC user, but if you want to develop a 3rd party plugin for Mach4 to make it compatible with such a CNC, then you want this feature.

I can’t justify using Mach4 as a 3rd party control software for such CNCs because high-end CNCs with PLC controllers have their own control software and don’t need Mach3 or Mach4.

Another scenario is to use Mach4 outside a CNC for motion control. This is only if you’re making a motion control device with a PLC, and don’t want to create ladder codes for motion planning. If so, you can use Mach3 and Mach4 to talk to the PLC since they support Modbus.

However, Mach4 can also use ladder logic to program the PLC directly, whereas Mach3 doesn’t have this feature.


Will Mach4 work with a Mach3 controller?

No. Mach4 and Mach3 are totally different software. Both Mach3 and Mach4 need plugins to work with external controllers. As a result, if you have a Mach3 plugin for an external controller, it won’t work with Mach4. Overall, Mach3 and Mach4 have different plugins and controllers. 

Is Mach4 a replacement for Mach3?

Mach4 is not a replacement for Mach3 for hobbyist users, though it’s a substitute for Mach3 in more industrial settings. Mach4 has not replaced Mach3’s popularity and community support for ordinary users, but it can handle larger files, and has a better UI and more advanced features.

Can Mach3 be upgraded to Mach4?

No. Mach3 and Mach4 are completely different software, so you can’t upgrade Mach3 to Mach4. Also, many of Mach3’s features won’t work with Mach4. For example, Mach3 screen sets and scripts don’t work in Mach4 since Mach4 uses a different scripting language. Also, Mach3 plugins are not compatible with Mach4.