CNCCookbook: Software and Information for Macihnists

Free CNC Software

G-Wizard G-Wizard G-Code Editor



The Smart Machinist's Ultimate Feeds and Speeds Tool


Get a Second Opinion on Your G-Code



G-Wizard Machinist's Calculator

Feeds and Speeds Cookbook


CNCCookbook's G-Code Tutorial and Course

Looking to learn CNC G-Code? Need a quick and easy G-Code Tutorial or G-Code Course? Want some easy G-Code Training? Maybe you just want to learn more about a specific G-Code related topic or see particular G-Code examples. If so, you're in the right place with the CNCCookbook CNC G-Code Course. It's free, it's easy, and it's chock full of good information. This page is the syllabus. The articles are all listed below. There's no need to register, just get started learning at your own pace.

What is G-Code?

G-Code is the language used to control CNC machines. It's one type of CNC programming that CNC programmers use, the other type being CAM programming. Your machine's CNC controller probably executes g-code, although there are other possibilities--Heidenhain, Mazak, and others have proprietary formats. Some machines with proprietary formats can also run g-code. It is the Lingua Franca (working language) of CNC.

In order to make a part on a CNC machine, you tell it how to make the part using a G-Code Program.

Why Learn G-Code?

Every CNC machinist should know g-code. If you're interested in CNC and machining, you should too.

We recently did a survey to assess the g-code skills of our readership. You should not be suprised to learn that many are quite proficient with G-Code:

G-Code Skill Level

We were impressed at how many readers can write g-code programs from scratch. In fact the overwhelming majority read, write, or tweak programs on a regular basis. If you're not yet able to do that, you need to learn. These articles are CNCCookbook's free course in g-code. No matter what stage in g-code learning you are at, you will find the tools to advance to the next stage in these articles. Check them out--it's easy to improve your g-code proficiency and well worth the productivity gains.


Table of Contents

Here are the articles available for maximizing your g-code proficiency and providing you with a little CNC programmer training. Included in nearly every article are examples using our CNC Programming Software, G-Wizard Editor.


Download G-Wizard G-Code Editor to Help You Master G-Code -- Free for 30 Days


100% Privacy. I will never spam you!


Basics Every CNC Machinist and CNC Programmer Should Know

Introduction for Beginners: More on what you can do with g-code, basic concepts, and an interactive tool to help you learn faster.

The Coordinate System: Is it a right-handed or left-handed coordinate system?

G-Code Dialects, Post Processors, and Setting Up GWE: The great thing about standards is there are so many to choose from.

MDI: CNC For Manual Machinists: Pretend your CNC is just a manual machine with DRO's and Power Feeds on every axis.

One-Shot G-Codes and Modal G-Codes: Some things in g-code are sticky and others are not.

CNC Editors: Tools of the Trade: CNC Programming Software.

CNC Simulators, Backplots, and Viewers: Getting a Second Opinion

Part Zero, Touch Offs, and Zeroing: Helping the machine understand where the part begins and ends.

Basic G-Code Program Structure: Blocks, sequence numbers, words, addresses, and the basic nuts and bolts of g-code line.

Linear Motion: G00 and G01: Moving your CNC in straight lines.

Circular Arcs: G02 and G03: Moving your CNC along arcs.

Running the GWE G-Code Simulator: Using a G-Code Simulator to view and debug your programs.

Tool Changes and Tool Offsets

Basic CNC Lathe Programming



Relative vs Absolute Moves

Polar Coordinates

Canned Drilling Cycles

Custom Deep Hole Drilling Cycles

G96: Constant Surface Speed Programming

Precise Timing and Speed: Dwell, Exact Stop, Backlash Compensation

The G-Code Coordinate System Pipeline

G20 and G21: Unit Conversions

G54 and G92 Work Offsets: Making multiple parts easily

Helical Interpolation: Making holes bigger than any cutter you've got

Programming Haas Controls: Haas's unique g-codes and other differences


       Rigid tapping

       Tapping heads and tension compression holders

Thread Milling: How to thread mill, NPT and tapered threads, When to thread mill instead of tapping


Intermediate Lathe Programming

Lathe Simple Canned Cycles: G90/G92/G94

Lathe Repetitive Roughing Cycles: The Poor Man's Turning CAM

G71: Rough Turning Cycle: Type I

Using Mill CAM to Create Profiles for Lathe Cycles

G71 Type II: Rough Turning With "Pockets"

G70: Finishing Cycle

G72: Rough Facing Cycle

G73: Pattern Repeating Cycle

Using IF and GOTO for a Poor Man's G71

G75 and Peck Parting Off for Lathes

Lathe Threading Cycles

Gang Tooling for Lathes



G28: Return to Reference Point

Tool Compensation: The Poor Man's Milling CAM

A Mini-Tutorial on G-Code Macro Programming and Fanuc Macro B:

Parameterized Programming: Macro Variables

Subprograms and Macros: Packaging G-Code Into Building Blocks

Conditions and Looping: Making Decisions and Handling Repetition in G-Code

Accessing Modal Data: Making Subprograms Clean Up After Themselves

Modal Macro Calls

       Macro Example: Digits (Work in progress)

G10: Programming Tool and Work Offsets in G-Code

Scaling the Coordinate System

Rotating the Coordinate System with G68 and G69

Mirroring the Coordinate System

G-Code Scaffolding: Making CAM Better With G-Code Help

       Multiple Part Strategies

              G52: Temporary programmable work offsets

Interacting With the Operator

Tweaking CAM Programs: Right Angle Heads and More

Mill 4th Axis Programming

Lathe C-Axis Machining and Live Tooling

Reference Motions

In-Process Probing



CNCCookbook Blog Posts Relating to GCode Programming: Lots more Tools, Examples, and detailed articles.

G-Wizard Editor: CNC Programming Software for g-coders and a CNC G-Code Simulator. We use it in this course to help teach G-Code.

G-Wizard Calculator: A CNC Machinist's Calculator

G-Code Reference for Mills

G-Code Reference for Turning

Sample G-Code Files: G-Code examples you can download and play with



Try the Free Trial Version of G-Wizard G-Code Editor...


No credit card required--just your name and email.







  GW Calculator

  GW Editor



  Deals and Steals











     Feeds and Speeds

     G-Code Tutorial

     CNC Machining & Manufacturing

     Lean Manufacturing

     Cost Estimating Software

     DIY CNC Cookbook

     CNC Dictionary


CNC Projects


     CNC Mill Retrofit

     Plasma Table


      3D Printers



     Machinist's Search


     Online Groups


     Reference Data



     Tool Brands


     Hall of Fame






     Our History

     Cheapskate Page

     Privacy Policy

All material © 2010-2014, CNCCookbook, Inc.