{"id":15900,"date":"2020-12-09T09:00:00","date_gmt":"2020-12-09T17:00:00","guid":{"rendered":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/?p=15900"},"modified":"2025-08-08T07:28:46","modified_gmt":"2025-08-08T14:28:46","slug":"getting-started-with-g-code","status":"publish","type":"post","link":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/","title":{"rendered":"G Code List: G and M Codes Explained for CNC Programming"},"content":{"rendered":"\n<p><em>Learn the essentials of G-code, review a handy G code list, and see how the most common G and M codes for CNC machining shape every program.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/Gearbox-Milling-Pier-9-11-1024x683.jpg\" alt=\"CNC programming codes\" class=\"wp-image-15920\" srcset=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/Gearbox-Milling-Pier-9-11-1024x683.jpg 1024w, https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/Gearbox-Milling-Pier-9-11-300x200.jpg 300w, https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/Gearbox-Milling-Pier-9-11-768x512.jpg 768w, https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/Gearbox-Milling-Pier-9-11-1536x1025.jpg 1536w, https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/Gearbox-Milling-Pier-9-11.jpg 2000w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>In this article, we\u2019ll be talking about the core component of every CNC program \u2013 G-code, and we\u2019ll walk through a practical G Code list you can use for easy reference.<\/p>\n\n\n\n<p>G &amp; M-codes will make up the bulk of your CNC program, so keeping a concise G and M code list nearby speeds up troubleshooting and edits.<\/p>\n\n\n\n<p>Even if you never end up writing your own CNC program by hand, understanding G-code\u2019s fundamentals will give you a leg up in your CNC programming career, especially once you memorize the most common entries in the G code list.<\/p>\n\n\n\n<p>Some guides recommend memorizing the most common G and M codes, but building your own G &amp; M code list within Fusion\u2019s notes can be even more effective.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-gcode\">What is G-code?<\/h2>\n\n\n<p>Programming is a fundamental skill for all&nbsp;<a href=\"https:\/\/damassets.autodesk.net\/content\/dam\/autodesk\/www\/pdfs\/fy17-Types-of-CNC-Machining-ebook-en-FINAL.pdf\">types of CNC machining<\/a>, even as automation and new technology seem to be replacing programming tasks. Every machinist still needs to understand how their programs and tools work. Whether you\u2019re new to <a href=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/10-2d-cnc-milling-toolpaths\/\">CNC programming<\/a> and its most common language, <a href=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/cnc-programming-fundamentals-g-code-2020-update\/\">G-code<\/a>, or you\u2019ve been writing code by scratch for years, CNC programming codes can still feel like a foreign language. And to make things worse, every machine speaks a different dialect you have to understand. Do you understand what they\u2019re saying? Here are the&nbsp;G-code programming basics and g-code language&nbsp;you need to know to efficiently understand and write programs that produce high-quality products.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"what-is-g-code\">What is G-code language?<\/h3>\n\n\n<p><a href=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/fusion-360-cam-g-code\/\">G-code<\/a> is a programming language for CNC that instructs machines where and how to move. Most machines speak a different \u201cdialect\u201d of G-code, so the codes vary depending on type, make, and model. Each machine comes with an instruction manual that shows that particular machine\u2019s code for a specific function.<\/p>\n\n\n\n<p>G-code stands for \u201cgeometric code,\u201d and follows some variation of the alpha numeric pattern:<\/p>\n\n\n\n<p>N## G## X## Y## Z## F## S## T## M##<\/p>\n\n\n\n<p>N: Line number<br>G: Motion<br>X: Horizontal position<br>Y: Vertical position<br>Z: Depth<br>F: Feed rate<br>S: Spindle speed<br>T: Tool selection<br>M: Miscellaneous functions<br>I and J: Incremental center of an arc<br>R: Radius of an arc<\/p>\n\n\n\n<p>Alpha numeric codes are used for G-code programming as they are a simple way to:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Define motion and function (G##)<\/li>\n\n\n\n<li>Declare a position (X## Y## Z##)<\/li>\n\n\n\n<li>Set a value (F## and\/or S##)<\/li>\n\n\n\n<li>Select an item (T##)<\/li>\n\n\n\n<li>Switch something on and off (M##), such as coolant, spindles, indexing motion, axes locks, etc.<\/li>\n<\/ol>\n\n\n\n<p>For example,<\/p>\n\n\n\n<p>G01 X1 Y1 F20 T01 M03 S500<\/p>\n\n\n\n<p>would generally indicate a linear feed move (G01) to the given XY position at feed rate of 20. It is using Tool 1, and the spindle speed is 500. Miscellaneous functions will vary from machine to machine, so in order to know what the m-code means, the machine\u2019s instruction manual will need to be referenced.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"machine-motion\">CNC programming codes: machine motion<\/h3>\n\n\n<p>Everything a machine can do is based on three basic types of motion:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Rapid move: a linear move to an XYZ position as fast as possible<\/li>\n\n\n\n<li>Feed move: a linear move to an XYZ position at a defined feed rate<\/li>\n\n\n\n<li>Circular move: a circular move at a defined feed rate<\/li>\n<\/ol>\n\n\n\n<p>Every G-code tells the machine which variation of these basic motions to perform, and how to perform it.<\/p>\n\n\n\n<p>X and Y are <a href=\"https:\/\/www.mathsisfun.com\/data\/cartesian-coordinates.html\" target=\"_blank\" rel=\"noreferrer noopener\">Cartesian coordinates<\/a> for horizontal and vertical position, and Z represents the depth of the machine. These alpha numerals will follow the motion\/function command (G) to declare the position of the machine.<\/p>\n\n\n\n<p>Next, F determines the feed rate (for feed moves or circular moves), while S determines the spindle speed. T is used to select a tool. Other alpha numerals used in programming might include I, J, and R, which have to do with arc centers and radii.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"miscellaneous-codes\">Miscellaneous CNC machine codes<\/h3>\n\n\n<p>The line of a program might also include m-codes, which are generally CNC machine codes that tell a machine how to perform an action. While not guaranteed to be the same across machines, some common, standard m-codes are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>M00: Program stop<\/li>\n\n\n\n<li>M01: Optional program stop<\/li>\n\n\n\n<li>M02: End of program<\/li>\n\n\n\n<li>M03: Spindle on clockwise<\/li>\n\n\n\n<li>M04: Spindle on counterclockwise<\/li>\n\n\n\n<li>M05: Spindle stop<\/li>\n\n\n\n<li>M06: Tool change<\/li>\n\n\n\n<li>M08: Flood coolant on<\/li>\n\n\n\n<li>M09: Flood coolant off<\/li>\n\n\n\n<li>M30: End of program\/return to start<\/li>\n\n\n\n<li>M41: Spindle low gear range<\/li>\n\n\n\n<li>M42: Spindle high gear range<\/li>\n<\/ul>\n\n\n<h3 class=\"wp-block-heading\" id=\"modality\">Modality<\/h3>\n\n\n<p>Just like a light will stay on until it\u2019s turned off, G-code functions (on controllers that support modality) will remain active until they are deactivated by another code. In other words, only one function can be active at any given time. To deactivate a function, just select a new function.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"200\" src=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcod.png\" alt=\"g-code-modality\" class=\"wp-image-15921\" style=\"width:200px;height:200px\" srcset=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcod.png 200w, https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcod-150x150.png 150w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/figure>\n\n\n\n<p>For example, say a CNC machine code begins with a linear rapid move at X1 Y1 (G00 X1 Y1). If the next function is another linear rapid move, it is not necessary to write G00 again. All that is needed on the next line of CNC machine code is the new position (say, X2 Y2) because the&nbsp;modal condition&nbsp;is the same. Then, to change the function to a linear feed (G01), programming G01 on the following line would deactivate the linear rapid move and activate the linear feed.<\/p>\n\n\n\n<p>Once a condition is set, it stays active until it is turned off or another condition overrides it.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"canned-cycles\">Canned cycles<\/h3>\n\n\n<p>Canned cycles are a kind of modal condition that incorporates all the motions to complete a common task into one code.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"682\" src=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcode1-1024x682.jpg\" alt=\"CNC machine programming codes\" class=\"wp-image-15922\" srcset=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcode1-1024x682.jpg 1024w, https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcode1-300x200.jpg 300w, https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcode1-768x512.jpg 768w, https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcode1.jpg 1288w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>For example, oftentimes G81 is code for a basic drilling function. In the case of basic drilling, the tool would have to be 1) moved to the starting point of the hole\u2019s location, 2) rapid to the clearance plane, 3) fed to the depth, and 4) rapid out. That would be four lines of code in the program that would have to be repeated for every new drill position! With the canned cycle G81, only the hole locations need to be specified after activation.&nbsp;Canned cycles&nbsp;like G81 significantly reduce the amount of code by incorporating multiple motions into one code.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"150\" src=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcode2.png\" alt=\"g-code-canned-cycle\" class=\"wp-image-15923\" style=\"width:400px;height:150px\" srcset=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcode2.png 400w, https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcode2-300x113.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/figure>\n\n\n\n<p>In G-code, some other common canned cycles exist for peck drilling, counter boring, and tapping.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"modal-code-groups\">Modal code groups<\/h3>\n\n\n<p>Modal code groups allow there to be multiple codes on a single line, but there can only be one code from each group on a line. This is because codes within a group will override each other.<\/p>\n\n\n\n<p>The modal groups for G-codes are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Group 1 (motion): G00, G01, G02, G03, G80, G81, G82, G84, G85, G86, G87, G88, G89<\/li>\n\n\n\n<li>Group 2 (plane selection \u2013 XY, YZ, ZX): G17, G18, G19<\/li>\n\n\n\n<li>Group 3 (absolute\/incremental mode): G90, G91<\/li>\n\n\n\n<li>Group 5 (feed rate mode): G93, G94<\/li>\n\n\n\n<li>Group 6 (units \u2013 inches\/millimeters): G20, G21<\/li>\n\n\n\n<li>Group 7 (cutter radius compensation \u2013 CRC): G40, G41, G42<\/li>\n\n\n\n<li>Group 8 (tool length offset \u2013 TLO): G43, G49<\/li>\n\n\n\n<li>Group 10 (return mode in canned cycles): G98, G99<\/li>\n\n\n\n<li>Group 12 (work coordinate system selection \u2013 WCSS): G54, G55, G56, G57, G58, G59)<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"600\" src=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcode-6.png\" alt=\"modal-g-code\" class=\"wp-image-15925\" style=\"width:400px;height:600px\" srcset=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcode-6.png 400w, https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/gcode-6-200x300.png 200w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/figure>\n\n\n<h3 class=\"wp-block-heading\" id=\"postprocessors\">Postprocessors<\/h3>\n\n\n<p>A&nbsp;<a href=\"http:\/\/fab.cba.mit.edu\/content\/tools\/hurco_mill\/hurco_post_processor_explanation_docs\/Autodesk%20Post%20Processor%20manual-sm-130829.pdf\">postprocessor<\/a>&nbsp;is a translator that translates the calculated image of a toolpath on your computer screen into the language for machine control. You can create a postprocessor by searching for a sample program that aligns closely with your machine and then amending the program to precisely fit your machine. <\/p>\n\n\n<h4 class=\"wp-block-heading\" id=\"g-code-tips-to-note\">G-code programming tips<\/h4>\n\n\n<ul class=\"wp-block-list\">\n<li>Some machines and controllers ignore spaces. G01 X1 Y1 Z1 might mean the same thing as G01 X1Y1Z1.<\/li>\n\n\n\n<li>The Z-axis is positive in the up direction. Z1 will bring the tool up, while Z-1 will bring the tool down.<\/li>\n\n\n\n<li>Your machine\u2019s G-code dialect will specify if a leading zero is necessary (as in G01, as opposed to G1).<\/li>\n\n\n\n<li>The dialect will also determine if decimal points are always necessary (ex. G01 X1. Y1. Z0.5)<\/li>\n\n\n\n<li>It\u2019s a good idea to run the sample programs that come in your machine manual before you try to run a big program. Oftentimes, the sample programs do not work and you will need to note the issues and set your own benchmarks.<\/li>\n<\/ul>\n\n\n<?xml encoding=\"utf-8\" ?><figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"CAM Slam: How to Master your Machine with G Code in 30 mins or Less Ft. Lars Christensen\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/YILHCfErhc4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen style=\"aspect-ratio:500 \/ 281;width:100%;height:auto;\"><\/iframe>\n<\/div><\/figure>\n\n\n<h2 class=\"wp-block-heading\" id=\"get-started-with-g-code\">Get started with G-code<\/h2>\n\n\n<p>Ready to&nbsp;start using G-code&nbsp;to program your machines? Begin by reviewing your machine\u2019s unique coding chart. Remember, every machine is a little different. A&nbsp;<a href=\"https:\/\/www.autodesk.com\/campaigns\/machine-like-a-pro\">Haas<\/a>\u2019 CNC machine code&nbsp;for a function might not be the same as an Anilam\u2019s code for that function. You have to know which CNC programming codes your specific machine uses for the tasks you want it to perform.<\/p>\n\n\n\n<p>The program will often start with an initialization code (%), followed by a program number. Then, there will be a line of safety codes. Next will be a line for tool change. This puts the appropriate tool in the machine and set the speed to be used. The bulk of the program will then be the machine movements and positioning.<\/p>\n\n\n\n<p>If using line numbering, it\u2019s a good idea to name each line in increments of at least five. This way, if you need to add lines of code later, the lines will still be labelled in order.<\/p>\n\n\n\n<p>When you\u2019ve finished programming your G-code, you\u2019ll typically end the program with a series of functions that stop and reset the machine so it\u2019s ready for the next time.<\/p>\n\n\n\n<p>When used correctly, G-codes are an invaluable tool for CNC machinists, allowing you to take full advantage of your machine\u2019s capabilities. <\/p>\n\n\n\n<p>Integrated CAD\/CAM solutions like Autodesk <a href=\"https:\/\/www.autodesk.com\/products\/fusion-360\/free-trial\">Fusion<\/a> continue to streamline the CNC coding process, so you don\u2019t have to program parts by hand using G-codes. Producing high-quality parts has never been faster with G-code programming.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When used correctly, g-codes are an invaluable tool for CNC machinists, allowing you to take full advantage of your machine\u2019s capabilities. <\/p>\n","protected":false},"author":4428,"featured_media":15920,"menu_order":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[235],"tags":[],"coauthors":[680],"class_list":["post-15900","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-machining","dhig-theme--light"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>G Code List &amp; CNC Programming Fundamentals - Fusion Blog<\/title>\n<meta name=\"description\" content=\"Learn the essentials of G-code, review a handy G code list, and see how the most common G and M codes for CNC machining shape every program.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"G Code List &amp; CNC Programming Fundamentals - Fusion Blog\" \/>\n<meta property=\"og:description\" content=\"Learn the essentials of G-code, review a handy G code list, and see how the most common G and M codes for CNC machining shape every program.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/\" \/>\n<meta property=\"og:site_name\" content=\"Fusion Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-09T17:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-08T14:28:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/Gearbox-Milling-Pier-9-11.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1334\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ellie Rathbone\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ellie Rathbone\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"G Code List & CNC Programming Fundamentals - Fusion Blog","description":"Learn the essentials of G-code, review a handy G code list, and see how the most common G and M codes for CNC machining shape every program.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/","og_locale":"en_US","og_type":"article","og_title":"G Code List & CNC Programming Fundamentals - Fusion Blog","og_description":"Learn the essentials of G-code, review a handy G code list, and see how the most common G and M codes for CNC machining shape every program.","og_url":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/","og_site_name":"Fusion Blog","article_published_time":"2020-12-09T17:00:00+00:00","article_modified_time":"2025-08-08T14:28:46+00:00","og_image":[{"width":2000,"height":1334,"url":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/Gearbox-Milling-Pier-9-11.jpg","type":"image\/jpeg"}],"author":"Ellie Rathbone","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ellie Rathbone","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/#article","isPartOf":{"@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/"},"author":{"name":"Ellie Rathbone","@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/#\/schema\/person\/c39160cfdf37c3eefd5c68a4b3d50612"},"headline":"G Code List: G and M Codes Explained for CNC Programming","datePublished":"2020-12-09T17:00:00+00:00","dateModified":"2025-08-08T14:28:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/"},"wordCount":1620,"commentCount":0,"image":{"@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/#primaryimage"},"thumbnailUrl":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/Gearbox-Milling-Pier-9-11.jpg","articleSection":["Machining"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/","url":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/","name":"G Code List & CNC Programming Fundamentals - Fusion Blog","isPartOf":{"@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/#primaryimage"},"image":{"@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/#primaryimage"},"thumbnailUrl":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/Gearbox-Milling-Pier-9-11.jpg","datePublished":"2020-12-09T17:00:00+00:00","dateModified":"2025-08-08T14:28:46+00:00","author":{"@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/#\/schema\/person\/c39160cfdf37c3eefd5c68a4b3d50612"},"description":"Learn the essentials of G-code, review a handy G code list, and see how the most common G and M codes for CNC machining shape every program.","breadcrumb":{"@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/#primaryimage","url":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/Gearbox-Milling-Pier-9-11.jpg","contentUrl":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2020\/12\/Gearbox-Milling-Pier-9-11.jpg","width":2000,"height":1334,"caption":"William Maluki, the head of engineering at Gearbox, a prototyping space in Nairobi Kenya, was a 2018 Pier 9 Impact Resident. He leveraged the residency to develop an automated pipe-bender to support the Kenyan manufacturing sector. Gearbox and William's Impact Residency is supported by the Autodesk Foundation."},{"@type":"BreadcrumbList","@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/getting-started-with-g-code\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/"},{"@type":"ListItem","position":2,"name":"G Code List: G and M Codes Explained for CNC Programming"}]},{"@type":"WebSite","@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/#website","url":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/","name":"Fusion Blog","description":"Product updates, tips, tutorials and community news.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/#\/schema\/person\/c39160cfdf37c3eefd5c68a4b3d50612","name":"Ellie Rathbone","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2024\/07\/ellie-rathbone-150x150.jpg8dec7d2fe4f9b8c2db211cf3194e3008","url":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2024\/07\/ellie-rathbone-150x150.jpg","contentUrl":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-content\/uploads\/2024\/07\/ellie-rathbone-150x150.jpg","caption":"Ellie Rathbone"},"description":"Social Media Marketing Specialist at Autodesk, managing all advanced manufacturing social channels across multiple platforms. Based in the UK.","url":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/author\/ellie-rathbone\/"}]}},"_links":{"self":[{"href":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-json\/wp\/v2\/posts\/15900","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-json\/wp\/v2\/users\/4428"}],"replies":[{"embeddable":true,"href":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-json\/wp\/v2\/comments?post=15900"}],"version-history":[{"count":0,"href":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-json\/wp\/v2\/posts\/15900\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-json\/wp\/v2\/media\/15920"}],"wp:attachment":[{"href":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-json\/wp\/v2\/media?parent=15900"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-json\/wp\/v2\/categories?post=15900"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-json\/wp\/v2\/tags?post=15900"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.autodesk.com\/products\/fusion-360\/blog\/wp-json\/wp\/v2\/coauthors?post=15900"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}