CNC Tool Length & Diameter Offsets: G43, G44, H & D Explained with Real Code
Tool length and diameter offsets allow CNC machines to compensate for tool size, wear, and geometry directly in the control — eliminating the need to reprogram toolpaths when a tool changes.
This guide explains how G43, G44, H, and D offsets work with real examples for Fanuc, Haas, Siemens, and Heidenhain.
📌 1. What Is a Tool Offset?
A tool offset adjusts the machine’s position to account for tool length and cutter diameter.
Offsets are stored in the tool offset table — one for length (H) and one for radius (D).
| Offset Type | Used For | Code |
|---|---|---|
| Tool Length | Z compensation | G43 / G44 + H |
| Cutter Radius | XY compensation | G41 / G42 + D |
📌 2. Tool Length Compensation — G43 / G44
| Code | Function |
|---|---|
| G43 | Apply positive tool length compensation |
| G44 | Apply negative tool length compensation (rarely used) |
| G49 | Cancel tool length compensation |
📌 3. Fanuc Example — G43 with H Offset
%
O1010 (TOOL LENGTH OFFSET EXAMPLE)
G21 G17 G40 G49 G80 G90
T01 M06
S2500 M03
G00 G43 H01 Z100. (Activate tool length offset for tool 1)
M08
G01 Z-20. F200
G00 Z100.
G49 (Cancel offset)
M09
M30
%
| Code | Meaning |
|---|---|
| H01 | Uses offset #1 in length table |
| G43 | Activates positive compensation |
| G49 | Cancels compensation |
📌 4. Haas Example — Length Compensation
Haas machines follow the same syntax:
T02 M06
G43 H02 Z100. M08
G01 Z-15. F250
G49 Z100.
💡 Haas controls automatically display active offset numbers during execution.
📌 5. Cutter Radius Compensation — G41 / G42 with D Offset
| Code | Function |
|---|---|
| G41 | Cutter comp left of path |
| G42 | Cutter comp right of path |
| G40 | Cancel compensation |
Example:
G00 X0 Y0
G41 D02 G01 X50 Y0 F200
Y50
G40 X0 Y0
| Code | Meaning |
|---|---|
| D02 | Uses radius offset #2 |
| G41 | Offset tool left of path |
📌 6. Siemens Sinumerik Equivalent
TOOL CALL 1 Z S2000
L Z100 FMAX
L Z-10 F200 G43
- Tool length comp is applied automatically after
TOOL CALL - No explicit H number required unless multiple offsets used
📌 7. Heidenhain Equivalent
TOOL CALL 1 Z S2500
L Z+100 R0 FMAX
CYCL DEF 200 DRILLING
Heidenhain manages tool length internally once tool is called.
📌 8. Tool Offset Table Example (Fanuc / Haas)
| Tool | Length (mm) | Radius (mm) | H | D |
|---|---|---|---|---|
| T01 | 125.438 | 6.00 | 01 | 01 |
| T02 | 119.204 | 4.00 | 02 | 02 |
| T03 | 132.876 | 2.00 | 03 | 03 |
📌 9. Best Practices
- Always activate G43 Hxx after tool change.
- Always retract Z to a safe height before cancelling G49.
- Match H-number to tool number (e.g., T01 → H01).
- Check offsets before running new setups.
- For milling, combine G43 and Z-move in the same line (for smooth transition).
📌 10. Common Mistakes
| Mistake | Result |
|---|---|
| Forgetting H offset | Wrong Z height → part crash |
| Wrong H number | Tool uses another length → scrap |
| Forgetting G49 | Next tool inherits wrong offset |
| Wrong D number | Oversized or undersized part |
📌 11. Advanced Example — Multi-Tool Program
T01 M06
G43 H01 Z100.
M08
G01 Z-15. F200
G00 Z100. M09
G49
T02 M06
G43 H02 Z100.
G41 D02 G01 X50 Y0 F250
Y50
G40 G49 Z100.
M30
📌 12. Future of Tool Offsets (2025–2030)
- RFID smart tools automatically update offset data via sensors.
- AI-driven tool wear compensation — control adjusts offsets dynamically.
- Cloud tool libraries shared across multiple CNCs for uniform setup.
✅ Conclusion
Understanding and correctly applying tool length (G43/G44/H) and diameter offsets (G41/G42/D) is essential for safe, accurate, and repeatable CNC machining.
By properly managing offsets, you eliminate setup errors, ensure consistent tolerances, and achieve world-class precision.
Leave a comment