Cette liste de codes G et M couvre les codes que vous tapez réellement pour exécuter une fraiseuse CNC ou un tour : tous les codes G courants qui contrôlent le mouvement et la géométrie, ainsi que les codes M qui commutent les fonctions de la machine comme la broche et le liquide de refroidissement. Que vous lisiez des programmes CNC sous la commande ou que vous modifiiez manuellement un fichier que votre logiciel CAM a craché, les tableaux et exemples ci-dessous sont construits pour être une référence unique que vous pouvez garder ouverte dans un deuxième onglet, couvrant à la fois le fraisage et le tournage, et les différences entre Fanuc, Haas, Siemens, GRBL et LinuxCNC.
Référence rapide : G vs M en un coup d'œil
| Code G | Préparatoire/géométrie indique la machine où et comment l'outil se déplace (arcs G00 rapide, G01 feed, G02/G03). |
| Code M | Divers /fonctionnements des interrupteurs de la machine (allumettes M03 allumées, liquide de refroidissement M08 allumés, programme final M30). |
| Format | Adresse verbale : N50 G01 X1,5 Z-0,75 F0,008 M08 one“ lettre + un nombre per”. |
| Normes | Enraciné dans EIA RS-274 et ISO 6983-1:2009; l'interpréteur ouvert dont descendent la plupart des contrôleurs est le NIST RS274/NGC spécification. |
G-Code vs M-Code : Quelle est la différence ?

Trier chaque code dans l'un des deux compartiments est le moyen le plus rapide de lire n'importe quel programme. UN Code G est une commande préparatoire, la “G” est généralement expliquée comme suit Géométrie, parce que ces mots disent au coupeur où aller et par quel chemin. Un Code M est une commande diverse, ou machine : il actionne un interrupteur quelque part sur la machine, comme démarrer la broche ou allumer le liquide de refroidissement anti-inondation Les deux roulent à l'intérieur de la même grammaire d'adresse de mot que l'EIA a normalisée pour la commande numérique au début des années 1960 et que l'ISO a ensuite plié dans ISO 6983.
Voici la répartition pratique que vous pouvez appliquer à vue :
| Question | Code G | Code M |
|---|---|---|
| Qu'est-ce que ça contrôle ? | Mouvement de l'outil, coordonnées, interpolation, décalages | Broche, liquide de refroidissement, changement d'outil, flux de programme |
| Est-ce que ça déplace les axes ? | Souvent oui (G00, G01, G02) | Non |
| C'est modal ? | Beaucoup le sont (restent actifs jusqu'à annulation) | Certains (M03/M05) ; beaucoup sont un coup |
| Exemple | G01 X2.0 F10.0 |
M08 (liquide de refroidissement allumé) |
Environ 100 codes G existent dans tous les dialectes, bien qu'une seule machine utilise un ensemble fonctionnel bien plus petit que cela. Les codes M sont moins nombreux et beaucoup moins cohérents entre les constructeurs, un point qui mérite d'être retenu, car il explique que la plupart des fonctionnalités de ce programme se sont bien déroulées sur les autres maux de tête de machine“ abordés plus tard. Si vous construisez encore un modèle mental de la machine elle-même, notre introduction sur le bases de l'usinage de tours et de fraises se marie bien avec cette référence de code.
Comment lire un bloc de code G : lettres d'adresse et syntaxe

Une ligne de code CNC est appelée a bloc, (en anglais), et chaque bloc n'est qu'une chaîne de mots“.” Chaque mot est une lettre (l'adresse) suivie d'un nombre (la valeur).Une fois que vous savez ce que signifient les lettres, vous pouvez lire presque n'importe quel bloc à haute voix Nous l'enseignons à de nouveaux opérateurs comme le Règle NG-XYZ-FSTMles lettres ont tendance à apparaître à peu près dans cet ordre, et cet ordre correspond à l'ordre dans lequel la machine pense : le numéro de ligne, quel type de mouvement, où, à quelle vitesse, à quelle vitesse tourner, quel outil et quel commutateur basculer.
| Lettre | Signification | Exemple |
|---|---|---|
| N | Numéro de bloc (ligne) | N50 |
| G | Commande préparatoire/mouvement | G01 |
| XYZ | Position de l'axe (destination) | X1,5 Z-0,75 |
| JEJK | Centre d'arc, par rapport au début | I0,5J0 |
| F | Taux d'alimentation | F0.008 |
| S | Vitesse de broche | S1200 |
| T | Numéro d'outil | T0303 |
| M | Fonction machine | M08 |
Lire ce blocN50 G01 X1,5 Z-0,75 F0,008 M08et il dit :“Sur la ligne 50, alimenter en ligne droite X1,5, Z-0,75 à 0,008 par tour, et allumer le liquide de refroidissement par inondation.” C'est toute cette même logique qui entraîne un Machine à tour CNC entraîne un centre d'usinage ; seules les lettres d'axe et une poignée de cycles en conserve changent.
A modal le code reste actif après son bloc jusqu'à ce que quelque chose dans le même groupe l'annule La commande G01 une fois et chaque bloc suivant continue de se nourrir en ligne jusqu'à ce que vous appeliez G00, G02 ou G03. Les codes non modaux (one-shot) tels que G04 stawn agissent uniquement sur le bloc où ils apparaissent Le mélange de ceux-ci est la racine de la plupart des “pourquoi l'outil a-t-il plongé à des crashs rapides ?”.
Groupes modaux : Pourquoi certains codes s'annulent

Voici le concept qui transforme une liste de codes en un modèle mental fonctionnel Les codes G sont triés en groupes modaux, ., et un seul code de chaque groupe peut être actif à la fois Appelez un deuxième code du même groupe et il remplace tranquillement le premier C'est par conception, c'est aussi pourquoi un bloc avec deux codes de mouvement dedans lance une alarme Comprendre les groupes répond à la question du débutant, “pourquoi un code G en annule-t-il un autre ?”
| Groupe Modal | Codes dans le Groupe | Par défaut chez Power-On |
|---|---|---|
| Mouvement | G00, G01, G02, G03 | Habituellement G00 |
| Sélection d'avion | G17, G18, G19 | G17 (moulin), G18 (tours) |
| Unités | G20, G21 | Paramètre machine |
| Mode distance | G90, G91 | Absolue de G90 |
| Comp. coupeur | G40, G41, G42 | G40 éteint |
| Compensations de travail | G54G59 | G54 |
| Mode alimentation | G93, G94, G95 | G94 (moulin) |
| Cycle en conserve | G73G annule 89, G80 | G80 éteint |
Alors quand tu écris G90 G54 G17 G00 X0 Y0 en haut d'un programme, vous définissez un code de chacun de plusieurs groupes, distance absolue, décalage de travail 1, plan XY, mouvement rapide, et ils restent tous verrouillés jusqu'à ce que vous les changiez C'est ce que les gens entendent par une ligne de démarrage de sécurité des coordonnées.
Liste complète des codes G (codes communs G00G99)

Vous trouverez ci-dessous la liste principale des codes G, regroupés selon ce que fait chaque code Ce sont les codes que vous rencontrez sur la grande majorité des contrôles de style Fanuc ; quelques-uns ont des bizarreries dialectales notées dans la section contrôle-comparaison Signalez ceci, il double comme la feuille de triche imprimable que la plupart des gens recherchent lorsqu'ils recherchent une liste de codes “g code m pdf.”
| Code | Groupe | Fonction |
|---|---|---|
| G00 | Mouvement | Positionnement rapide (déplacement non-coupant) |
| G01 | Mouvement | L'alimentation linéaire se déplace au rythme F |
| G02 | Mouvement | Interpolation circulaire dans le sens des aiguilles d'une montre (arc) |
| G03 | Mouvement | Interpolation circulaire dans le sens inverse des aiguilles d'une montre |
| G04 | Mouvement | Habitez (pause), P ou X pour le temps |
| G17 /G18 /G19 | Avion | Sélectionnez le plan de travail XY/XZ/YZ |
| G20/G21 | Unités | Programmation pouces/millimètres |
| G28 | Mouvement | Retour à la position de la machine home (référence) |
| G30 | Mouvement | Retour au 2 ème/3 ème point de référence |
| G40/G41/G42 | Comp | Coupeur (rayon) comp off /gauche /droite |
| G43/G49 | Comp | Comp de longueur d'outil sur/annuler |
| G53 | Coordonner | Déplacez-vous dans les coordonnées de la machine (annule le décalage) |
| G54G59 | Coordonner | Systèmes de coordonnées de travail 16 |
| G73/G83 | Conservé | Perçage peck/peck full-retract à grande vitesse |
| G80 | Conservé | Annuler le cycle en conserve |
| G81/G82 | Conservé | Perceuse simple/perceuse avec staw |
| G84 | Conservé | Cycle de taraudage |
| G85/G86 | Conservé | Cycles ennuyeux |
| G90/G91 | Distance | Programmation absolue/incrémentale |
| G93 /G94 /G95 | Mode alimentation | Temps inverse /par minute /par tour d'alimentation |
| G96/G97 | Broche | Vitesse de surface constante /annuler (tr/min constant) |
| G98/G99 | Conservé* | Retour au plan /R initial après un cycle (mill) |
*Sur de nombreuses commandes de tour Fanuc, G98/G99 a plutôt défini le flux par minute et le flux par révolution, l'une des différences dialectales détaillées ci-dessous.
Liste complète des codes M (fonctions de machines et de programmes)

Les M-codes gèrent tout ce qui n'est pas du mouvement : démarrer et arrêter la broche, changer de liquide de refroidissement, changer d'outil et terminer le programme L'ensemble commun est court, et vous en utiliserez une douzaine chaque jour.
| Code | Fonction | Remarques |
|---|---|---|
| M00 | Arrêt de programme (obligatoire) | Le cycle de presse commence à reprendre |
| M01 | Arrêt facultatif | Seulement si l'arrêt de“ facultatif de la” est activé |
| M02 | Fin du programme | Pas de rembobinage |
| M03/M04 | Broche sur CW/CCW | A besoin d'une valeur S |
| M05 | Arrêt de broche | — |
| M06 | Changement d'outil | Paires avec un mot T |
| M07 /M08 /M09 | Brume/inondation liquide de refroidissement, liquide de refroidissement éteint | M07 pas sur chaque machine |
| M29 | Mode de tapotement rigide | Fanuc ; précède G84 |
| M30 | Mettre fin au programme et rembobiner | Réinitialise en haut |
| M98/M99 | Appel de sous-programme/retour | M99 boucle également un programme |
Les M-codes sont la partie la moins standardisée du langage Les M-codes de liquide de refroidissement, de palette et auxiliaires se promènent de constructeur en constructeur, et les machines avec du matériel supplémentaire ajoutent le leur Vérifiez toujours la page M-code dans le manuel de votre machine avant de supposer qu'un nombre signifie ce que cela signifiait sur le dernier contrôle que vous avez exécuté.
Codes G et M pour tours CNC (Tournage)

La plupart des listes de codes publiées sont écrites pour les fraiseuses, donc les programmeurs tournants sont laissés deviner Les tours partagent les codes de mouvement et de programme de base mais ajoutent une couche spécifique au tournage que les usines n'ont pas Si vous exécutez un centre de tournage à lit incliné ou à lit plat, ce sont les codes qui comptent.
| Code du tour | Fonction |
|---|---|
| G50 | Pincez la vitesse maximale de la broche (ou définissez les coordonnées, en fonction du contrôle) |
| G96/G97 | Vitesse de surface constante sur/off la paire de chevaux de trait pour tourner |
| G70 | Cycle de finition |
| G71 | Cycle de tournage brutal (enlèvement de stock) |
| G72 | Cycle de parement rugueux |
| G74/G75 | Cycles de perçage/gorgeage Peck |
| G76 | Cycle d'enfilage |
| G41/G42/G40 | Comp de rayon de nez d'outil gauche/droite/arrêt |
La vitesse de surface constante est la grande différence conceptuelle. Appeler G96S500 et le contrôle varie le régime de la broche de sorte que la vitesse de coupe à l'outil reste à 500 pieds de surface par minute même que le diamètre rétrécit, exactement ce que vous voulez pour une finition propre à travers une partie effilée ou face commuter à G97 S1500 pour verrouiller un régime fixe, dont vous avez besoin pour le forage au centre ou le filetage Sur les commandes de style Fanuc, nous expédions sur ANTISHICNC tour CNC à lit incliné modèles, un G97 manquant avant un cycle de forage est l'une des erreurs de premier programme les plus courantes que nous voyons, la broche continue d'accélérer à mesure que l'outil s'approche du centre.
“Sur le travail de tournage l'ordre compte autant que les codes Réglez votre décalage de travail, puis G96 avec une pince de vitesse G50, puis votre outil, sautez la pince et la première passe de petit diamètre peut essayer de faire tourner la broche au-delà de sa limite de sécurité”
Qu'est-ce que le G94 G-code ?
G94 définit le flux par minute Mode : la valeur F est lue comme des unités (pouces ou millimètres) de déplacement de l'outil par minute Elle vit dans le groupe modal en mode d'alimentation aux côtés de G93 (temps inverse) et G95 (alimentation par tour), et sur les commandes de fraisage G94 est la valeur par défaut normale Le loquet est le tour : sur de nombreux commandes de tournage Fanuc la paire en mode d'alimentation est en fait G98 (par minute) et G99 (par tour), tandis que G94/G95 peut être affecté à d'autres fonctions Le tournage veut presque toujours une alimentation par révolution donc la finition reste cohérente quel que soit le régime de“, donc la plupart des programmes sont définis G999 (contrôle manuel), contrôle de G999, contrôle de flux, contrôle de G9, de G9.
Cycles en conserve expliqués : forage, tapotement et ennuyeux

A cycle en conserve emballe une opération répétitive, percez, rétractez, déplacez, percez à nouveau, en une seule ligne Au lieu de programmer chaque pic à la main, vous appelez le cycle une fois, listez les positions des trous, et annulez avec G80 Ils sauvent des dizaines de lignes et rendent les motifs de trous lisibles en un coup d'œil.
- ✔G81forage droit : rapide au plan R, alimentation à la profondeur Z, sortie rapide.
- ✔G83perçage de picorage : picore par incréments Q, se rétractant complètement pour dégager les copeaux sur les trous profonds.
- ✔G84taraudage : entre, inverse la broche, s'alimente au pas du filetage.
- ✔G85/G86alésage : dimensionnement précis et à faible alimentation d'un trou pré-percé.
Un bloc de peck-drill ressemble à G83 Z-1.0 R0.1 Q0.2 F8.0percez jusqu'à Z-1.0, en partant d'un plan de rétraction de 0,1, en 0,2 peck, à 8 pouces par minute. Inscrivez les coordonnées XY de votre trou après et le cycle se répète à chacun jusqu'à G80.
Que fait le G84 en CNC ?
G84 est le cycle de taraudage à droite Il alimente le robinet en profondeur, arrête et inverse la broche, puis refoule, le tout synchronisé pour que le robinet suive son propre filetage sans le déchirer Le débit d'alimentation doit correspondre au fil conducteur : l'alimentation est égale au spindle tours multiplié par le pas Pour un robinet M8×1.25 à 300 tours/minute en mode d'alimentation par minute, cela fait 300.1.25 = 375 mm/min. Sur les commandes Fanuc, vous commandez généralement M29 (mode de taraudage rigide) juste avant G84 pour que la broche et la permute de la fonction restent verrouillées ensemble, ce qui vous permet de taper avec précision.
Un exemple de programme complet de code G (moulin et tour)

Lire des codes dans un tableau est une chose ; les voir dans un programme réel est l'endroit où il clique Voici deux exemples courts et entièrement commentés Chaque ligne revient aux tableaux ci-dessus.
Exemple de fraisagefaites face et percez un trou :
O1001 N10 G90 G54 G17 G21 (absolu, décalage 1, plan XY, mm) N20 G00 X0 Y0 (rapide au démarrage) N30 T1 M06 (outil de chargement 1) N40 S1200 M03 (broche sur CW, 1200 tr/min) N50 G43 H1 Z25.0 (décalage de la longueur de l'outil, Z sûr) N60 M08 (liquide de refroidissement) N70 G83 Z-15.0 R2.0 Q3.00000001000100100100010100100001010000000010101000000000000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Exemple tournantrugueux et finir un diamètre :
O2001 N10 G21 G99 G40 (mm, alimentation par régime, comp off) N20 G50 S2500 (broche max de serrage 2500 tr/min) N30 T0101 (outil de tournage, décalage 1) N40 G96 S180 M03 (vitesse de surface constante 180, broche CW) N50 G00 X52.0 Z2.0 M08 (approcher le stock, liquide de refroidissement) N60 G71 U2.0 R1.0 (cycle de braquage) N7000 G10001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Avant toute première exécution, faites fonctionner le fichier à sec dans un simulateur Les simulateurs de code G en ligne gratuits et les téléspectateurs attraperont un arc inversé ou un G80 manquant en quelques secondes, bien moins cher que de l'attraper avec un outil dans la partie La même habitude de vérification en premier s'applique que vous coupiez sur un Centre d'usinage vertical CNC ou un centre de virage.
Différences de code G et M par contrôle : Fanuc, Haas, Siemens, GRBL, LinuxCNC

Voici la vérité que cachent les listes à contrôle unique : il n'y a pas un seul code G universel Les codes de mouvement (G00G03) et les codes de démarrage sécurisé restent presque identiques partout, cette partie est vraiment standard Mais les paramètres de cycle en conserve, la syntaxe des macros, les affectations en mode flux et la plupart des codes M dérivent entre les constructeurs. “Standard G-code” est, au-delà des bases, en partie un mythe.
| Contrôle | Où ça diffère |
|---|---|
| Fanuc | La ligne de base de facto ; variables macro B, mode d'alimentation du tour via G98/G99, prise rigide M29 |
| Haas | De type Fanuc avec ajout de codes M Haas (par exemple, sous-appel local M97) et comportement axé sur les paramètres |
| Siemens (SINUMERIK) | Prend en charge le code G ainsi que son propre langage de haut niveau et les étapes ShopTurn/ShopMill |
| GRBL | Un sous-ensemble pour les routeurs de loisirs et le matériel de classe imprimante 3 D ; pas de cycles en conserve |
| LinuxCNC | Suit de près le dialecte NIST RS274/NGC ; codes G supplémentaires pour les splines et le sondage |
Les machinistes rapportent généralement la même leçon : un programme éprouvé sur une commande peut fausser ou, pire, mal tourner sur une autre, généralement à cause d'une différence de mode d'alimentation ou de cycle en conserve plutôt que d'un code de mouvement. Corriger c'est une habitude, pas un code, republier depuis CAM pour la commande cible, ou prouver le programme sur la machine réelle en un seul bloc avant de lui faire confiance. La publication gratuite Référence du code G LinuxCNC est une base de référence neutre utile lorsque vous souhaitez voir comment un interpréteur de“ ”by-the-standard définit un code.
Erreurs courantes de code G et de code M

Les codes eux-mêmes sont simples ; les erreurs proviennent du contexte Quelques modèles représentent la plupart des problèmes rencontrés par les nouveaux programmeurs.
- Ouvert avec une ligne de démarrage en toute sécurité (G90 G54 G17 G40 G80)
- Annulez les cycles en conserve avec G80 avant le prochain coup
- Réglez G97 avant de percer ou de filer sur un tour
- Bloquez un seul bloc la première exécution de tout nouveau programme
- En laissant G91 activé, le programme suivant s'exécute donc progressivement
- Supposer un code M signifie la même chose sur chaque machine
- Tapping avec G84 mais en oubliant le mode rigide M29
- Mauvaise direction d'arc (G02 vs G03) ou signe I/J/K
Si vous passez de l'usinage manuel au CNC, construire le même instinct que vous avez avec les commandes manuelles aide, la façon dont un opérateur lit un cadran est la même vigilance a lecture numérique (DRO) récompenses, et il est directement transposé dans le code de lecture avant de commencer le cycle. Faire correspondre le bon outillage à l'affaire du travail tout autant ; notre guide de outils de coupe de tour couvre ce côté.
Ce qui change : programmation conversationnelle, FAO et IA

L'écriture manuelle de programmes complets n'est plus le travail quotidien qu'elle était autrefois. Depuis 2026, la plupart des codes G de production sont générés par le logiciel CAM et son post-processeur, puis édités sur la machine. Deux équipes méritent d’être planifiées.
D'abord, programmation conversationnelle Continue de se répandre Des commandes comme Haas et Siemens ShopTurn laissent un opérateur décrire une fonctionnalité, un alésage, un fil, un visage et le contrôle écrire le code G en dessous Il abaisse la barrière pour les pièces simples, mais il ne remplace pas la connaissance des codes : dès qu'un programme conversationnel a besoin d'une modification ou lance une alarme, vous êtes de retour en code G. Deuxièmement, la simulation est devenue une étape par défaut plutôt qu'un luxe L'intérêt de la recherche dans les simulateurs de code G se situe près de 1 000 recherches par mois, signe que la vérification avant la coupe est désormais une pratique standard Les outils de chemin d'outils assistés par l'IA qui ajustent les collisions de flux et de drapeaux arrivent dans les revues de CAM grand public, bien qu'un programme.
Si vous installez un magasin ou formez des opérateurs en 2026, la démarche pratique consiste à enseigner d'abord l'alphabétisation par G-code et à traiter les outils conversationnels et d'IA comme des accélérateurs par-dessus. Les fondamentaux de cette liste sont exactement ce que ces outils génèrent, et ce que vous lirez lorsque quelque chose doit être réparé. Pour voir comment la maturité de la programmation entre en ligne de compte dans l'achat d'une machine, notre aperçu de la tours de tournage en métal parcours de gamme à travers les options de contrôle.
Foire aux questions
Q : Quelle est la différence entre un code G et un code M ?
Voir la réponse
Q : Quel est le code G le plus courant ?
Voir la réponse
Q : Que signifie le code M en CNC ?
Voir la réponse
Q : Les codes G et M sont-ils les mêmes sur chaque machine CNC ?
Voir la réponse
Q : Quels codes G et M utilisent les tours CNC ?
Voir la réponse
Q : Où puis-je obtenir un PDF ou une feuille de triche de liste de codes G et M ?
Voir la réponse
Programmation d'un nouveau centre de tournage ?
1TP3 T construit des tours CNC qui exécutent le code G standard de style Fanuc, avec des options conversationnelles et une assistance sur 3 ans dans plus de 40 pays Dites-nous votre part et nous spécifierons la bonne machine et le bon contrôle.
Pourquoi nous avons rassemblé cette liste
Nous construisons des tours CNC pour gagner notre vie, et la première chose que les nouveaux propriétaires demandent après la livraison est une version de “où est la liste de codes ?” La plupart des références au fraisage de couverture en ligne uniquement ou s'arrêtent à une marque de contrôle, nous en avons donc écrit une qui met et les codes de tour, y compris les cycles de tournage G96/G97 et G70G76 que nos machines exécutent chaque jour, à un seul endroit, avec les différences de contrôle épelées.
Références et sources
- L'interprète NIST RS274/NGC, version 3Institut national des normes et technologies (NIST)
- NIST RS274NGC Interprète, rapport complet (PDF)Rapport interne du NIST
- ISO 6983-1 :2009, Systèmes d'automatisation et intégration, format de programme NCOrganisation internationale de normalisation
- Référence rapide LinuxCNC G-CodeLinuxCNC.org
- Code GWikipédia (aperçu et historique de RS-274)
Articles connexes
- Comprendre les bases de l'usinage des tours et des moulinscomment fonctionnent réellement les machines sur lesquelles ces codes fonctionnent
- Outils de coupe de tour essentiels pour les débutantsjumeler le bon outil avec votre programme de tournage
- Explication des machines à tour vertical CNCtourner des pièces de grand diamètre
- Projets que vous pouvez créer avec des toursmettre vos programmes au travail
Revu par l'équipe d'ingénierie 1TP3 T, 25+ ans de construction de tours CNC et de centres d'usinage Vous avez une question sur la programmation d'une de nos machines ? Parlez à notre équipe d'ingénieurs.













