Thread Milling G-Code Generator for Internal Threads
Thread milling replaces tapping when you need one tool for many sizes, deeper threads, hard materials or a lower risk of breaking a tap in an expensive part. This generator fills a typical helical interpolation program from your values so you can start from a clean base.
Fill in
Thread length divided by pitch, plus one for clean-up.
Half of (thread major dia minus cutter dia), adjusted for tool wear.
Half of the path radius gives a tangent semicircle from the hole centre.
Corrected so cutting-edge feed matches the tool maker's value.
Program
O1284 (THREAD MILL M20 X 1.5 INTERNAL RH) G21 G17 G40 G49 G80 G90 T12 M06 G54 G90 G00 X0 Y0 S3200 M03 G43 H12 Z5.0 G00 Z-20.0 (LEAD IN FROM CENTRE ON TANGENT ARC) G91 G03 X8.25 Y0 I4.125 J0 F420 (HELICAL THREAD PASS, ONE PITCH PER TURN) #101=0 WHILE [#101 LT 14] DO1 G03 X0 Y0 Z1.5 I-8.25 J0 F420 #101=#101+1 END1 (LEAD OUT BACK TO CENTRE) G03 X-8.25 Y0 I-4.125 J0 G90 G00 Z5.0 G28 G91 Z0 M05 M30
Check before running
Thread: M20 X 1.5 INTERNAL RH Pitch: 1.5 mm, turns: 14 Tool path radius: 8.25 mm Feed at tool centre: 420 mm/min
This is a starting point for a right-hand internal thread cut from the bottom upward with climb milling on a Fanuc-style control. Left-hand threads, external threads, different controls and macro syntax need changes. Prove out in single block with the Z offset raised and verify the first thread with a gauge. Tool path radius, cutter radius compensation and feed correction for the arc depend on your cutter and process.
Control your CNC programs
If you want program release and revision tied to part and routing records, tell us your system and we will suggest an approach.
Optional. The tool and every export work without this. No spam.
How to use it
Enter the thread description, the tool number, the thread bottom depth, the pitch and the number of full turns. The key numbers are the tool centre path radius, which is half of the difference between the thread major diameter and the cutter diameter, and the lead-in arc radius, which is half of the path radius for a semicircular tangent entry. The tool starts at the hole centre at thread bottom, arcs out, then climbs one pitch per revolution. Copy or export the program and paste it into your control or CAM.
- Set path radius from your actual cutter
- Turns equal thread length divided by pitch
- Run single block first with a raised Z offset
The method behind it
Helical interpolation moves the tool in a circle while Z advances by one pitch each revolution, so the cutter generates the thread form. The program uses the incremental full-circle form G03 with X0 Y0 and a Z rise equal to pitch, repeated by a macro WHILE loop. The tangent entry arc avoids a mark at the start of the thread. Because the feed on a circular move applies at the tool centre, the cutting edge on the internal profile moves slower than the programmed value, so correct the feed with the ratio of path radius to the cutting radius.
Feed correction and checks
For an internal thread the programmed centre feed should be the cutting-edge feed multiplied by the path radius and divided by the thread radius at the cut. For a path radius of 8.25 and a thread radius of 10 the factor is about 0.83. Check that the cutter is shorter than the thread length and narrow enough to enter the hole. Many controls offer a thread milling cycle or support radius compensation, which can replace this program, and CAM systems add stepover passes for hard materials.
Common mistakes
The usual faults are an uncorrected feed that overloads a small cutter, forgetting that left-hand threads require a different direction or climbing sequence, and setting a path radius from the nominal cutter diameter rather than the measured one. Also ensure enough turns so the full thread length is cut, including the cutter's lead.
- Measure the cutter before setting the path radius
- Correct the feed for the arc
- Check the cutter fits the hole and the depth
Frequently Asked Questions
How do I calculate the tool path radius for thread milling?
For an internal thread, take half of the difference between the thread major diameter and the cutter's cutting diameter. For M20 with a 3.5 mm effective cutter diameter that gives 8.25 mm. Adjust with offsets for wear.
Why does thread milling use a lead-in arc?
A tangent arc brings the cutter onto the thread gradually and avoids a dwell mark or gouge at the entry point. A straight plunge to the full radius can leave a visible mark and shock the cutter.
Can I use this for left-hand threads?
Not directly. Left-hand internal threads normally reverse the arc direction or the Z direction of the helix, depending on whether you climb or conventionally mill. Review the sequence on a proof-out before cutting.
Does this work on Siemens or Heidenhain?
The structure is Fanuc style with macro variables. Siemens and Heidenhain use different syntax for loops and arcs, so use the program as a model and adapt it to the control's own conventions or its thread milling cycle.
If your CNC programs are stored and released through an ERP or document system, we can help set up controlled program records and approvals.
Related Tools
Tap Drill Size Chart (Metric, UNC, UNF)
Searchable tap drill chart for common metric coarse, metric fine, UNC and UNF sizes with the standard drill and its diameter in mm.
Discrete ManufacturingThread Pitch Chart (Metric, UNC, UNF)
Reference of thread pitch in mm, threads per inch and approximate thread depth for common metric, UNC and UNF sizes.
Discrete ManufacturingTapping Torque Calculator
Estimates cutting tap torque, thread engagement and spindle power from thread size, tap drill diameter, material and tap condition.
Discrete ManufacturingDrill Point Length Calculator
Calculates drill point length for common point angles, the Z depth to program for a full-diameter hole, spindle rpm, feed and drilling time.
More Discrete Manufacturing tools
See all- Tap Drill Size Chart (UNC, UNF and Metric Coarse/Fine)
- ISO Material Groups for Cutting Tools (P M K N S H) Reference
- Fanuc Macro B System Variables Reference
- Turning Cutting Time Calculator
- Boring Bar Overhang Ratio Calculator
- Knurling Blank Diameter Calculator
- ISO Turning Insert Designation Code Reference
- NPT and BSP Pipe Thread TPI and Diameter Reference
- Letter Size Drill Chart A to Z with mm Equivalents