# How to Inspect CNC G-code Rapids and Z Steps

Show rapid moves and step through a CNC program in CADProps. Learn what apparent low moves, overlapping offsets and drilling cycles mean in the preview.

A diagonal move appears to cross your part when you open an NC file. In the [CADProps G-code viewer](https://www.cadprops.com/tools/gcode-viewer/index.md), turn on **Rapids** and look at the same move from the front. The top view can show where the tool moves in X and Y while hiding the height at which that move occurs.

## Find the transition between two cuts

1. Open the text NC, NGC, TAP or G-code file and pause playback. Enable **Rapids**, which starts off in the CNC view.
2. Use **Top** to locate the transition, then **Front** or **3D** to see whether the path changes Z before crossing. Scrub through the move to see the order.
3. Step through the nearby Z levels. **This step only** helps isolate the current cutting level. Turn it off when you need context from the rest of the program.
4. Check the program's units in the details panel. **Cutting extents** describe the feed paths. They do not include the clearance height of the rapids.

<figure class="workflow-evidence"><img src="/assets/evidence/gcode-2026-10-24/gcode-viewer-cnc-1440.webp" alt="CADProps CNC toolpath preview with multiple cutting levels and separate rapid and feed lengths" width="1440" height="1000" loading="lazy"><figcaption>The cncjs Circle, Diamond, Square calibration example in 3D. The details panel reports feed and rapid lengths separately.</figcaption></figure>

## Know when to verify in the controller or CAM system

A program that uses different fixture offsets can appear to cut in the same place because CADProps draws G54 through G59 in one coordinate system. If moves overlap unexpectedly, check the active offset and fixture locations in the CAM or controller preview. Canned drilling cycles show a simplified plunge and retract. If a macro or subprogram is skipped, verify the full path in the system that can execute it. [LinuxCNC G-code reference](https://linuxcnc.org/docs/stable/html/gcode/g-code.html)

Use the preview to find a suspicious segment and hand that question back to the person responsible for the setup. A programmed centreline does not include cutter, holder, clamps, stock or machine travel. Even when the move is visibly above the part in this view, check actual clearance in the appropriate setup.

Sample: [cncjs examples](https://github.com/cncjs/cncjs/tree/master/examples/gcode), [MIT licence](https://www.cadprops.com/assets/evidence/gcode-2026-10-24/cncjs--cncjs--LICENSE.txt).

## Related reading

- [How to Compare a G-code Toolpath with Its CAD Model](https://www.cadprops.com/guides/compare-gcode-toolpath-to-cad-model/index.md)
- [How to Inspect the First Layer of a G-code Print](https://www.cadprops.com/guides/gcode-first-layer-preview/index.md)
- [G-code Files: What They Are and How to Open Them Online](https://www.cadprops.com/guides/open-gcode-file-online/index.md)

Original article: https://www.cadprops.com/guides/check-cnc-gcode-rapid-moves/

HTML page: https://www.cadprops.com/guides/check-cnc-gcode-rapid-moves/
