CNC 소프트웨어의 주요 유형으로는 부품과 조립품의 2D 및 3D 모델을 작성하는 CAD(Computer-Aided Design) 소프트웨어와 CAD 모델을 G-코드 또는 부품 생산 방법을 CNC 기계에 전달하는 다른 코드로 변환하는 CAM(Computer-Aided Manufacturing) 소프트웨어가 있습니다. CNC 시뮬레이터 소프트웨어는 부품의 CNC 가공을 시뮬레이션하여 물리적 제작을 시도하기 전에 잠재적인 오류를 파악합니다. Autodesk Fusion과 같은 일부 CNC 소프트웨어에서는 CAD, CAM, 시뮬레이션 등의 기능이 단일 패키지에 포함되어 있습니다.
또한 CNC 소프트웨어는 오프라인 및 온라인 프로그래밍 방식으로 사용할 수 있습니다. 오프라인 프로그래밍을 사용하면 기계가 가동 중일 때 NC 코드를 생성할 수 있으므로 생산성과 작업 현장 처리량이 향상됩니다. 반면에 온라인 프로그래밍에서는 작업자가 CNC 소프트웨어 코드를 작성하는 동안 기계가 부품을 생산할 수 없습니다.