---
title: "CNC Plasma Torch Fire M-Code: Why It Is Machine-Specific"
description: "There is no universal M-code that fires a plasma torch. Different controllers map it differently, often to M03 or a custom code. Here is why, and how to check."
url: https://gcodepractice.com/journal/cnc-plasma-m-code-for-torch-fire-m03-vs-m20/
canonical: https://gcodepractice.com/journal/cnc-plasma-m-code-for-torch-fire-m03-vs-m20/
author: "Lawrence Arya"
authorUrl: https://www.linkedin.com/in/vibecoding/
published: 2026-06-02
updated: 2026-06-02
category: "Code reference"
tags: ["plasma", "torch", "m-code", "machine-specific"]
lang: en
---

# CNC Plasma Torch Fire M-Code: Why It Is Machine-Specific

> **TL;DR** There is no single universal M-code to fire a plasma torch. Hobby controllers like those running GRBL or Mach-style configs often map torch-on to a spindle-style code such as M03 (with M05 for torch-off), while other systems use dedicated or custom codes. There is no standard M20 for this. Always get the exact torch-fire code from your controller's configuration and manual, not from a generic chart.

This question comes up a lot on hobby plasma tables, and the honest answer is not a single code. Firing a plasma torch is a machine-specific output, so the code that does it depends on how your controller is configured. Anyone who tells you "the" torch-fire code without knowing your machine is guessing.

## Why there is no universal answer

The common motion G-codes are standardized, but many M-codes control machine-specific functions, and how a controller maps its outputs is up to its configuration. Firing a torch is exactly that kind of output:

- **Hobby controllers** running GRBL-style or Mach-style firmware often reuse a spindle-style code, so **`M03` fires the torch and `M05` turns it off**, simply because the torch is wired to the spindle output.
- **Other systems** use dedicated torch or output codes, sometimes `M07`/`M08`-style or fully custom assignments.
- **`M20` is not a standard universal code** for this. If a machine uses it, that is a local assignment, not a general rule.

## Where the code actually comes from

| Layer | What it defines |
| --- | --- |
| Controller manual | The documented torch-on / torch-off codes |
| Firmware config | Which output the torch is wired to |
| Post-processor | What code the CAM software emits |
| Machine wiring | The physical output being switched |

The torch-fire code is the output of those layers, which is why it varies and why you take it from your own machine rather than a generic chart.

## What to do

Find the torch-on and torch-off codes in your controller's manual and its configuration, and confirm with your post-processor. For the standard codes that are universal, like the common motion and spindle codes, recall practice helps: drill the [common M-codes](/journal/common-m-codes-for-cnc-beginners/) and [common G-codes](/journal/common-g-codes-for-cnc-beginners/) with [beginner CNC code practice](/journal/beginner-cnc-code-practice/). A free tool like [G-Code Sprint](/g-code-practice/) covers those; torch firing is machine-specific and is not something to guess at, especially given the safety stakes of a plasma arc.

## Bottom line

There is no universal M-code to fire a plasma torch, and no standard `M20` for it. Hobby setups often use `M03`/`M05`; others differ. Get the exact code from your controller's manual and configuration. The other half of plasma's code story, finding the plate and holding height, is covered in [torch height control and G31 probing](/journal/torch-height-control-g-code-commands-g31/).

## Sources

- [GRBL wiki (firmware spindle/laser/output control)](https://github.com/gnea/grbl/wiki)
- [Wikipedia: G-code (M-codes are partly machine-specific)](https://en.wikipedia.org/wiki/G-code)
- [CNCCookbook: G-code and M-code cheat sheet](https://www.cnccookbook.com/g-code-m-code-cnc-list-cheat-sheet/)

## Frequently asked questions

### What M-code fires a plasma torch?
It depends on the controller. Many hobby plasma setups map torch-on to a spindle-style code like `M03` and torch-off to `M05`, because that is how the firmware is configured. Others use dedicated or custom codes. There is no single universal torch-fire M-code, so check your controller.

### Is there a standard M20 for plasma torch fire?
No. `M20` is not a standard universal code for firing a torch. If your machine uses it, that is a machine-specific assignment defined by its configuration, not a general standard. Confirm against your controller's documentation.

### How do I find the right torch-fire code for my plasma table?
Read your controller's manual and post-processor or firmware configuration, which is where the torch-on and torch-off outputs are defined. A practice tool like G-Code Sprint helps with standard codes, but torch firing is machine-specific and not something to guess.

*G-Code Sprint is a study and practice tool only. It is not a CNC simulator, machine controller, or safety authority. Always follow your instructor, employer, machine manual, and shop safety procedures.*

---

Source: https://gcodepractice.com/journal/cnc-plasma-m-code-for-torch-fire-m03-vs-m20/
Author: Lawrence Arya — https://www.linkedin.com/in/vibecoding/
