Complete CNC Programming Code Reference
Quick reference guide for common G-codes (preparatory functions) and M-codes (miscellaneous functions) used in CNC programming. Use the search and filters to find specific codes.
📚 New to CNC? Start with CNC Programming Basics
G-codes prepare the machine for specific operations - motion, cycles, modes, and compensation.
G73 Z__ R__ Q__ F__G73 Z-2.0 R0.1 Q0.2 F6.0G74 Z__ R__ F__G76 P__ Q__ R__ / G76 X__ Z__ P__ Q__ F__G76 P010060 Q0100 R0.02G80G81 X__ Y__ Z__ R__ F__G81 Z-0.75 R0.1 F6.0G82 X__ Y__ Z__ R__ P__ F__G82 Z-0.2 R0.1 P0.5 F4.0G83 X__ Y__ Z__ R__ Q__ F__G83 Z-2.0 R0.1 Q0.25 F6.0G84 X__ Y__ Z__ R__ F__G84 Z-0.75 R0.1 F25.0G85 X__ Y__ Z__ R__ F__G86 X__ Y__ Z__ R__ F__G89 X__ Y__ Z__ R__ P__ F__G98G99G40G41 D__G41 D01G42 D__G42 D01G43 H__G43 H01 Z1.0G44 H__G49G50 S__ (lathe) or G50 X__ Y__ Z__ (mill)G50 S3000 (limit spindle to 3000 RPM)G52 X__ Y__ Z__G53 G00 X__ Y__ Z__G53 G00 Z0 (rapid Z to machine home)G54G55G56G57G58G59G92 X__ Y__ Z__ (mill) or G92 threading code (lathe)G94G95G90G91G00 X__ Y__ Z__G00 X2.0 Y3.0 Z1.0G01 X__ Y__ Z__ F__G01 X2.0 Y3.0 F10.0G02 X__ Y__ I__ J__ F__ or G02 X__ Y__ R__ F__G02 X2.0 Y2.0 I1.0 J0 F8.0G03 X__ Y__ I__ J__ F__ or G03 X__ Y__ R__ F__G03 X0 Y0 I-1.0 J0 F8.0G04 P__ or G04 X__G04 P2.0 (pause 2 seconds)G28 X__ Y__ Z__G28 G91 Z0 (return Z to home)G17G18G19G96 S__G96 S500 (500 SFM)G97 S__G97 S1200G20G21M-codes control machine functions like spindle, coolant, tool changes, and program flow.
M08M09M00M01M02M30M03 or S____ M03S2000 M03M04 or S____ M04M05M19M98 P____ or M98 P____ L____M98 P1000 L3 (call O1000 three times)M99T__ M06T2 M06 (change to tool 2)