G-Code & M-Code
Referenz
Ihre vollständige CNC-Referenz: Alle wichtigen G- und M-Codes für CNC-Fräsen und -Drehen. Jeder Code mit Beschreibung, Syntax, Beispiel und Praxistipp — aktualisiert März 2026.
Schnelle Positionierung zum Zielpunkt ohne Bearbeitung. Die Maschine fährt mit maximaler Geschwindigkeit.
G00 X__ Y__ Z__
G00 X100.0 Y50.0 Z5.0
G0 (identisch)
L X… Y… Z… FMAX
Nie im Material verwenden! Nur für Positionsbewegungen über dem Werkstück.
Geradlinige Bewegung mit definiertem Vorschub. Hauptbefehl für Fräs- und Drehbearbeitung.
G01 X__ Y__ Z__ F__
G01 X50.0 Y25.0 F200
G1 X=… Y=… F…
L X… Y… F…
Vorschub F immer angeben! Ohne F gilt der zuletzt programmierte Vorschub.
Kreisbogen im Uhrzeigersinn. Definiert durch Endpunkt und Mittelpunkt (I/J/K) oder Radius (R).
G02 X__ Y__ I__ J__ F__ oder G02 X__ Y__ R__ F__
G02 X30.0 Y10.0 I15.0 J0 F150
G2 X=… Y=… CR=… F… (oder I/J)
CC X… Y… / C X… Y… DR-
I/J/K = inkrementelle Abstände vom Startpunkt zum Mittelpunkt. R-Programmierung nur für Bögen < 180°.
Kreisbogen gegen den Uhrzeigersinn. Syntax identisch zu G02.
G03 X__ Y__ I__ J__ F__
G03 X30.0 Y10.0 I15.0 J0 F150
G3 X=… Y=… CR=… F…
CC X… Y… / C X… Y… DR+
Die Drehrichtung bezieht sich auf die Betrachtung in negativer Achsrichtung (von oben bei G17).
Wählt die XY-Ebene für Kreisinterpolation und Werkzeugkompensation. Standardeinstellung der meisten Steuerungen.
G17
G17 G02 X30 Y10 I15 J0 F150
G17 (identisch)
Automatisch (Bearbeitungsebene über TOOL CALL)
Standard bei den meisten Fräsmaschinen. In der Regel am Programmanfang setzen.
Wählt die XZ-Ebene. Wird häufig beim Drehen oder bei Fräsen in der XZ-Ebene verwendet.
G18
G18 G02 X20 Z-10 I10 K0 F100
G18 (identisch)
CYCL DEF 19.0 BEARBEITUNGSEBENE
Standard bei Drehmaschinen. Kreisbögen mit I/K statt I/J.
Wählt die YZ-Ebene für Kreisinterpolation.
G19
G19 G03 Y20 Z-5 J10 K0 F120
G19 (identisch)
CYCL DEF 19.0 BEARBEITUNGSEBENE
Selten verwendet, hauptsächlich bei 5-Achs-Bearbeitungen.
Alle Koordinaten und Vorschübe werden in Zoll interpretiert.
G20
G20 G01 X1.0 Y0.5 F5.0
G70
BEGIN PGM … INCH
In Europa selten verwendet. Immer am Programmanfang definieren, um Verwechslungen zu vermeiden.
Alle Koordinaten und Vorschübe werden in Millimetern interpretiert. Standard in Europa.
G21
G21 G01 X25.4 Y12.7 F200
G71
BEGIN PGM … MM
Standard in Deutschland und Europa. Immer am Programmanfang setzen!
Fährt über einen Zwischenpunkt zum Maschinen-Referenzpunkt (Home).
G28 X0 Y0 Z0 oder G28 G91 Z0
G28 G91 Z0 G28 G91 X0 Y0
SUPA G0 Z=DC(0)
L Z… FMAX M91
Zuerst Z-Achse freifahren, dann XY! Vermeidet Kollisionen mit Spannmitteln.
Bewegung im Maschinenkoordinatensystem. Wirkt nur im aktuellen Satz.
G53 G00 X__ Y__ Z__
G53 G00 Z0
SUPA G0 X=… Y=… Z=…
L X… Y… Z… FMAX M91
Satzweise wirksam! Wird oft für sichere Werkzeugwechselposition verwendet.
Aktiviert das 1. Werkstück-Koordinatensystem (WKS). Bis zu 6 WKS (G54–G59) möglich.
G54
G54 G00 X0 Y0
G54 / TRANS X=… Y=… Z=…
CYCL DEF 7.0 NULLPUNKT
Nullpunkte in der Steuerung hinterlegen. G54 = häufigstes WKS für Einzelteile.
Aktiviert das 2. Werkstück-Koordinatensystem.
G55
G55
G55
CYCL DEF 7.0 NULLPUNKT (2. Preset)
Für Mehrfachspannung oder Paletten-Bearbeitung.
Aktiviert das 3. Werkstück-Koordinatensystem.
G56
G56
G56
CYCL DEF 7.0 NULLPUNKT (3. Preset)
Bei Mehrseitenbearbeitung oder Vorrichtungen mit mehreren Spannstellen.
Koordinaten beziehen sich auf den Nullpunkt des WKS. Standard bei den meisten Programmen.
G90
G90 G01 X100 Y50 F200
G90 (identisch)
Standard (Absolutwerte ohne Vorzeichen-Präfix)
Empfohlen für die meisten Programme. Einfacher zu lesen und zu prüfen.
Koordinaten beziehen sich auf die aktuelle Position. Jede Bewegung ist relativ.
G91
G91 G01 X10 Y5 F200
G91 (identisch)
L IX… IY… (I-Präfix für inkremental)
Nützlich für Wiederholmuster. Achtung: Fehler addieren sich auf!
Bohrzyklus mit Spanbrechen. Bohrer fährt kurz zurück (Lüfthub), bricht den Span und bohrt weiter.
G73 X__ Y__ Z__ R__ Q__ F__
G73 X25 Y25 Z-30 R2 Q5 F80
CYCLE83 (Tieflochbohren)
CYCL DEF 205 TIEFBOHREN
Q = Zustelltiefe pro Hub. Ideal für tiefe Bohrungen (> 3×D) mit langen Spänen.
Einfacher Bohrzyklus: Eilgang zum R-Punkt, Bohren bis Z, Eilgang zurück.
G81 X__ Y__ Z__ R__ F__
G81 X20 Y20 Z-15 R2 F120
CYCLE81 (Bohren/Zentrieren)
CYCL DEF 200 BOHREN
Nur für flache Bohrungen (< 3×D). Für tiefere Bohrungen G73 oder G83 verwenden.
Bohrzyklus mit vollständigem Rückzug zum R-Punkt. Bohrer wird komplett herausgezogen für Späneabfuhr.
G83 X__ Y__ Z__ R__ Q__ F__
G83 X25 Y25 Z-50 R2 Q5 F60
CYCLE83 (Tieflochbohren, Rückzug)
CYCL DEF 205 TIEFBOHREN (Q13=0)
Sicherster Zyklus für sehr tiefe Bohrungen. Langsamer als G73, aber bessere Späneabfuhr.
Gewindebohrzyklus mit synchronisierter Spindel. Spindel dreht am Bohrungsgrund automatisch um.
G84 X__ Y__ Z__ R__ F__
G84 X20 Y20 Z-20 R2 F1.5
CYCLE84 (Gewindebohren)
CYCL DEF 206 GEWINDEBOHREN
F = Gewindesteigung! Spindeldrehzahl und Vorschub müssen exakt synchron sein.
Löscht alle aktiven Bohr-/Bearbeitungszyklen.
G80
G80 G00 Z50
Automatisch nach CYCLE-Ende
CYCL DEF-Aufruf gilt nur einmal
Immer nach der letzten Bohrposition setzen! Verhindert unbeabsichtigte Zykluswiederholungen.
Vorschub wird in mm/min (Fräsen) angegeben. Standard beim Fräsen.
G94 F__
G94 F500
G94 (identisch)
F… (mm/min ist Standard)
Standard beim Fräsen. Vorschub bleibt konstant unabhängig von der Drehzahl.
Vorschub wird in mm/U angegeben. Standard beim Drehen.
G95 F__
G95 F0.2
G95 (identisch)
FU… (Umdrehungsvorschub)
Standard beim Drehen. Vorschub passt sich automatisch an Drehzahländerungen an.
Spindeldrehzahl wird automatisch angepasst, um konstante Schnittgeschwindigkeit zu halten.
G96 S__
G96 S200
G96 S=… LIMS=… (mit Drehzahlbegrenzung)
Nicht verfügbar (Frässteuerung)
Nur beim Drehen! S = Schnittgeschwindigkeit in m/min. Drehzahlbereich mit G50 begrenzen!
Spindel dreht mit fester Drehzahl, unabhängig vom Durchmesser.
G97 S__
G97 S3000
G97 S=…
TOOL CALL … S… (Drehzahl im Werkzeugaufruf)
Standard beim Fräsen und Bohren. Beim Drehen für Gewindeschneiden und Plandrehen.
Deaktiviert die Fräserradiuskompensation.
G40
G40 G01 X0 Y0 F300
G40 (identisch)
R0 (Kein Radius)
Immer vor dem Programmende oder Werkzeugwechsel setzen!
Fräser fährt links der programmierten Kontur. Für Gleichlauffräsen bei Außenkonturen.
G41 D__ G01 X__ Y__ F__
G41 D01 G01 X10 Y0 F200
G41 D1
RL (Radius Links)
D = Werkzeugnummer in der Korrekturtabelle. Anfahrbewegung muss lang genug sein!
Fräser fährt rechts der programmierten Kontur. Für Gleichlauffräsen bei Innenkonturen.
G42 D__ G01 X__ Y__ F__
G42 D01 G01 X10 Y0 F200
G42 D1
RR (Radius Rechts)
Konturverfolgungsrichtung beachten: Außenkontur = G41, Innenkontur = G42 (bei Gleichlauf).
Aktiviert die Werkzeuglängenkompensation in positiver Richtung.
G43 H__ Z__
G43 H01 Z50
Automatisch über D-Korrektur
TOOL CALL … (automatisch über Werkzeugtabelle)
H = Werkzeug-Offset-Nummer. Immer nach dem Werkzeugwechsel setzen!
Deaktiviert die Werkzeuglängenkompensation.
G49
G49 G28 G91 Z0
Automatisch bei neuem TOOL CALL
Automatisch bei neuem TOOL CALL
Vor dem Werkzeugwechsel setzen oder G28 verwenden (hebt G43 automatisch auf).
Stoppt das Programm. Bediener muss manuell fortsetzen (Cycle Start).
M00
G00 Z50 M00 (Werkstück prüfen)
M00 (identisch)
STOP (Programmhalt)
Für Messungen, Kontrollen oder manuelles Entgraten während des Programms.
Programmhalt nur aktiv, wenn "Optional Stop" an der Steuerung eingeschaltet ist.
M01
M01 (Optional: Maß prüfen)
M01 (identisch)
STOP M01
Ideal für Qualitätsprüfungen, die nicht bei jedem Durchlauf nötig sind.
Beendet das CNC-Programm. Spindel und Kühlmittel werden abgeschaltet.
M02
G28 G91 Z0 M02
M02 (identisch)
END PGM
Alternativ M30 verwenden (setzt zusätzlich den Programmzeiger zurück).
Spindel dreht im Uhrzeigersinn (von oben betrachtet) mit programmierter Drehzahl S.
M03 S__
M03 S3000
M3 S=…
TOOL CALL … S… M3
Standard-Drehrichtung für Rechtsschneidende Werkzeuge (die meisten Fräser und Bohrer).
Spindel dreht gegen den Uhrzeigersinn.
M04 S__
M04 S1500
M4 S=…
TOOL CALL … S… M4
Für Linksschneidende Werkzeuge oder Gewindeschneiden mit Linksgewinde.
Stoppt die Spindeldrehung.
M05
M05 G28 G91 Z0
M5
M5
Vor dem Werkzeugwechsel und am Programmende. Spindel muss stehen, bevor T-Wechsel!
Führt den automatischen Werkzeugwechsel durch. Vorher T-Nummer vorwählen.
T__ M06
T02 M06 G43 H02 Z50
T… D1 M6
TOOL CALL … Z S…
Spindel muss stehen (M05)! Z-Achse auf Wechselposition fahren. Nach M06 immer G43 setzen.
Schaltet die Kühlmittelzufuhr ein (Flutkühlschmierstoff).
M08
M03 S3000 M08
M8
M8
Nach dem Spindelstart setzen. Bei verschiedenen Materialien unterschiedliche KSS-Strategien.
Schaltet die Kühlmittelzufuhr aus.
M09
M09 M05
M9
M9
Vor dem Werkzeugwechsel und am Programmende.
Beendet das Programm und setzt den Programmzeiger auf den Anfang zurück.
M30
G28 G91 Z0 M05 M09 M30
M30 (identisch)
END PGM … MM
Bevorzugt statt M02, da der Programmzeiger zurückgesetzt wird. Ideal für Serienproduktion.
Ruft ein Unterprogramm (Subprogramm) auf. Optional mit Wiederholungen.
M98 P__ L__
M98 P1000 L4
CALL "PROG" REP …
CALL PGM … REP …
P = Programmnummer, L = Anzahl der Wiederholungen. Ideal für wiederkehrende Muster.
Beendet ein Unterprogramm und springt zum aufrufenden Programm zurück.
M99
G01 X10 Y10 F200 M99
RET (Return)
END PGM (Unterprogramm-Ende)
Muss am Ende jedes Unterprogramms stehen. Im Hauptprogramm: springt zum Programmanfang!
Schneidet ein Gewinde in einem einzelnen Durchgang mit synchronisiertem Vorschub. Die Spindeldrehzahl muss konstant bleiben (G97).
G32 X__ Z__ F__
G97 S500 G32 X18.0 Z-30.0 F1.5
G33 Z=… K=… (K = Steigung)
Nicht verfügbar (Frässteuerung)
F = Gewindesteigung in mm! Immer mit G97 (konstante Drehzahl) verwenden. Für mehrgängige Gewinde: Startwinkel mit Q programmieren.
Setzt das Werkstück-Koordinatensystem oder begrenzt die maximale Spindeldrehzahl (beim Drehen mit G96).
G50 S__ X__ Z__
G50 S3000 G96 S200
LIMS=… (Drehzahlbegrenzung)
Nicht verfügbar (Frässteuerung)
Immer vor G96 setzen, um Drehzahl zu begrenzen! Ohne G50 kann die Spindel bei kleinen Durchmessern gefährlich schnell werden.
Führt einen Schlichtdurchgang entlang einer zuvor mit G71/G72 definierten Kontur aus.
G70 P__ Q__
G70 P100 Q200
CYCLE95 (Konturschlichten)
Nicht verfügbar (Frässteuerung)
P = Startblock, Q = Endblock der Konturdefinition. Schlichtaufmaß wird auf Null gesetzt — Werkzeug fährt direkt auf Fertigmaß.
Automatischer Schruppzyklus in Längsrichtung. Trägt Material schichtweise in Z-Richtung ab.
G71 U__ R__ G71 P__ Q__ U__ W__ F__
G71 U2.0 R0.5 G71 P100 Q200 U0.3 W0.1 F0.25
CYCLE95 (Konturschruppen)
Nicht verfügbar (Frässteuerung)
U (1. Zeile) = Schnitttiefe pro Durchgang. U/W (2. Zeile) = Schlichtaufmaß radial/axial. Ideal für Stufenwellen.
Automatischer Schruppzyklus in Planrichtung (X-Richtung). Für flanschförmige Werkstücke.
G72 W__ R__ G72 P__ Q__ U__ W__ F__
G72 W1.5 R0.5 G72 P100 Q200 U0.3 W0.1 F0.2
CYCLE95 (Konturschruppen, Planrichtung)
Nicht verfügbar (Frässteuerung)
W (1. Zeile) = Schnitttiefe pro Durchgang. Planschruppen wählen, wenn der Konturverlauf hauptsächlich in X-Richtung liegt.
Axiales Einstechen oder Tieflochbohren auf der Drehmaschine mit automatischem Spanbrechen.
G74 R__ G74 X__ Z__ P__ Q__ F__
G74 R1.0 G74 X0 Z-50 P0 Q5000 F0.1
CYCLE83 (Tieflochbohren)
Nicht verfügbar (Frässteuerung)
Q = Zustelltiefe in µm (nicht mm!). Bei Q5000 → 5 mm pro Hub. Für Tieflochbohren: X auf 0 setzen.
Radialer Einstechzyklus mit automatischem Rückzug und Spanbrechen.
G75 R__ G75 X__ Z__ P__ Q__ F__
G75 R1.0 G75 X20 Z-5 P2000 Q5000 F0.08
CYCLE93 (Einstechen)
Nicht verfügbar (Frässteuerung)
Für Einstiche, Nuten und Abstech-Operationen. P = radiale Zustellung in µm, Q = axiale Zustellung in µm.
Automatischer Mehrfach-Gewindeschneidzyklus mit degressiver Zustellung. Komplett-Zyklus für metrische und Zoll-Gewinde.
G76 P__ Q__ R__ G76 X__ Z__ P__ Q__ F__
G76 P010060 Q100 R0 G76 X17.5 Z-25 P1250 Q200 F2.0
CYCLE97 (Gewindeschneiden)
Nicht verfügbar (Frässteuerung)
Erster Satz: Anzahl Schlichtdurchgänge, Gewindeauslauf (°), Flankenwinkel (°). Zweiter Satz: Endmaß, Gewindetiefe, erste Zustellung. F = Steigung.
Reibzyklus: Bohrer fährt mit Vorschub zum Z-Endpunkt und mit Vorschub zurück (kein Eilgang beim Rückzug).
G85 X__ Y__ Z__ R__ F__
G85 X25 Y25 Z-20 R2 F60
CYCLE85 (Reiben)
CYCL DEF 201 REIBEN
Langsamer Rückzug schont die Bohrungsoberfläche. Ideal für Reibahlen und Passungsbohrungen.
Bohrzyklus mit Spindelstopp am Bohrungsgrund. Werkzeug wird ohne Drehung zurückgezogen.
G86 X__ Y__ Z__ R__ F__
G86 X25 Y25 Z-12 R2 F100
CYCLE86 (Ausspindeln)
CYCL DEF 202 AUSDREHEN
Spindel stoppt vor dem Rückzug — verhindert Kratzer an der Bohrungswand. Für Ausspindelarbeiten.
Ausspindelzyklus von der Rückseite: Spindel orientiert, fährt in vorhandene Bohrung, fährt auf R-Punkt, spindelt und zieht zurück.
G87 X__ Y__ Z__ R__ Q__ F__
G87 X30 Y30 Z-5 R-25 Q2 F80
CYCLE86 (mit Rückwärts-Option)
CYCL DEF 202 (mit Anfahrstrategie)
Seltener Zyklus — erfordert Spindel-Orientierung (M19). Für Hinterstiche und Rückseitenbearbeitung.
Setzt die aktuelle Position als neuen Nullpunkt (ältere Steuerungen) oder begrenzt die maximale Drehzahl (Drehen).
G92 X__ Y__ Z__ oder G92 S__
G92 X0 Y0 Z0
TRANS X=… Y=… Z=…
CYCL DEF 7.0 NULLPUNKT
Beim Drehen: G92 S3000 begrenzt die Drehzahl wie G50. Beim Fräsen: Lieber G54-G59 statt G92 verwenden — G92 wird durch Ausschalten nicht gelöscht!
Schaltet Minimalmengenschmierung (MMS) oder Nebelkühlung ein. Öl-Luft-Gemisch statt Flutkühlschmierstoff.
M07
M03 S8000 M07
M7
M7
MMS ist umweltfreundlicher und bei Aluminium/Trockenbearbeitung oft besser als Flutkühlung (M08). Nicht mit M08 gleichzeitig verwenden.
Orientiert die Spindel auf eine definierte Winkelposition. Erforderlich vor Werkzeugwechsel bei bestimmten Maschinen.
M19
M05 M19 T02 M06
SPOS=… (Spindel-Orientierung)
M19 (Spindel orientieren)
Wird bei manchen Maschinen automatisch vor M06 ausgeführt. Manuell nötig für Rückwärts-Ausspindeln (G87).
Aktiviert die Override-Regler für Vorschub und Spindeldrehzahl an der Steuerung.
M48
M48
Nicht direkt verfügbar (über PLC)
Nicht direkt verfügbar
Standard-Einstellung. Nach einem M49-Block immer M48 setzen, um die Bediener-Override-Funktion wiederherzustellen.
Deaktiviert die Override-Regler. Vorschub und Drehzahl werden exakt wie programmiert ausgeführt.
M49
M49 G84 X20 Y20 Z-20 R2 F1.5 M48
Nicht direkt verfügbar (über PLC)
Nicht direkt verfügbar
Wichtig beim Gewindebohren (G84) und Gewindeschneiden! Override-Änderung während Gewindebearbeitung kann Werkzeugbruch verursachen.