CNC Post Processors Explained: Fanuc, Haas, Siemens, Heidenhain

CAM232 Team | April 18, 2026 | 8 min read

A post processor is the final step in the CAM workflow -- it translates the generic toolpath data from your CAM software into the specific G-Code dialect that your CNC controller understands. Without the right post processor, even a perfect toolpath can crash your machine. This article explains how post processors work and shows the key differences between the four most common CNC controllers.

What is a Post Processor?

CAM software internally calculates toolpaths as a series of coordinates and commands. A post processor takes this internal data and formats it into a text file that matches the syntax, conventions, and requirements of a specific CNC controller. Think of it as a translator between your CAM software and your machine.

The post processor handles:

Fanuc

Fanuc is the world's most widely used CNC controller. Most CAM software defaults to Fanuc-style output. Programs use O-numbers, comments are in parentheses, and the syntax closely follows ISO 6983.

O0001 (PART-001)
N10 G21 G90 G40
N20 T1 M6 (10MM END MILL)
N30 G54
N40 S8000 M3
N50 G43 H1 Z50.
N60 M8
N70 G0 X0. Y0.
N80 G0 Z5.
N90 G1 Z-3. F100
N100 G1 X50. F800
N110 G1 Y30.
N120 G0 Z50.
N130 M9
N140 M5
N150 G28 G91 Z0.
N160 M30
%

Haas

Haas controllers are Fanuc-compatible with additional proprietary features. The syntax is nearly identical to Fanuc, but Haas adds specific settings and safety codes. Haas machines are very popular in North American shops.

O00001 (PART-001)
N10 G20 G90 G40 G80
N20 T1 M6 (10MM END MILL)
N30 G54
N40 S8000 M3
N50 G43 H1 Z2.
N60 M8
N70 G0 X0. Y0.
N80 G0 Z0.2
N90 G1 Z-0.118 F4.
N100 G1 X1.969 F31.5
N110 G1 Y1.181
N120 G0 Z2.
N130 M9
N140 M5
N150 G28 G91 Z0. (SAFE Z RETURN)
N160 G28 G91 Y0. (SAFE Y RETURN)
N170 M30
%

Siemens Sinumerik

Siemens Sinumerik controllers (810D, 840D) use a different syntax from Fanuc. Comments use semicolons, coordinates use explicit axis letters, and the program structure includes specialized functions. Siemens is dominant in European manufacturing.

; PART-001
G21 G90 G40
T1 D1 ; 10MM END MILL
M6
G54
S8000 M3
G0 Z50
M8
G0 X0 Y0
G0 Z5
G1 Z-3 F100
G1 X50 F800
G1 Y30
G0 Z50
M9
M5
SUPA G0 Z0 D0 ; Machine home
M30

Key Siemens Differences

Heidenhain

Heidenhain uses a completely different programming language called "conversational programming" or "Klartext." It does not follow ISO G-Code syntax at all. Heidenhain is popular on European milling machines, especially DMG Mori.

0 BEGIN PGM PART-001 MM
1 BLK FORM 0.1 Z X+0 Y+0 Z-20
2 BLK FORM 0.2 X+50 Y+30 Z+0
3 TOOL CALL 1 Z S8000
4 M3
5 L Z+50 R0 FMAX M8
6 L X+0 Y+0 R0 FMAX
7 L Z+5 R0 FMAX
8 L Z-3 R0 F100
9 L X+50 R0 F800
10 L Y+30 R0 F800
11 L Z+50 R0 FMAX
12 M9
13 M5
14 L Z+0 R0 FMAX M91
15 END PGM PART-001 MM

Key Heidenhain Differences

Controller Comparison Summary

FeatureFanucHaasSiemensHeidenhain
Comments( )( );; at line end
Program IDO0001O00001File nameBEGIN PGM
Tool changeT1 M6T1 M6T1 D1; M6TOOL CALL 1
Rapid moveG0G0G0L ... FMAX
Linear cutG1G1G1L ... F
Arc CWG2G2G2DR- (with CC)
Arc CCWG3G3G3DR+ (with CC)
Program endM30M30M30END PGM
MarketGlobalAmericasEuropeEurope

How to Choose the Right Post Processor

  1. Check your machine: Look at the controller name on the CNC panel (Fanuc 0i, Siemens 840D, Heidenhain TNC 640, etc.)
  2. Review existing programs: Look at proven programs that already run on your machine and match the format
  3. Test with simple parts: Always run a new post processor on a simple test part first before production
  4. Verify safe moves: Pay special attention to tool change sequences, home return moves, and coolant on/off commands

8 Post Processors Built In

CAM232 includes post processors for Fanuc, Haas, Siemens, Heidenhain, Mach3, LinuxCNC, GRBL, and generic ISO. Select your controller and get ready-to-run code instantly.

Try CAM232 Free

Conclusion

The post processor is the critical link between your CAM software and your CNC machine. Using the wrong post processor can result in crashes, broken tools, or scrapped parts. Understanding the differences between Fanuc, Haas, Siemens, and Heidenhain helps you verify your G-Code output and troubleshoot issues. CAM232 makes this simple by including 8 ready-to-use post processors that generate verified code for each controller type.