Το G-code είναι μια συλλογή κωδικών ή συναρτήσεων που αποτελούν μέρος του αριθμητικού ελέγχου ή της γλώσσας προγραμματισμού NC. Η Electronic Industries Alliance ανέπτυξε τις παλαιότερες εκδόσεις αυτού του τύπου κωδικοποίησης NC κατά τη δεκαετία του 1960. Χρησιμοποιώντας ως το τυπικό CNC στις Ηνωμένες Πολιτείες, η κωδικοποίηση έχει υποστεί ορισμένες βελτιώσεις. Επί του παρόντος, μια έκδοση που εγκρίθηκε τον Φεβρουάριο του 1980 και γνωστή ως RS274D είναι το πρότυπο στις Ηνωμένες Πολιτείες και σε διάφορες άλλες χώρες σε όλο τον κόσμο. Ωστόσο, ένα διαφορετικό πρότυπο, γνωστό ως DIN 66025, χρησιμοποιείται συνήθως στην Ευρώπη.
Όλοι οι τύποι κώδικα εντός της δομής της κωδικοποίησης NC επικεντρώνονται σε διαφορετικές λειτουργίες. Με τον G-code, η εστίαση είναι στην πραγματική θέση του εργαλείου προκειμένου να ολοκληρωθεί η κατάλληλη εργασία. Αυτό έρχεται σε αντίθεση με άλλους τύπους κώδικα εντός του συστήματος. Για παράδειγμα, ο S-code έχει να κάνει με την ταχύτητα του εργαλείου, ενώ ο F-code απευθύνεται στην τροφοδοσία του εργαλείου.
Ενώ ο G-code μπορεί να αποτελέσει τη βάση για τη διαμόρφωση πολλών διαφορετικών τύπων εργαλείων, δεν είναι ασυνήθιστο για τους κατασκευαστές να δημιουργούν και να προσθέτουν τις δικές τους μοναδικές λειτουργίες που βρίσκονται εκτός του πεδίου εφαρμογής της κωδικοποίησης NC συνολικά. Αν και είναι αλήθεια ότι η κωδικοποίηση μπορεί να υπάρχει σε κάποια μορφή, η προσθήκη επεκτάσεων και βελτιώσεων μερικές φορές θα περιορίσει την ικανότητα του εργαλείου να διασυνδέεται με άλλα εργαλεία.
Επειδή ο G-code είναι ένας προπαρασκευαστικός κωδικός, περιλαμβάνεται σε πολλά διαφορετικά κατασκευασμένα είδη. Η χρήση του κώδικα είναι χρήσιμη για την ενεργοποίηση συγκεκριμένης ενέργειας από την πλευρά του εν λόγω εργαλείου. Μερικές από τις ενέργειες που μπορεί να ενεργοποιήσει το G-code περιλαμβάνουν την κίνηση προς τα εμπρός ή προς τα πίσω σε ευθεία γραμμή ή υπό γωνία. Ο κωδικός μπορεί να πει στο μηχάνημα να κινείται γρήγορα ή με πιο αργό ρυθμό. Ο κωδικός G μπορεί να χρησιμοποιηθεί για τη δημιουργία ενός συνόλου γεγονότων με σειρά που συμβαίνουν ως μπλοκ, όπως η διάνοιξη μιας τρύπας σε ένα κομμάτι μέταλλο ή ξύλο, η μετακίνηση του αντικειμένου και η διάνοιξη μιας δεύτερης τρύπας πριν από την απελευθέρωση του αντικειμένου και την προετοιμασία για την παραλαβή ενός νέου.