Beginners often memorize what each code means and still misread programs. The missing piece is modal behavior: whether a code stays on after its line.

A modal code remains in effect until another code in the same group replaces or cancels it. Motion codes are the clearest example. Once you program G01, the machine keeps feeding in a straight line on later lines even if you only give new coordinates:

G01 X10 F150   (feed move, G01 now active)
X20            (still a G01 feed move, no code repeated)
X30            (still feeding)

That is why a missing or wrong modal code earlier in a program can quietly change every line that follows. The codes are grouped: G00, G01, G02, and G03 share a motion group, so setting one cancels the others. The same is true for units (G20/G21) and positioning (G90/G91).

Non-modal codes are one-shot

A non-modal code, sometimes called a one-shot, affects only the block it sits in. G04 (dwell) is a common example: it pauses for that line and then has no further effect. Codes like G28 behave as one-shots in normal use too.

TypeBehaviorExamples
ModalStays active until a same-group code changes itG00/G01/G02/G03, G20/G21, G90/G91
Non-modal (one-shot)Affects only the block it appears inG04 (dwell), G28 (in normal use)

What beginners get wrong

The classic mistake is treating every line as independent, as if a code only matters where it appears. With modal codes, the state carries forward. A beginner who reads X20 on its own line and cannot say what motion it makes has not learned the codes wrong, they have missed the modal idea.

This is also why pure memorization of meanings is not enough. You need the concept and fast recall of the codes. Build the recall with the practice-first method, and make sure you know the common G-codes those modal groups are built from.

Bottom line

Modal codes stay on until changed; non-modal codes act once. Beginners trip when they forget the state carries forward. Learn the groups, not just the individual meanings.

Sources

Frequently asked questions

What does modal mean in G-code?

Modal means the code stays in effect after its line until something changes it. For example, once G01 is active, later lines with only coordinates keep feeding in a straight line without repeating G01.

Is G00 modal?

Yes. G00 is modal, and it shares a group with G01, G02, and G03, so programming any one of them cancels the others. Many beginners assume a code only matters on its own line, which is the core misunderstanding.

What is the best way to learn modal vs non-modal G-codes?

Learn the modal groups, then drill recall of which codes share a group. A free tool like G-Code Sprint quizzes the common G-codes and their groupings and repeats the ones you miss, so the modal idea becomes second nature instead of an abstract rule.

G-Code Sprint is a study and practice tool only. Always follow your instructor, employer, machine manual, and shop safety procedures.