G84 and G74 are the two tapping canned cycles, and the split is thread direction. G84 cuts right-hand threads: the spindle runs forward (M03 direction), the tap feeds down in sync with the rotation, and at depth the spindle reverses to back the tap out. G74 is the reverse tapping cycle for left-hand threads: the spindle runs in reverse (M04 direction) on the way down and forward on the way out. Everything difficult about tapping is shared by both cycles, because a tap is the one tool that cannot tolerate a mismatch between feed and rotation: the flutes are a screw, and the machine must move exactly one thread pitch per revolution or the threads tear. That is why tapping cycles behave differently from every other canned cycle, why feed override is typically ignored while they run, and why the feed number is calculated rather than chosen.
What G84 actually does, step by step
A G84 line looks like the other cycles, G84 R0.2 Z-0.6 F… , but the motion under it is more choreographed. The tool rapids to the hole position and down to the R plane. The spindle is already running forward. The Z axis then feeds down in strict synchronization with spindle rotation, one pitch per revolution, until it reaches the Z depth. At the bottom the spindle stops and reverses, and the Z axis feeds back out at the same synchronized rate, unscrewing the tap from the hole it just threaded. At the R plane the spindle returns to forward, ready for the next hole. The worked example at HelmanCNC’s G84 tapping cycle program shows the cycle in a complete Fanuc-style program.
The reversal is the piece beginners underestimate. Unlike drilling, a tapping cycle cannot simply retract: the tool is mechanically screwed into the part, and the only way out is to unscrew. That is also why interrupting a tapping cycle mid-hole is uniquely awkward, and why the correct response to a problem mid-tap is almost never the reset button; on most controls, reset abandons the synchronization while the tap is still engaged, and the part or the tap loses. Modern controls provide a rigid tapping retract function for exactly this recovery; knowing where it is on your control before you need it belongs on the same checklist as how to safely restart a program from the middle.
G74: the same dance in reverse
G74 mirrors the choreography for left-hand threads: spindle in reverse on the way down, forward to retract. On Fanuc-family mills it is named the counter tapping or reverse tapping cycle, as the Fanuc G-code list shows. Left-hand threads are rarer, oxygen fittings, some pedal and axle threads, applications where rotation would loosen a right-hand thread, and that rarity is itself a hazard: the one time a left-hand tap is on the setup sheet, habits built on G84 point the spindle the wrong way. A right-hand tap driven by G74, or a left-hand tap driven by G84, does not cut a mirrored thread; it destroys the tap the moment it touches the work.
There is a naming trap to defuse here as well: on lathes, G74 is a completely different cycle, a peck drilling or face grooving cycle depending on the control, and tapping on turning centers usually runs through G84 or G32-style synchronized motion with its own conventions. As with the G98/G99 mill-versus-lathe collision, reading a code without knowing the machine type it targets is how example programs from the internet cause damage. On mills: G84 right-hand, G74 left-hand. Full stop.
The feed is arithmetic, not judgment
For every other cycle the F word is a machining decision; for tapping it is a mathematical consequence of the thread. The rule: feed per revolution equals the thread pitch, so feed per minute equals RPM times pitch. A quarter-twenty tap, 20 threads per inch, has a pitch of 0.050 inch; at 500 RPM the only correct feed is 25.0 inches per minute. An M8 x 1.25 tap at 400 RPM demands 500 mm per minute. Program feed per revolution where the machine runs G95-style per-rev feed, and the F word is simply the pitch itself.
| Tap | Pitch | At RPM | Required feed |
|---|---|---|---|
| 1/4-20 UNC | 0.0500 in | 500 | 25.0 in/min |
| 10-32 UNF | 0.03125 in | 800 | 25.0 in/min |
| M6 x 1.0 | 1.0 mm | 600 | 600 mm/min |
| M8 x 1.25 | 1.25 mm | 400 | 500 mm/min |
| 1/2-13 UNC | 0.0769 in | 300 | 23.1 in/min |
Because the feed is load-bearing, tapping cycles ignore the feed override dial on most controls, and many ignore feed hold until the retract completes: honoring a 50 percent override mid-thread would shear the flanks instantly. This surprises operators the first time a tapping cycle sails through their override. It is not a malfunction; it is the control protecting the thread. The same logic explains why spindle speed changes mid-cycle are refused. The only place to adjust a tapping operation is in the program, before the cycle starts.
Rigid tapping versus tension-compression holders
How strictly the machine can hold the pitch-per-revolution promise depends on hardware. Rigid tapping means the spindle encoder and Z axis are electronically locked: the control interpolates Z directly against measured spindle rotation, holding synchronization even through the reversal at the bottom. On Fanuc-family controls, rigid mode is armed by M29 before the G84 line; LinuxCNC exposes the same capability as its own spindle-synchronized motion, documented in the LinuxCNC G-code reference.
Before rigid tapping was common, machines tapped with tension-compression holders: a spring-loaded collet that lets the tap float a few millimeters against the spindle’s imperfect timing, absorbing the mismatch mechanically. Those holders still matter, on older machines, on machines whose rigid option was never enabled, and as insurance in tough materials. The practical differences: rigid tapping allows peck tapping (some controls accept a Q word in G84 to break chips in deep holes), permits higher speeds, taps to a more precise depth, and lets the same holder style run everything; a floating holder needs the program’s depth to account for the float and is happier with modest speeds. Knowing which regime a machine runs is part of reading its programs, because a G84 with M29 in front means rigid, and a bare G84 on an older machine implies a float holder in the spindle.
Thread quality also depends on the hole underneath: a tap can only produce the thread its drilled hole allows, and tap drill charts encode the standard trade of thread engagement against tapping torque, background that the tap and die overview covers well. Most broken taps trace to the hole, chip packing, or a missed feed calculation rather than to the cycle line itself.
A complete rigid tapping fragment ties the pieces together:
(TAP 6X 1/4-20 THRU, 500 RPM)
T4 M06
G90 G54 G17 G94
G00 X1.000 Y1.000
G43 H4 Z1.0
S500 M29 (arm rigid tapping at 500 RPM)
G84 R0.2 Z-0.55 F25.0 (pitch .050 x 500 rpm)
X2.000
X3.000
Y2.000
X2.000
X1.000
G80
G00 Z1.0 M05
Note the order: the M29 with its S word comes immediately before the G84 and arms rigid mode for that cycle. The F25.0 is not negotiable arithmetic, and the depth carries margin beyond the part thickness because a through hole still needs the tap’s chamfer to clear the far side before reversing. Every subsequent line is just a position; the cycle repeats at each one, which is standard canned cycle behavior shared with G81 and G83 drilling.
The failure catalog
Broken taps and torn threads cluster into a short list of causes. Wrong feed arithmetic is first: an F word that does not equal pitch times RPM shears flanks in the first few threads, and the error usually comes from changing RPM without recalculating F. Second is depth in blind holes: a tap needs chip room and its chamfer length at the bottom, so threading depth cannot equal drilled depth; bottoming a tap in a blind hole snaps it. Third is chip packing in deep holes, the reason peck tapping and spiral-flute taps exist. Fourth is the wrong cycle for the tap’s hand, covered above. Fifth is restarting confusion after an interruption, where the safe path is the control’s rigid tapping retract, never a jog.
A tap snapped off in a hole is its own small crisis, hardened tool steel flush with the part, and the recovery options, tap extractors, EDM burning, are all slow, which is why prevention gets so much attention in training and why why did my endmill break on G01 thinking applies doubly to taps. The cheapest insurance is boring: verify pitch, RPM, and F agree before cycle start, every time, even on the job you have run a hundred times, because the hundredth run is exactly when someone changed the RPM.
Bottom line: direction picks the cycle, pitch picks the feed
G84 taps right-hand threads with the spindle forward; G74 taps left-hand threads with the spindle reversed; both feed exactly one pitch per revolution down and back out. Compute F as pitch times RPM and expect the control to lock out overrides while the cycle runs. Use M29 rigid tapping where the machine supports it, respect blind-hole depth margins, and know the recovery function before the first interrupted cycle. On mills the pair is unambiguous; on lathes the same numbers name different cycles, so check the dialect before trusting borrowed code.
Frequently asked questions
What is the difference between G84 and G74?
Thread direction. G84 is the right-hand tapping cycle: spindle forward on the way down, reversed to unscrew at the bottom. G74 is the reverse tapping cycle for left-hand threads: spindle reversed going down, forward coming out. Both synchronize Z feed to exactly one thread pitch per spindle revolution. On mills that is the whole distinction; on lathes G74 names an unrelated peck or grooving cycle, so confirm the machine type first.
How do I calculate the feed rate for G84 tapping?
Feed per minute equals spindle RPM times thread pitch. A 1/4-20 tap has a 0.050 in pitch, so 500 RPM requires F25.0; an M8 x 1.25 at 400 RPM requires F500 in mm/min. In feed-per-rev mode the F word is simply the pitch. Any other value tears the thread, which is also why controls ignore the feed override dial during tapping: the feed is not a preference, it is part of the thread’s geometry.
Why does my machine ignore feed override during tapping?
By design. Honoring an override mid-thread would break the pitch-per-revolution synchronization and shear the flanks, so most controls lock feed override, and often feed hold, from the start of a tapping cycle until the retract finishes. Adjustments belong in the program before cycle start. If a tapping cycle must be interrupted, use the control’s rigid tapping retract function rather than reset, so the tap unscrews instead of being dragged.
What is the best way to learn the tapping cycles and their gotchas?
Drill the recall first, G84 right-hand, G74 left-hand, feed equals pitch times RPM, M29 arms rigid mode, then read real programs and predict each cycle’s motion before running it. A free app like G-Code Sprint quizzes the canned cycle family and the tapping rules in short timed rounds, resurfacing what you miss, which builds the at-the-machine reflexes that a chart on the wall cannot.
Do I need rigid tapping to use G84?
No, but it changes the setup. With rigid tapping (M29 on Fanuc-style controls), the spindle encoder and Z axis are electronically locked and a standard rigid holder works, with peck tapping and precise depths available. Without it, the machine needs a tension-compression holder whose float absorbs small synchronization errors, modest speeds, and depth programmed with the float in mind. A bare G84 on an older machine almost always implies the floating holder.