CNC teknolojisi, CNC programının ihtiyaca göre kaydedilip değiştirilmesiyle ayarlanan hareket dizilerinin serbestçe programlanabilir olmasıyla tanımlanır. DIN 66025/ISO 6983 standardı, sistemin tamamını kapsayıp, üreticiye göre değişiklik göstermeyen ve tüm CNC makinelerince desteklenen bir programlama arayüzü tanımlar. Karmaşık CNC makineleri, karmaşık hareket dizilerinin kolayca programlanabilmesini sağlayan ilave veya alternatif bir programlama ara yüzü içerir. İlave bir ara yüz ise kullanıcı tarafından girilen programı DIN koduna çevirir. Alternatif ara yüz daha sonra bu standarttan tamamen bağımsız olarak işleyebilir.
CNC Teknolojisi kullanımdayken İş parçasının programlanması, veri tabanında bulunan üretim kontrol bilgilerinin ayarlanmasını sağlar. Program verileri planlama departmanında çevrimdışı oluşturulur ve kablo veya harici disk yoluyla makineye aktarılır. Online veya atölye programlamasıyla, programın makineye doğrudan girişi sağlanır. İş parçası programlarının oluşturulması, CAD verileri veya çizimlerinden APT ve EXAPT gibi teknolojilere özel olarak uyarlanan programlama diliyle gerçekleştirilebilir. Verilerin CAD sisteminden doğrudan aktarılması için IGES gibi aktarım sistemleri mevcuttur. İş parçası programının kaynak metni CLDATA ara yüzü üzerinden Kesici Konumu Verilerine çevrilir. Bu veriler, NC makinesine ait olan aracın doğrudan konumlandırılması için kullanılmakta olup, DIN koduna çevrilebilir veya makinenin kendisi tarafından gerçek zamanlı olarak çevrilir. Direkt sayısal kontrol (DNC) ara yüzü, CNC makinelerinin harici bir bilgisayar kullanılarak kontrol edilmesini mümkün kılar.