This is an educational explanation of a common Fanuc alarm, not operating instructions for your specific machine. Always follow your machine’s manual and your supervisor when clearing an alarm and re-running a program.

Fanuc alarm 010, shown as IMPROPER G-CODE, means the control read a G-code it cannot run. Fanuc states the cause plainly: an unusable G-code, or a G-code for a function the machine does not have, was commanded. The good news is the alarm tells you the block where it choked, so this is a findable problem.

What the alarm is really saying

Every control recognizes a specific set of G-codes. When the interpreter hits a code outside that set, it stops rather than guess. The valid set is documented per control, and a general reference like the LinuxCNC G-code list or the Wikipedia G-code overview shows how standard the core codes are and where machine-specific differences creep in. Alarm 010 is the control refusing to run something it does not understand.

The common causes

CauseExampleFix
Typo / slipped digitG011 instead of G01Correct the code
Code from another controlA Haas-only or Mazak-only code on FanucReplace with the Fanuc equivalent
Missing software optionA canned cycle or macro the machine lacksEnable the option or avoid the code
Wrong post-processorCAM posted for the wrong machineRe-post with the correct profile

The Fanuc alarm-code references list 010 alongside its neighbors, and most real cases are the first two rows: a small typo or code that was written for a different machine.

How to find and fix it

The alarm names the offending block, so the search is short:

  1. Read the block number the alarm reports.
  2. Look at the G-code on that line and compare it to your machine’s manual.
  3. If it is a typo, correct it. If it belongs to another control, swap in the Fanuc equivalent. If it needs an option you do not have, remove the code or have the option enabled.
  4. Re-run from a safe starting point under supervision.

Reading the block correctly is the same skill as reading any CNC program, and knowing the valid set cold is just the common G-codes for CNC beginners.

Alarm 010 and its neighbors

Fanuc groups several program alarms close together, and they are easy to confuse (and not every halt is an alarm at all: a machine parked waiting for the spindle is enforcing a handshake, not raising an error):

AlarmMeaning
007Illegal use of decimal point
010Improper G-code
011No feedrate commanded

The decimal-point one is common enough to deserve its own walkthrough in Fanuc illegal use of decimal point alarm. Recognizing which alarm is which, and why, is exactly what a practice routine on the G-code practice hub reinforces.

When it is the option, not a typo

If the G-code on the offending block is spelled correctly and you know it is a real Fanuc code, the cause is usually a missing software option. Higher canned cycles, custom macro (the G65/G66 family), and some probing or coordinate-rotation codes are paid options, so a control without them throws alarm 010 even though the program is valid. The tell is simple: a typo is fixed in the editor, but an option-related 010 keeps alarming on a correctly written line. In that case you either remove the feature, rewrite it with codes the machine has, or have the option enabled. Confirm which option a code needs in the machine’s parameter and option list before assuming the program is broken.

Bottom line

Fanuc alarm 010 means an improper G-code: a code the control cannot run because it does not exist, is mistyped, or needs an option the machine lacks. Go to the block the alarm names, compare the code to the manual, fix the typo or wrong code, and re-run from a safe point.

Sources

Frequently asked questions

What is Fanuc alarm 010?

It is a program alarm meaning IMPROPER G-CODE: the control was commanded a G-code it cannot run, usually one that does not exist on the control, a typo, or a code needing an option the machine does not have. The alarm names the block where it happened.

What causes an improper G-code alarm?

A mistyped code, a code copied from a program posted for a different control, or a code that requires a software option such as certain canned cycles or macros that the machine does not have enabled.

How do you fix Fanuc alarm 010?

Go to the block the alarm names, compare its G-code to your machine’s manual, then correct the typo, replace the wrong code, or enable the missing option, and re-run from a safe point.

What is the best way to learn G-codes to avoid alarms?

Drill them with active recall so valid codes are second nature. A free app like G-Code Sprint quizzes the everyday G-codes as quick timed questions and repeats whichever ones you miss.

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