Esistono tre metodi per la programmazione delle macchine utensili CNC: programmazione manuale, programmazione automatica e CAD/CAM del centro di lavoro.
Programmazione manuale: comporta l'analisi manuale dei disegni delle parti, delle tecniche di elaborazione, l'esecuzione di calcoli numerici, la scrittura di elenchi di programmi e l'immissione e la verifica del programma. È adatto per la lavorazione punto-a-punto o per parti con geometria relativamente semplice; tuttavia, richiede molto tempo- ed è soggetto a errori durante la programmazione di parti complesse.
Programmazione automatica: comporta l'utilizzo di un computer o di una macchina di programmazione per completare il processo di creazione del programma pezzo. È molto conveniente per parti complesse.
CAD/CAM: utilizza il software CAD/CAM per ottenere una programmazione automatica basata su modellazione e immagini. Il software più tipico è MasterCAM, che può programmare operazioni di fresatura utilizzando sistemi di coordinate a due-assi, tre-assi, quattro-assi e cinque-assi, nonché tornitura ed elettroerosione a filo. Sebbene questo tipo di software abbia funzionalità limitate, è semplice da apprendere e relativamente economico.
