Esta lista de códigos G y M cubre los códigos que realmente escribe para ejecutar una fresadora o torno CNC: cada código G común que controla el movimiento y la geometría, además de los códigos M que cambian las funciones de la máquina como el husillo y el refrigerante. Ya sea que lea programas CNC en el control o edite manualmente un archivo que escupe su software CAM, las tablas y ejemplos a continuación están diseñados para ser una única referencia que puede mantener abierta en una segunda pestaña, que cubre tanto el fresado como el torneado, y las diferencias entre Fanuc, Haas, Siemens, GRBL y LinuxCNC.
Referencia rápida: G vs M de un vistazo
| Código G | Preparatoria / geometría « le dice a la máquina donde y cómo la herramienta se mueve (G00 rápido, alimentación G01, arcos G02/G03). |
| Código M | Varios / máquina « activa y desactiva funciones (husillo M03 encendido, refrigerante M08 encendido, programa final M30). |
| Formato | Dirección de palabra: N50 G01 X1.5 Z-0.75 F0.008 M08 “ una letra + un número por ”palabra”. |
| Estándares | Arraigado en EIA RS-274 y ISO 6983-1:2009; el intérprete abierto del que descienden la mayoría de los controladores es el NIST RS274/NGC especificaciones. |
Código G frente a código M: ¿Cuál es la diferencia?

Ordenar cada código en uno de dos depósitos es la forma más rápida de leer cualquier programa. Un Código G es un comando preparatorio, la “G” generalmente se explica como Geometría, porque estas palabras le dicen al cortador adónde ir y por qué camino. Un Código M es un comando diverso, o de máquina: activa un interruptor en algún lugar de la máquina, como arrancar el husillo o encender el refrigerante de inundación. Ambos viajan dentro de la misma gramática de dirección de palabras que la EIA estandarizó para el control numérico a principios de la década de 1960 y que ISO luego se incorporó a ISO 6983.
Aquí está la división práctica que puedes aplicar a la vista:
| Pregunta | Código G | Código M |
|---|---|---|
| ¿Qué controla? | Movimiento de herramientas, coordenadas, interpolación, compensaciones | Husillo, refrigerante, cambio de herramienta, flujo de programa |
| ¿Mueve los ejes? | Muchas veces sí (G00, G01, G02) | No |
| ¿es modal? | Muchos lo son (permanecen activos hasta que se cancelen) | Algunos (M03/M05); muchos son de una sola vez |
| Ejemplo | G01 X2.0 F10.0 |
M08 (refrigerante encendido) |
Existen alrededor de 100 códigos G en todos los dialectos, aunque cualquier máquina utiliza un conjunto de trabajo mucho más pequeño que ese. Los códigos M son menos consistentes y mucho menos consistentes entre los constructores, un punto al que vale la pena aferrarse, porque explica la mayoría de los dolores de cabeza que “este programa funcionó bien en la otra máquina” se cubrieron más adelante. Si todavía estás construyendo un modelo mental de la máquina en sí, nuestra cartilla sobre el conceptos básicos del mecanizado de tornos y molinos combina bien con esta referencia de código.
Cómo leer un bloque de código G: letras de dirección y sintaxis

Una línea de código CNC se llama bloquear, y cada bloque es sólo una cadena de “palabras”. Cada palabra es una letra (la dirección) seguida de un número (el valor). Una vez que sepas lo que significan las letras, podrás leer casi cualquier bloque en voz alta. Se lo enseñamos a nuevos operadores como Regla NG-XYZ-FSTMlas letras tienden a aparecer aproximadamente en ese orden, y ese orden coincide con el orden en el que piensa la máquina: número de línea, qué tipo de movimiento, a dónde, qué tan rápido, qué tan rápido girar, qué herramienta y qué interruptor girar.
| Carta | Significado | Ejemplo |
|---|---|---|
| N | Número de bloque (línea) | N50 |
| G | Comando preparatorio/movimiento | G01 |
| XY Z | Posición del eje (destino) | X1,5 Z-0,75 |
| IJ K | Centro de arco, relativo al inicio | I0,5 J0 |
| F | Tasa de alimentación | F0.008 |
| S | Velocidad del husillo | S1200 |
| T | Numărul stocurilor | T0303 |
| M | Función de la máquina | M08 |
Lea este bloqueN50 G01 X1.5 Z-0.75 F0.008 M08y dice: “En la línea 50, alimente en línea recta a X1.5, Z-0.75 a 0.008 por rev y encienda el refrigerante contra inundaciones”. Ese es todo el truco. Esa misma lógica que impulsa a Máquina de torno CNC impulsa un centro de mecanizado; sólo cambian las letras del eje y un puñado de ciclos enlatados.
A modal el código permanece activo después de su bloqueo hasta que algo en el mismo grupo lo cancela. El comando G01 una vez y cada bloque siguiente sigue alimentándose en una línea hasta que llamas a G00, G02 o G03. Los códigos no modales (de un solo disparo), como G04, actúan solo en el bloque donde aparecen. Mezclarlos es la raíz de la mayoría de los fallos de “¿por qué la herramienta se hundió rápidamente?”.
Grupos modales: por qué algunos códigos se cancelan entre sí

Aquí está el concepto que convierte una lista de códigos en un modelo mental funcional. Los códigos G están ordenados en grupos modales, y sólo un código de cada grupo puede estar activo a la vez. Llame a un segundo código del mismo grupo y reemplazará silenciosamente al primero. Eso es por diseño, también es por eso que un bloque con dos códigos de movimiento genera una alarma. Comprender los grupos responde a la pregunta para principiantes, “¿por qué un código G cancela otro?”
| Grupo Modal | Códigos del Grupo | Predeterminado en Encendido |
|---|---|---|
| Movimiento | G00, G01, G02, G03 | Generalmente G00 |
| Selección de avión | G17, G18, G19 | G17 (molino), G18 (torno) |
| Unidades | G20, G21 | Parámetro de la máquina |
| Modo distancia | G90, G91 | G90 absoluto |
| Comp. cortadora | G40, G41, G42 | G40 apagado |
| Compensaciones de trabajo | G54-G59 | G54 |
| Modo alimentación | G93, G94, G95 | G94 (molino) |
| Ciclo enlatado | G73-g89, G80 cancelă | G80 apagado |
Entonces cuando escribes G90 G54 G17 G00 X0 Y0 en la parte superior de un programa, estás configurando un código de cada uno de varios grupos, distancia absoluta, desplazamiento de trabajo 1, plano XY, movimiento rápido y todos permanecen bloqueados hasta que los cambias. Esto es lo que la gente quiere decir con una línea de “inicio seguro”.
Lista completa de códigos G (códigos comunes G00-g99)

A continuación se muestra la lista maestra de códigos G, agrupados por lo que hace cada código. Estos son los códigos que encuentra en la gran mayoría de los controles estilo Fanuc; algunos tienen peculiaridades dialectales anotadas en la sección de comparación de controles. Marque esto como favorito, también funciona como hoja de trucos imprimible que la mayoría de las personas buscan cuando buscan un “código g, lista de códigos m pdf”
| Código | Grupo | Función |
|---|---|---|
| G00 | Movimiento | Posicionamiento rápido (movimiento sin cortes) |
| G01 | Movimiento | Movimiento de alimentación lineal a la velocidad F |
| G02 | Movimiento | Interpolación circular en el sentido de las agujas del reloj (arco) |
| G03 | Movimiento | Interpolación circular en sentido antihorario |
| G04 | Movimiento | Permanecer (pausa), P o X por tiempo |
| G17 / G18 / G19 | Avión | Seleccione el plano de trabajo XY / XZ / YZ |
| G20 / G21 | Unidades | Programación pulgada/milimétrica |
| G28 | Movimiento | Volver a la posición de inicio de la máquina (referencia) |
| G30 | Movimiento | Volver al 2o / 3o punto de referencia |
| G40 / G41 / G42 | Comp | Compensación del cortador (radio) apagado / izquierda / derecha |
| G43/G49 | Comp | Compensación/cancelación de longitud de herramienta |
| G53 | Coordinar | Mover en coordenadas de la máquina (cancela el desplazamiento) |
| G54-G59 | Coordinar | Sistemas de coordenadas de trabajo 1--6 |
| G73/G83 | Enlatado | Perforación de picoteo de alta velocidad/picoteo de retracción total |
| G80 | Enlatado | Cancelar ciclo enlatado |
| G81/G82 | Enlatado | Taladro simple/taladro con permanencia |
| G84 | Enlatado | Ciclo de tapping |
| G85/G86 | Enlatado | Ciclos aburridos |
| G90/G91 | Distancia | Programación absoluta/incremental |
| G93 / G94 / G95 | Modo alimentación | Tiempo inverso / por minuto / por avance |
| G96/G97 | Husillo | Velocidad/cancelación constante en superficie (rpm constantes) |
| G98/G99 | Enlatado* | Regrese al plano inicial / R después de un ciclo (molino) |
*En muchos controles de torno Fanuc, G98/G99 establece alimentación por minuto y alimentación por revolución, una de las diferencias dialectales que se detallan a continuación.
Lista completa de códigos M (funciones de máquina y programa)

Los códigos M manejan todo lo que no es movimiento: arrancar y detener el husillo, cambiar el refrigerante, cambiar las herramientas y finalizar el programa. El conjunto común es corto y usarás una docena de estos todos los días.
| Código | Función | Notas |
|---|---|---|
| M00 | Parada del programa (obligatoria) | Presione inicio del ciclo para reanudar |
| M01 | Parada opcional | Sólo si está activada la “parada opcional” |
| M02 | Fin del programa | Sin rebobinar |
| M03/M04 | Husillo en CW/CCW | Necesita un valor S |
| M05 | Tope de husillo | — |
| M06 | Cambio de herramienta | Se empareja con una palabra T |
| M07 / M08 / M09 | Refrigerante de niebla/inundación encendido, refrigerante apagado | M07 no en todas las máquinas |
| M29 | Modo de roscado rígido | Fanuc; precede al G84 |
| M30 | Finalizar programa y rebobinar | Se reinicia hasta arriba |
| M98/M99 | Llamada/devolución de subprograma | M99 también realiza un bucle en un programa |
Los códigos M son la parte menos estandarizada del lenguaje. Los códigos M de refrigerante, paleta y auxiliares van de constructor en constructor, y las máquinas con hardware adicional agregan el suyo propio. Siempre consulte la página de códigos M en el manual de su máquina antes de asumir que un número significa lo que significó en el último control que ejecutó.
Códigos G y M para Tornos CNC (Giro)

La mayoría de las listas de códigos publicadas están escritas para fresadoras, por lo que los programadores de torneado se quedan adivinando. Los tornos comparten el movimiento central y los códigos de programa, pero agregan una capa específica de torneado que los molinos no tienen. Si ejecuta un centro de torneado de plataforma inclinada o plana, estos son los códigos que importan.
| Código de torno | Función |
|---|---|
| G50 | Velocidad máxima del husillo de sujeción (o coordenada establecida, dependiente del control) |
| G96/G97 | Velocidad constante en superficie activada/desactivada « el par de caballos de batalla para girar |
| G70 | Ciclo final |
| G71 | Ciclo de torneado brusco (eliminación de existencias) |
| G72 | Ciclo de cara rugosa |
| G74/G75 | Ciclos de perforación/ranurado de picoteo |
| G76 | Ciclo de enhebrado |
| G41/G42/G40 | Comp. de radio de punta de herramienta izquierda / derecha / apagado |
La velocidad constante en la superficie es la gran diferencia conceptual. Llamar G96 S500 y el control varía las rpm del husillo para que la velocidad de corte de la herramienta se mantenga en 500 pies superficiales por minuto incluso cuando el diámetro se reduce, exactamente lo que desea para un acabado limpio en una pieza cónica o revestida. Cambiar a G97 S1500 para bloquear unas rpm fijas, que necesita para perforar en el centro o enhebrar. En los controles estilo Fanuc enviamos en ANTISHICNC torno CNC de cama inclinada modelos, un G97 faltante antes de un ciclo de perforación es uno de los errores más comunes del primer programa que vemos, el husillo sigue acelerando a medida que la herramienta se acerca al centro.
“En el trabajo de torneado, el orden importa tanto como los códigos. Configure su compensación de trabajo, luego G96 con una abrazadera de velocidad G50, luego su herramienta, omita la abrazadera y la primera pasada de pequeño diámetro puede intentar hacer girar el husillo más allá de su límite seguro”
¿qué es el código G94 G?
G94 establece el alimentación por minuto Modo: el valor F se lee como unidades (pulgadas o milímetros) de recorrido de la herramienta por minuto. Vive en el grupo modal en modo de alimentación junto con G93 (tiempo inverso) y G95 (alimentación por revolución), y en los controles de fresado, G94 es el valor predeterminado normal. El cierre es el torno: en muchos controles de giro Fanuc, el par en modo de alimentación es en realidad G98 (por minuto) y G99 (por revolución), mientras que G94/G95 puede asignarse a otras funciones. Al girar casi siempre se desea alimentación por revolución, por lo que el acabado se mantiene constante independientemente de las rpm, por lo que la mayoría de los programas de torno configuran G99 (o G95, según el control). En caso de duda, verifique qué “sistema” utiliza su control, está documentado en el manual de programación en códigos de modo de alimentación.
Explicación de los ciclos enlatados: taladrado, roscado y perforado

A ciclo enlatado incluye una operación repetida, taladrar, retraer, mover, perforar nuevamente en una línea. En lugar de programar cada picoteo a mano, llama al ciclo una vez, enumera las posiciones de los agujeros y cancela con G80. Guardan docenas de líneas y hacen que los patrones de agujeros sean legibles de un vistazo.
- ✔G81perforación recta: rápida al plano R, alimentación a profundidad Z, salida rápida.
- ✔G83perforación de picoteo: picotea hacia abajo en incrementos Q, retrayéndose completamente para eliminar astillas en agujeros profundos.
- ✔G84roscado: introduce, invierte el husillo, retrocede en el paso de la rosca.
- ✔G85/G86perforación: dimensionamiento preciso y de bajo avance de un pozo preperforado.
Parece un bloque de perforación de picoteo G83 Z-1,0 R0,1 Q0,2 F8,0taladre hasta Z-1.0, comenzando desde un plano de retracción de 0,1, en 0,2 picos, a 8 pulgadas por minuto. Enumere las coordenadas XY de su agujero después y el ciclo se repetirá en cada uno hasta G80.
¿qué hace el G84 en CNC?
G84 es el ciclo de golpeteo de la derecha. Alimenta el grifo a profundidad, detiene e invierte el husillo, luego retrocede, todo sincronizado para que el grifo siga su propio hilo sin romperlo. La velocidad de alimentación debe coincidir con el cable del hilo: la alimentación es igual a las rpm del husillo multiplicadas por el paso. Para un grifo M8×1.25 a 300 rpm en modo de alimentación por minuto, eso es 300 ×1.25 = 375 mm/min. En los controles Fanuc normalmente ordenas M29 (modo de golpeteo rígido) justo antes de G84 para que el husillo y el eje Z permanezcan bloqueados juntos, lo que te permite tocar con precisión sin un soporte de tensión-compresión. Coloque el plano R lo suficientemente por encima de la pieza para permitir que el husillo alcance velocidad y retroceda limpiamente. Olvidar M29 y ejecutar G84 en modo “flotante” en un soporte rígido es una forma clásica de hacer clic en un grifo.
Un programa completo de ejemplo de código G (molino y torno)

Leer códigos en una tabla es una cosa; verlos en un programa real es donde hace clic. Aquí hay dos ejemplos breves y completamente comentados. Cada línea se asigna a las tablas anteriores.
Ejemplo de fresadoenfrente y taladre un agujero:
O1001 N10 G90 G54 G17 G21 (absoluto, desplazamiento 1, plano XY, mm) N20 G00 X0 Y0 (rápido al arranque) N30 T1 M06 (herramienta de carga 1) N40 S1200 M03 (husillo en CW, 1200 rpm) N50 G43 H1 Z25.0 (desplazamiento de longitud de herramienta, Z seguro) N60 M08 (refrigerante de inundación activado) N70 G83 Z-15.0 R2.0 Q3.0 F150 (perforación con picoteo en el orificio) N80 G80 (ciclo de cancelación) N90 M09 (refrigerante desactivado) N100 G28 Z0 M05 (casa Z, tope del husillo) N110 M30 (finalizar y rebobinar)
Ejemplo giratoriorugoso y acabado de un diámetro:
O2001 N10 G21 G99 G40 (mm, alimentación por rev, compensación) N20 G50 S2500 (husillo máximo de abrazadera 2500 rpm) N30 T0101 (herramienta giratoria, compensación 1) N40 G96 S180 M03 (velocidad superficial constante 180, husillo CW) N50 G00 X52.0 Z2.0 M08 (material de aproximación, refrigerante encendido) N60 G71 U2.0 R1.0 (ciclo de giro brusco) N70 G70 P80 Q120 (paso de acabado sobre el perfil) N130 G97 S1200 (volver a rpm constantes) N140 G00 X200 Z200 M09 (retraer, quitar refrigerante) N150 M05 (parada del husillo) N160 M30 (programa final)
Antes de cualquier primera ejecución, ejecute en seco el archivo en un simulador. Los simuladores y espectadores de código G en línea gratuitos captarán un arco invertido o un G80 faltante en segundos, mucho más barato que captarlo con una herramienta en la pieza. El mismo hábito de verificar primero se aplica ya sea que estés cortando un Centro de mecanizado vertical CNC o un centro de giro.
Diferencias de códigos G y M por control: Fanuc, Haas, Siemens, GRBL, LinuxCNC

Aquí está la verdad que ocultan las listas de control único: no hay un código G universal. Los códigos de movimiento (G00-G03) y los códigos de inicio seguro permanecen casi idénticos en todas partes, esa parte realmente es estándar. Pero los parámetros del ciclo enlatado, la macrosintaxis, las asignaciones de modo de alimentación y la mayoría de los códigos M se desplazan entre los constructores. El “código G estándar” es, más allá de lo básico, en parte un mito.
| Control | Donde difiere |
|---|---|
| Fanuc | La línea de base de facto; variables macro B, modo de alimentación del torno vía grifo rígido G98/G99, M29 |
| Haas | Como Fanuc con códigos Haas M agregados (por ejemplo, subllamada local M97) y comportamiento basado en configuraciones |
| Siemens (SINUMERIK) | Admite código G además de su propio lenguaje de alto nivel y pasos ShopTurn/ShopMill |
| GRBL | Un subconjunto de enrutadores para aficionados y hardware de clase impresora 3D; sin ciclos enlatados |
| LinuxCNC | Sigue de cerca el dialecto NIST RS274/NGC; códigos G adicionales para splines y sondeo |
Los maquinistas suelen informar la misma lección: un programa probado en un control puede fallar o, peor aún, funcionar mal en otro, generalmente debido a una diferencia entre el modo de alimentación o el ciclo enlatado en lugar de un código de movimiento. Arreglarlo es un hábito, no un código, volver a publicar desde CAM para el control de destino o probar el programa en la máquina real en un solo bloque antes de confiar en él. El publicado libremente Referencia del código G de LinuxCNC es una línea de base neutral útil cuando desea ver cómo un intérprete “según el estándar” define un código.
Errores comunes del código G y del código M

Los códigos en sí son simples; los errores provienen del contexto. Algunos patrones explican la mayoría de los problemas que enfrentan los nuevos programadores.
- Abrir con línea de arranque seguro (G90 G54 G17 G40 G80)
- Cancela ciclos enlatados con G80 antes del siguiente movimiento
- Coloque G97 antes de perforar o enhebrar un torno
- Bloque único la primera ejecución de cualquier programa nuevo
- Dejando G91 encendido, el siguiente programa se ejecutará de forma incremental
- Suponiendo que un código M significa lo mismo en todas las máquinas
- Tocando con G84 pero olvidando el modo rígido M29
- Dirección de arco incorrecta (G02 vs G03) o signo I/J/K
Si está pasando del mecanizado manual al CNC, construir el mismo instinto que tiene con los controles manuales ayuda, la forma en que un operador lee un dial es la misma vigilancia lectura digital (DRO) recompensas, y se traslada directamente a la lectura del código antes de presionar inicio del ciclo. Hacer coincidir las herramientas adecuadas con el trabajo importa al mismo tiempo; nuestra guía para herramientas de corte de tornos cubre ese lado.
Qué está cambiando: programación conversacional, CAM e IA

Escribir a mano programas completos ya no es el trabajo diario que alguna vez fue. A partir de 2026, la mayor parte del código G de producción se genera mediante el software CAM y su posprocesador, y luego se edita en la máquina. Vale la pena planificar dos turnos.
Primero, programación conversacional Sigue extendiéndose. Controles como Haas y Siemens ShopTurn permiten a un operador describir una característica, un orificio, un hilo, una cara y el control escribir el código G debajo. Reduce la barrera para piezas simples, pero no reemplaza conocer los códigos: en el momento en que un programa conversacional necesita una edición o emite una alarma, estás de vuelta en el código G. En segundo lugar, la simulación se ha convertido en un paso predeterminado en lugar de un lujo. El interés de búsqueda en los simuladores de código G se sitúa cerca de las 1.000 búsquedas al mes, una señal de que verificar antes del corte es ahora una práctica estándar. Las herramientas de ruta de herramientas asistidas por IA que ajustan las colisiones de alimentación y bandera están llegando a la CAM convencional, aunque proponen cambios que un programador aún revisa.
Si está instalando una tienda o capacitando a operadores en 2026, la medida práctica es enseñar primero la alfabetización en código G y tratar las herramientas conversacionales y de inteligencia artificial como aceleradores encima. Los fundamentos de esta lista son exactamente lo que generan esas herramientas y lo que leerá cuando sea necesario arreglar algo. Para ver cómo la madurez de la programación influye en la compra de una máquina, nuestra descripción general de tornos giratorios metálicos paseos por el rango a través de opciones de control.
Preguntas frecuentes
P: ¿Cuál es la diferencia entre un código G y un código M?
Ver respuesta
P: ¿Cuál es el código G más común?
Ver respuesta
P: ¿Qué significa el código M en CNC?
Ver respuesta
P: ¿Los códigos G y M son iguales en todas las máquinas CNC?
Ver respuesta
P: ¿Qué códigos G y M utilizan los tornos CNC?
Ver respuesta
P: ¿Dónde puedo obtener una lista de códigos G y M en PDF o una hoja de trucos?
Ver respuesta
¿Programar un nuevo centro de torne
ANTISHICNC construye tornos CNC que ejecutan código G estándar estilo Fanuc, con opciones conversacionales y soporte de 3 años en más de 40 países. Cuéntanos tu parte y especificaremos la máquina y el control adecuados.
Por qué juntamos esta lista
Nos ganamos la vida construyendo tornos CNC, y lo primero que preguntan los nuevos propietarios después de la entrega es alguna versión de “¿dónde está la lista de códigos?” La mayoría de las referencias en línea cubren solo el fresado o se detienen en una marca de control, por lo que escribimos una que incluye códigos de molino y torno, incluidos los ciclos de torneado G96/G97 y G70-G76. Nuestras máquinas funcionan todos los días, en un solo lugar, con las diferencias de control detalladas.
Referencias y fuentes
- El intérprete NIST RS274/NGC, versión 3Instituto Nacional de Estándares y Tecnología (NIST)
- Intérprete NIST RS274NGC, informe completo (PDF)Informe interno del NIST
- ISO 6983-1:2009, Sistemas e integración de automatización, formato de programa NCOrganización Internacional de Normalización
- Referencia rápida del código G de LinuxCNCLinuxCNC.org
- Código GWikipedia (descripción general e historia de RS-274)
Artículos relacionados
- Comprensión de los conceptos básicos del mecanizado de tornos y molinoscómo funcionan realmente las máquinas en las que se ejecutan estos códigos
- Herramientas esenciales para cortar tornos para principiantesemparejar la herramienta adecuada con su programa de torneado
- Explicación de las tornos verticales CNCtorneado de piezas de gran diámetro
- Proyectos que puedes crear con tornosponer en marcha sus programas
Revisado por el equipo de ingeniería de ANTISHICNC, más de 25 años construyendo tornos CNC y centros de mecanizado. ¿Tiene alguna pregunta sobre la programación de una de nuestras máquinas? Habla con nuestro equipo de ingeniería.













