Free CNC Programming G-Code Tutorial and Course [73 Lessons!]

Is Manual Machining Faster than CNC for Simple Parts?

CNCCookbook’s Free G-Code Tutorial and Course

G-Code is an important CNC skill that’s easier to learn than it looks…

Need a quick and easy G-Code Tutorial or G-Code Course? Want some free 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 going through them and 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:

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.

What’s the Best Way to Learn G-Code?

A little bit at a time, trying out the examples, and in a continuous stream. In other words, find yourself a complete course like this one, start knocking out the lessons, work the exercises, and keep at it. Work at your own pace, and don’t move on to the next lesson until you’ve worked the exercises and understand the material.

Working the exercises is a whole lot easier if you’ve got some software to help you play with g-code. That’s what our G-Code Editor software is all about. It simulates g-code as well as decoding it for you. You can try out different g-codes and see visually what they do. Experimenting is one of the best ways to get a good grasp of g-code. At the end of each section is a Quiz to test your skills. Take the quiz and use the links on the questions to go back and review anything you missed so you’ll be solid before continuing to the next section.

We encourage you to sign up for the free 30 day trial–that’s plenty long enough to work through all the lessons free of charge. You’ll find G-Wizard Editor not only makes it easy to work with g-code and try the exercises in the course, but it has many features designed to make understanding the g-code easier. For example, it offers “Hints”, where it takes each line of g-code and explains in plain English what that code does. There’s nothing else like it available anywhere. For more information, visit the GW Editor Home page. Or, go head and sign up now for the free 30 days:

G-Code is complicated

G-Wizard Editor makes it easy

Try It!

The second thing you should do aside from following a course and using a simulator like G-Wizard Editor is to start following some articles about CNC. Getting some random inputs about a variety of topics is another way to help the juices flow. You’ll see things that raise questions and get you thinking about the basic concepts in new ways. This helps all of the ideas to connect better. To get a good source of such inspiration you could hardly do better than to subscribe to our own CNCCookbook Blog. We’re by far the largest CNC blog on the Internet in terms of readership. We post articles for all levels of knowledge. Signing up is easy–you’ll automatically be added to the list if you start the 30-day trial of G-Wizard Editor. Or you can join 100,000+ other CNC Enthusiasts by visiting our signup page.

Would you prefer to read the course in a nicely formatted cnc programming PDF document rather than online?

No problem, just sign up for our weekly CNC newsletter and we’ll send you one along with some other handy CNC Resources:

Full Name
Email *

Basics Every CNC Machinist and CNC Programmer Should Know

These articles will maximize your g-code proficiency and provide you with an introduction to CNC programming. Included in nearly every article are examples using our CNC Programming Software, G-Wizard Editor.

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

G-Code Standards and Dialects:  There are many flavors of g-code.

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

CAM Post Processors for G-Code Dialects: The Post Processor is the component of your CAM software that is responsible for translating to the exact g-code dialect.

Use MDI for Quick and Easy CNC Work: Pretend your CNC is just a manual machine with DRO’s and Power Feeds on every axis.

Conversational CNC: G-Code from point and shoot Wizards. For quick and easy parts you don’t need CAD or CAM for.

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.

Circular Arcs, Part 2: Tips for easier arc programming, arcs in CAM and Simulators, arc troubleshooting, and more.

Tool Changes and Tool Offsets

    Tool Length Offsets: Something every CNC machinist should know a lot about.

    Tool Data Management: How do you keep up with all your tooling and the compensation information? What about tool presetting?

Basic CNC Lathe Programming

Quiz on Basic GCode Programming: Test yourself with a quick quiz on this section. Each question has links to the answers so you can review what you missed.

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

          G76 Threading Cycle

Gang Tooling for Lathes

Advanced G-Code

G28: Return to Reference Point

Tool Compensation: The Poor Man’s Milling CAM

CNC Macro Programming and Fanuc Macro BA Mini-Tutorial on G-Code Macro Programming and Fanuc Macro B.

G10: Programming Tool and Work Offsets in G-Code

G51: 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

37 Things GCode Will Do that CAM Won’t

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

CAM Toolpath Strategies: Where plunge roughing, trochoidal machining, and other odd beasts are explained.

3D CAM Toolpaths: Learn the ins and outs of which 3D toolpaths to use in which situations.

Rhino Tips: Some of my tips and techniques for being productive with Rhino 3D.

Fanuc’s CNC Training Classes

G-Code is complicated

G-Wizard Editor makes it easy

Try It!

Free CNC Programming G-Code Tutorial and Course [73 Lessons!]
3.6 (72.73%) 11 votes


Software that will make anyone a better CNC'er

Get Better Tool Life, Surface Finish, and Material Removal Rates Fast.

It's that easy. You can install and get results in a matter of minutes.


Start Now, It's Free!



  GW Calculator

  GW Editor



  Deals and Steals

CNC Blog








     Feeds and Speeds

     G-Code Tutorial

     CNC Machining & Manufacturing

     DIY CNC Cookbook

     CNC Dictionary

CNC Projects


     Machinist's Search


     Online Groups


     Reference Data


     CNC Dictionary


     Tool Brands


     Hall of Fame

     Organization: Soon!





     Our History

     Privacy Policy

All material © 2017, CNCCookbook, Inc.

Pin It on Pinterest

Share This