G-code for CNC milling, straight from STEP or DXF

Upload your 3D model (STEP) or 2D drawing (DXF/SVG), choose material and cutter, and step2gcode generates the complete toolpath: pockets, inner contours, holes and outer contours are detected automatically from the geometry.

The milling tool does not load in this view without JavaScript. To generate G-code, open www.step2gcode.com/mill in your browser.

The slicer principle instead of a CAM course

What the slicer is to the 3D printer, step2gcode is to the router: instead of creating every operation by hand, feed, speed, step-down and holding tabs come from material presets ranging from softwood to aluminum, and the 3D preview shows what the machine will do before you download.

What hurts about the classic CAM route

  • Operation by operation, by hand: Select pocket, assign tool, set depth, repeat. In step2gcode this is part of the automatic geometry import.
  • Errors only show up in the material: A wrong step-down or forgotten holding tabs cost workpiece and cutter. The material presets and the preview catch the classics.
  • Tool-change workflows are manual labour: First the endmill, then the V-bit for the chamfer: in step2gcode that is a second pass with the chamfer operation enabled, not a new CAM project.

Milling features at a glance

  • Endmill and V-bit (chamfers and engravings, adjustable angle)
  • Automatic detection of pockets, holes, inner and outer contours from STEP
  • Holding tabs with material recommendations, ramp entry, dogbone corners
  • Free choice of origin: XY corner or center, Z on workpiece surface or spoilboard
  • Material presets: wood, hardwood, plywood, acrylic, aluminum and more
  • Nesting for multiple parts on one sheet
  • Mill images: engrave a PNG or JPG as outline, centerline or line drawing with a V-bit

Frequently asked questions

Can I mill a PCB from Gerber files?

Yes. Upload the Gerber export of your PCB layout (KiCad, Eagle, EasyEDA) as a ZIP: step2gcode detects the copper layer, outline and drill file and writes one program per tool – isolation milling, drilling, cut-out with holding tabs. More under "Gerber to G-code" (/en/pcb-to-gcode).

Can I mill an image or photo?

Yes. Upload a PNG, JPG or other image format and choose CNC milling: the image is vectorised – as an outline (logos, silhouettes), centerline (drawings, lettering) or photo edges (line drawing) – and engraved in 2D direct mode with a V-bit. Engraving depth, V-bit angle and post-processor are set as for a DXF file. More under "Image to G-code" (/en/image-to-gcode).

How do I mill a chamfer on my part?

Rough out with the endmill first, then change tools: select the V-bit, enable the "Chamfer" operation and set the chamfer depth (with a 90-degree bit, width equals depth). Important: keep the XY origin, re-zero Z after the change. A step-by-step guide is in the knowledge base.

Where do feed and speed come from?

From the material presets: the base is feed = cutter diameter × 300 mm/min and a 1×D step-down (softwood); every material scales with its own factors, e.g. aluminum at 10,000 rpm and 0.4×D. All values remain manually overridable.

Do I need holding tabs?

Yes, when cutting through the outer contour – otherwise the part comes loose on the last cut. step2gcode pre-fills tab width and height per material (e.g. wood 12×3 mm, aluminum 10×2.5 mm) and shows the tabs in the preview.

Which STEP versions work – AP203, AP214, AP242?

All three: STEP AP203, AP214 and the newer AP242, including its current edition. What matters is the schema in the file, not the program that wrote it. The unit (millimetres or inches) and the placement of parts in an assembly are taken from the file. If your CAD adds a mesh representation to an AP242 file (e.g. Onshape or CATIA), step2gcode still works with the exact geometry. Meshes without a solid (STL, 3MF) are first turned into a STEP solid by stl2step.

Can I mill STEP files without entering depths?

Yes, that is the strength of the STEP import: pocket and hole depths are already in the 3D model and are taken over automatically. Only for DXF/SVG (pure 2D contours) is the milling depth specified during generation.

Milling know-how: V-bit chamfers, holding tabs, origin, feeds & speeds