M-Codes (Miscellaneous Functions) sind Hilfsfunktionsbefehle in CNC-Programmen, die Maschinenfunktionen steuern, die nicht direkt mit der Werkzeugbewegung zusammenhängen. Sie ergänzen die G-Codes und steuern beispielsweise Spindel, Kühlmittel und Werkzeugwechsel.
Typische M-Codes sind: M00 (Programmstopp), M03/M04 (Spindel ein im/gegen Uhrzeigersinn), M05 (Spindel aus), M06 (Werkzeugwechsel), M08/M09 (Kühlmittel ein/aus), M30 (Programmende). M-Codes sind weniger standardisiert als G-Codes und können je nach Maschinensteuerung variieren.