Perangkat lunak router CNC inilah yang membedakan router kayu Computer Numerical Controlled (CNC) dari jenis router lainnya. Perangkat lunak Computer-Aided Design (CAD), perangkat lunak Computer-Aided Manufacturing (CAM), atau kombinasi keduanya digunakan dalam perangkat lunak router CNC. Meskipun ada sejumlah program perangkat lunak yang termasuk dalam kategori ini, semuanya pada dasarnya berbeda berdasarkan sumbunya. Jika hanya dua sumbu yang tersedia, hanya pekerjaan dua dimensi yang dapat dilakukan, dan jika ada tiga sumbu, proyek tiga dimensi dapat dilakukan.
Meskipun dapat memakan waktu cukup lama untuk mempelajari semua instruksi untuk perangkat lunak router CNC, cara dasar fungsinya cukup sederhana. Seseorang yang bekerja di router CNC akan memasukkan satu set grafik vektor dan koordinat ke dalam program perangkat lunak CAD/CAM-nya yang sesuai dengan desain yang ingin dia hasilkan. Karena komputer tempat perangkat lunak router CNC bekerja terhubung ke router itu sendiri, perintah yang dimasukkan ke dalam program perangkat lunak akan ditransfer ke bilah router yang melakukan pekerjaan fisik selama proyek.
Masing-masing bilah ini dapat dianggap beroperasi pada sumbu tertentu. Koordinat yang dimasukkan ke dalam program perangkat lunak CNC memberi tahu router posisi di sepanjang sumbu yang diperlukan di setiap titik waktu selama interval yang ditentukan. Koordinat sumbu X dan sumbu Y akan memerintahkan pemotongan dua dimensi suatu objek seperti desain di atas meja. Pekerjaan tiga dimensi dilakukan sepanjang sumbu Z. Dalam program perangkat lunak CNC, koordinat sumbu Z dapat menyampaikan perintah ke bilah router yang menghasilkan tidak hanya objek tiga dimensi seperti bola, tetapi juga dalam pemotongan tiga dimensi interior, seperti yang diperlukan saat melubangi silinder, misalnya.
Jenis router kayu lainnya ada di pasaran, seperti router trim, router fixed-base, dan router terjun, tetapi router CNC menonjol sebagai satu-satunya yang dikendalikan oleh perangkat lunak komputer. Semua yang lain memiliki bilah dan alat yang harus diposisikan dan dipindahkan oleh individu yang mengerjakan router itu sendiri. Dia mungkin tidak menggerakkan baling-baling itu sendiri, tetapi dia menggerakkan bagian-bagian mesin yang mengontrol pergerakan baling-baling. Ada pengaturan tertentu pada router lain yang dapat digunakan untuk menentukan kedalaman dan jenis pemotongan tertentu, tetapi karena tangan manusia terlibat dalam pergerakan bilah router, ruang untuk kesalahan muncul. Tangan gemetar dan perkiraan bola mata yang salah tidak menimbulkan masalah dengan router CNC karena perangkat lunak router CNC menentukan gerakan tertentu berdasarkan grafik vektor dan koordinat yang dimasukkan; semua pekerjaan dilakukan oleh router itu sendiri, yang menerima instruksi dari perangkat lunak.