List of G and M Codes for CNC Programming
Search and filter ISO commands by control, machine or function.
El lenguaje de programación CNC se basa en bloques de código estructurados para controlar trayectorias, avances y funciones de la máquina herramienta. En esta lista de códigos G y M encontrarás una referencia rápida de los comandos más utilizados en mecanizado para torno y fresadora. Aunque existe un estándar ISO, la ejecución exacta de un ciclo fijo o una interpolación avanzada puede variar según el control numérico Fanuc, Heidenhain, Siemens, Haas y los parámetros del fabricante.
Buscador de códigos
269 códigosAdd my codesClose my codes
FiltrosClose filters
G00
MovimientoPosicionamiento rápido
Movimiento rápido hasta una coordenada sin controlar avance de corte.
G01
MovimientoInterpolación lineal
Movimiento lineal controlado con avance programado.
G02
MovimientoInterpolación circular horaria
Arco circular en sentido horario en el plano activo.
G02.1/G03.1
InterpolaciónInterpolación espiral (circular threading B)
Interpolación espiral CW/CCW: movimiento helicoidal continuo con paso variable; usado en roscado B y algunas operaciones de lapeado.
G02.2/G03.2
InterpolaciónInterpolación evolvente
Interpolación a lo largo de una evolvente de círculo (involute interpolation), usada en fabricación de engranajes.
G03
MovimientoInterpolación circular antihoraria
Arco circular en sentido antihorario en el plano activo.
G04
Control de programaPausa temporizada
Detiene temporalmente la ejecución durante un tiempo o número de revoluciones definido.
G05/G05.1
Alta velocidadAlta velocidad / AI contour
Activa funciones de mecanizado de alta velocidad, anticipación de trayectoria o control avanzado de contorno.
G5/G5.1/G5.2
Interpolación avanzadaSplines y NURBS
Interpolaciones por spline cúbica, spline cuadrática o NURBS en controles que lo soportan.
G05.4
Alta velocidadHRV3/HRV4 on/off
Activa o desactiva el control de corriente HRV3/HRV4 (High Response Vector) para mejorar la precisión de servo en alta velocidad.
G06.2
Alta velocidadInterpolación NURBS
Interpolación de curvas NURBS (Non-Uniform Rational B-Spline) directamente en el control, reduciendo puntos de bloque y mejorando la suavidad.
G07
InterpolaciónInterpolación eje hipotético
Define un eje hipotético (virtual) para interpolación; usado en mecanizado de piezas con simetría o para coordinar movimientos no físicos.
G7/G8
TornoModo diámetro/radio en torno
Selecciona si las coordenadas X de torno se interpretan como diámetro o radio según control.
G08/G09
TrayectoriaSuavizado y parada exacta puntual
Funciones usadas para activar/desactivar suavizado o exigir parada exacta en un bloque concreto según control.
G10
OffsetsEscritura de offsets
Permite escribir offsets de herramienta, trabajo u otros datos desde el programa.
G12/G13
Ciclos fresadoCajera circular
Ciclo de interpolación circular para mecanizar cajeras o patrones circulares según control.
G15/G16
CoordenadasCoordenadas polares
Activa o cancela programación en coordenadas polares, normalmente radio y ángulo.
G17/G18/G19
PlanoSelección de plano
Define el plano activo para arcos y compensaciones.
G20/G21
UnidadesUnidades pulgadas / milímetros
Selecciona programación en pulgadas o milímetros.
G22/G23
SeguridadLímites de carrera programados
Activa o desactiva comprobación de zona/límites almacenados según control.
What are preparatory (G) and auxiliary (M) codes?
Los códigos G preparan y gobiernan el movimiento de la herramienta: desplazamientos rápidos, interpolación lineal, interpolación circular, ciclos fijos, planos de trabajo y compensaciones. Los códigos M controlan funciones auxiliares de la máquina como husillo, refrigerante, parada, cambio de herramienta o fin de programa.
Main programming categories
Movement and interpolation (G00, G01, G02, G03)
G00 se usa para posicionamiento rápido, G01 para avance lineal de corte y G02/G03 para interpolación circular horaria o antihoraria. Son la base de la mayoría de programas CNC en fresadora y torno.
Ciclos fijos y subprogramas
Los ciclos fijos simplifican operaciones repetitivas como taladrado, roscado, mandrinado o desbaste. Su sintaxis cambia mucho entre controles, por lo que conviene validar siempre el manual de máquina.
Preguntas Frecuentes (FAQ)
What is the difference between a G code and an M code?
Los códigos G (preparatorios) definen la geometría y el movimiento de la herramienta, como interpolaciones lineales o ciclos de desbaste. Los códigos M (misceláneos o auxiliares) controlan el hardware de la máquina, como el encendido del husillo (M03), el refrigerante (M08) o el fin de programa (M30).
Are G-codes universal for all lathes and milling machines?
No totalmente. Aunque los movimientos básicos como G00, G01, G02 y G03 son universales, los ciclos fijos complejos, como G71 para desbaste o G83 para taladrado profundo, tienen sintaxis y parámetros diferentes según uses Fanuc, Haas, Siemens o Heidenhain.
What is the G01 code and when is it used?
G01 es el código de interpolación lineal. Se utiliza para ordenar a la herramienta que se mueva en línea recta hasta una coordenada específica a un avance de corte controlado y programado por la letra F.
What is the difference between codes G90 and G91?
El código G90 establece el sistema de posicionamiento absoluto, donde todas las coordenadas se miden desde el cero pieza (origen). El G91 activa el posicionamiento incremental, donde cada nuevo movimiento se calcula desde la posición actual de la herramienta.
What are G41 and G42 codes used for in machining?
Estos códigos activan la compensación del radio de la herramienta o plaquita. G41 compensa la trayectoria hacia la izquierda del contorno programado según el sentido de avance, y G42 hacia la derecha. Se usan para mecanizar perfiles, chaflanes y radios con medidas exactas sin clavar la herramienta.
How are fixed cycles and compensations cancelled?
Para evitar colisiones, es obligatorio cancelar las funciones modales cuando ya no se necesitan. El código G80 cancela cualquier ciclo fijo activo, como los de taladrado. G40 cancela la compensación de radio de herramienta, y G49 cancela la compensación de longitud, muy usado en fresadora.
What are the essential auxiliary M codes?
Los códigos de hardware más estandarizados son M03 (giro del husillo a derechas), M04 (giro a izquierdas), M05 (parada del husillo), M08 (encendido del refrigerante o taladrina), M09 (apagado del refrigerante) y M30 (fin del programa, detención de ejes y rebobinado).
Do Fanuc canned cycles work the same on other controls?
No. Aunque los movimientos de interpolación (G00 a G03) son un estándar ISO muy extendido, la sintaxis de los ciclos complejos cambia. Por ejemplo, el ciclo de desbaste en torno es un G71 en Fanuc, pero en Siemens requiere una estructura de parámetros diferente, como CYCLE95.
What does the letter F, S and T mean in the CNC code?
Acompañando a los códigos G y M, la letra F (Feed) define el avance de corte, la letra S (Speed) establece las revoluciones por minuto o la velocidad de corte del husillo, y la letra T (Tool) llama al número de la herramienta y su corrector en la torreta o cargador.
Related tools
CNC simulator & editor
CNC IDE: editing with G/M tooltips, line inspector, conversion between controls and 2D/3D toolpath.
CNC Alarms Guide
CNC Alarms and Solutions Guide. Enter the error code or symptom to find the cause and how to repair it at the machine.
Calculate CT (cycle time)
Estimate the cycle time of a CNC program: cutting, rapids, canned cycles, dwells and tool changes. Parts/hour and breakdown by item.