CNC ソフトウェアの主なタイプには、部品やアセンブリの 2D モデルおよび 3D モデルを作成するコンピュータ支援設計(CAD)ソフトウェア、および CNC マシンに部品の製造方法を通知する G コードまたは別のコードに CAD モデルを変換するコンピュータ支援製造(CAM)ソフトウェアがあります。CNC シミュレーターソフトウェアは、製造を物理的に試みる前に、部品の CNC 機械加工をシミュレーションして潜在的なエラーを特定します。Autodesk Fusionなど一部の CNC ソフトウェアには、CAD、CAM、シミュレーションなどが 1 つのパッケージに含まれています。
また、CNC ソフトウェアはオフラインおよびオンライン プログラミングとして使用できます。オフライン プログラミングでは、マシンの稼動時に NC コードを作成できるため、生産性と製造現場のスループットが向上します。これに対して、オンラインプログラミングでは、オペレータが CNC ソフトウェア コードを書いている間は、マシンが部品を作成することはできません。