CNC Simulator
G-code · Lathe · Mill

Free CNC simulator to learn and test G-code

Run lathe and machining center programs as on the machine: Fanuc, Siemens, Mitsubishi and Haas controls, Macro B parametric programs, the control’s own alarms and collision checks, in 3D. No machine needed.

v0.23.0 · The app is not signed: on Windows choose More info → Run anyway; on macOS right-click the app → Open.

CNC Simulator machine screen running a machining center program: position, spindle and feed, 3D toolpath, the program, MDI keys and operator panel
The machine screen: display, soft keys, MDI keys and operator panel, as on a control.

Who it is for

CNC students

Write a program, run it block by block and see what each code does and which alarm the control would give, without risking a machine.

CNC programmers

Check what the CAM post-processor made before it reaches the machine: alarms, travel limits, holder and chuck collisions, tool offsets.

Teachers and technical schools

Free for every student to install at home, with lathe and machining center examples and guided exercises.

Parametric programming

Learn and test Macro B: variables, IF/WHILE and G65 calls run as on the control.

Lathe and machining center simulation

3D model of a lathe program: the turned part, the toolpath, the document tree and the program
3D model screen: exact standard views, view cube, the operations of each tool.
Start screen with examples and pictures of each finished part
Start screen: examples, exercises and recent files with a picture of the part.

Machines and controls included

Romi GL 250 M and GL 300 lathes and Romi D600, D1000 and D1250 machining centers with Fanuc 0i; Romi E280 lathe with Fanuc 21i-TB, C axis and live tools; Siemens SINUMERIK 840D lathe and machining center; Mitsubishi M80 lathe and machining center; Haas VF-2 and VF-5/40 with the Haas NGC control; a generic 3-axis machining center. Each machine and control is a JSON file: see the contributing guide to add yours. All the codes of each control are in the G and M code reference.

Frequently asked questions

Is CNC Simulator free?

Yes. It is free and open-source software under the GPL-3.0 license: no account, no ads, no time limit.

Which systems does it run on?

Windows 10 and 11, macOS (Apple Silicon and Intel) and Linux (AppImage and .deb).

Which CNC controls does it simulate?

Fanuc 0i-TF (lathe) and 0i-MF (machining center), Fanuc 21i-TB (Romi E280), the Romi GL and D lines, Siemens SINUMERIK 840D lathe and machining center, Mitsubishi M80 lathe and machining center, and Haas NGC mill. Machines and controls are JSON files, so new ones can be added.

Can I check a CAM program before running it on the machine?

Yes. Open the program, pick the machine and control, and run it: the simulator stops on the control’s own alarms and warns about travel limits, holder and chuck collisions and tool offsets.

Does it run parametric programs (Macro B)?

Yes: variables, math functions, IF/GOTO, WHILE/DO loops and G65 macro calls run as on the control.

Can I learn CNC programming with it?

Yes. The machine screen looks like a control, with MDI keys and an operator panel; the learning mode explains every code; and guided exercises check your program against the expected part.