Computer numerical control (CNC) machines adalah milling machines otomatis yang membuat komponen industrial tanpa bantuan manusia. Hal ini sangat mungkin terjadi karena CNC machines memiliki beberapa seri instruksi yang dikirim kedalam sebuah internal computer controller. Instruksi ini dalam bentuk kode yang merujuk pada numerical control programming language.
Kode yang digunakan untuk memprogram CNC machine disebut G-code.
Sementara itu, instruksi G-code hanya bagian dari programming language.
Secara khusus, G-code memberikan CNC machine koordinat untuk merancang
machine tool untuk dapat memotong dan membentuk metal menjadi
spesifikasi khusus. Keseluruhan seri kode digunakan untuk mengoperasikan
CNC machine juga memiliki M-codes dan T-codes yang mengatur CNC machine
dan drill tool. Tool kecepatan dan feed control dibawah naungan S-code
dan F-code, sementara itu, X, Y dan Z-code untuk menentukan posisi yang
tepat.
Set standard dari control code untuk CNC machine telah dikembangkan
pada awal tahun 1960 di Amerika Serikat oleh sebuah organisasi
perdagangan yang disebut Electronic Industries Alliance. 20 tahun
kemudian, system telah di revisi dan berpangkat RS274D. walaupun kode
kode tersebut masih digunakan di Negara untuk membantu computer-aided
manufacturing (CAM), variasi dan penambahan tersedia diantara operator
dan manufacturer dari CNC machine.