What Is Offset in CNC Machine Control?
An offset in a CNC machine is a stored number that shifts the programmed tool path or the workpiece origin to match real geometry on the table. This page explains tool length, cutter radius, and work offsets, and shows how they interact on 3-axis, 4-axis, and 5-axis work. Read it to judge which offset type fixes a given dimensional error.

In this article
- 1
- 2
- 3
- 4
- 5
- 6
- 7
Key takeaways
What an offset actually changes in the control
An offset in a CNC machine is a number stored in the control that is added to or subtracted from the programmed coordinates before the servo moves. The part program describes an ideal path. The machine has to cut with a real tool on a real table. Offsets are the layer between the two.
Think of it as a translation table. The programmer writes X50.0 Y20.0 Z-5.0. The control reads the active work offset, adds the tool length offset, applies cutter radius compensation to the path, and only then commands the axis. Nobody edits the CAM file to fix a 0.03 mm error. You change a number in the offset page.
This separation matters on the shop floor. A machine may hold dozens of tools and several fixtures. Each one carries its own correction values. When a tool is replaced, only its length offset changes. When a vise is moved, only the work offset changes. The program stays valid.
The practical rule: offsets correct the difference between nominal and actual. They do not correct a wrong drawing, a wrong toolpath strategy, or a fixture that lets the part move under cutting load. If the error changes with each part, the offset is not the fix.
Tool length offset: keeping Z honest across a turret
Tool length offset tells the control how far the tool tip sits from the spindle gauge line. On a vertical mill, the Z zero is usually the top of the part or the top of a gauge block on the table. Each tool has a different stick-out. Without length offsets, every tool change would need a new program Z value.
Setting it is straightforward. Touch the tool to a known surface, read the machine position, and store the difference. A 50 mm gauge block and a 0.01 mm feeler give repeatable numbers. Many shops use a presetter offline and load the values by tool number. Repeatability of ±0.005 mm on the presetter is enough for most work we run.
Wear offset is the second half. Length offset is the nominal setting; wear offset is the small running correction you apply when a face mill starts leaving 0.02 mm too much stock. Keep them separate. Mixing setting and wear into one number makes the next setup hard to repeat.
On lathes the same idea applies to each turret station. A boring bar, a drill, and a turning tool all have different lengths. Length wear on a turning insert is typically adjusted in 0.005–0.01 mm steps. Chasing tighter than that usually means the insert is worn, not that the offset is wrong.
Cutter radius compensation and why sign matters
Cutter radius compensation shifts the tool center away from the programmed contour so the cutting edge lands on the line. A Ø10 mm end mill has a 5 mm radius. On an outside profile, the control must push the center 5 mm outward. On an inside pocket, it must pull the center 5 mm inward.
The sign convention is where most scrap comes from. If you program the part contour and call the compensation on the wrong side, the tool cuts a path that is 10 mm off nominal diameter. On a pocket that means an oversize bore. On a boss it means a scrapped feature. Check the lead-in move and the G41 or G42 direction before the first cut.
Modern CAM handles this well by posting G41 and G42 with the correct side. The risk returns at the machine. An operator who manually edits a radius value to fix a taper can break the relationship between the contour and the lead-in. Change the value, not the side.
Radius compensation also lets you run a reground tool. A 10 mm cutter ground down to 9.6 mm still cuts the correct profile if the control knows the real radius. That is a real cost saver on carbide end mills and reamers. Measure the reground diameter and enter it. Do not assume the nominal size.
Work offsets: where the part sits in machine space
Work offsets define the part origin relative to machine home. G54 through G59 are the standard set. A vise on the left of the table gets one offset. A second vise on the right gets another. You switch between them with a single G-code block instead of re-zeroing.
This is what makes multi-part setups practical. Load six blocks in six positions, assign G54 to G59, and run the same program six times with a different offset active. The alternative is a fixture with a known pitch and one offset plus a subprogram shift. Both work. The second is faster to prove out but less forgiving if a block is loaded short.
On 5-axis machines the work offset is only part of the picture. Rotary axes add their own center point, often called the pivot or rotary center. If the rotary center is wrong, the part rotates about the wrong point and every angled face is off. This is usually set once during machine installation and verified with a test cut.
Fixture offsets are a sub-case. When a tombstone or a pallet carries several parts, each station can hold its own offset. The control then treats one pallet as several work coordinate systems. Scheduling software can queue jobs across stations without changing the base program.
Reading the error pattern to pick the right offset
The error pattern tells you which offset is wrong. If every feature on the part is shifted in X or Y by the same amount, the work offset is off. If one feature is the wrong size but in the right place, it is a radius or tool wear issue. If the whole part is shifted in Z, check tool length first.
Size errors that grow with depth point at the tool, not the offset. A 10 mm end mill that cuts 10.05 mm at the top and 10.12 mm at the bottom is deflecting. Adding radius compensation hides the symptom and leaves a tapered wall. Reduce the radial cut or use a shorter tool.
Errors that drift during a run are thermal. A spindle grows as it warms. Over a two-hour roughing cycle, Z can move 0.02–0.03 mm on an air-cooled spindle. If the tolerance is ±0.005 mm, let the machine warm up and re-check the tool length before finishing. Do not chase the drift with a wear offset mid-cycle.
One more pattern: the first part is good and later parts move. That is usually fixture-related. Chips under a locating face, a clamp that relaxes, or thermal growth in the fixture itself. An offset change can bring the part back into tolerance once, but it will not hold a 10,000-part run.
Which offset to change, based on the symptom
Match the observed error to the offset family before touching numbers.
| Observed symptom | Offset to check | Typical adjustment | When it will not help |
|---|---|---|---|
| All features shifted in X or Y | Work offset (G54–G59) | 0.01–0.05 mm shifts | If shift varies part to part |
| Whole part shifted in Z | Tool length offset | 0.005–0.02 mm | If Z varies within one cut |
| Profile size off, position correct | Cutter radius comp | Half the diameter error | If wall is tapered |
| Bore diameter drifting over a run | Tool wear offset | 0.005–0.01 mm steps | If drift is thermal |
| Angled face off on 5-axis | Rotary center / pivot | Set at install, verify yearly | If only one tool is off |
| Second vise position off | Second work offset | Re-zero that station | If fixture moved mid-run |
| First part good, later parts drift | None of the above | Fix fixture or warm-up | Offset only masks it once |
The short version
If the whole part has moved, change the work offset. If one feature is the wrong size in the right place, change the tool radius or wear offset. If the error changes during the run, stop changing offsets and fix the process instead.
Offset questions we get from engineers
What is the difference between tool offset and work offset?
Tool offset describes the tool: its length from the gauge line and its radius. Work offset describes the part: where its origin sits in machine space.
You need both. Tool length changes when you swap a cutter. Work offset changes when you move the vise or load a different fixture.
Can I run a part without cutter radius compensation?
Yes, if the CAM system already offsets the path by the tool radius. Many 3-axis programs are posted that way and run fine.
The trade-off is flexibility. Without compensation you cannot adjust size at the control, and you cannot easily swap in a reground tool. For tight-tolerance profiles, keep compensation on.
How often should offsets be verified?
Check tool length at the start of every setup, and after any tool change on a critical feature. Verify work offsets when a fixture is moved or a new pallet is loaded.
On long runs, re-check tool length after warm-up. Spindle growth of 0.02 mm over a couple of hours is normal and enough to break a ±0.005 mm tolerance.
Why does my part measure correct on the machine but wrong on the CMM?
The two systems may not share a datum. The machine measures from the work offset origin; the CMM measures from the drawing datum. If the fixture locating face is not the drawing datum, the numbers will differ.
Temperature is the other common cause. A part measured warm on the machine can shrink 0.01–0.02 mm per 100 mm when it cools to 20 °C.
What happens if I enter the wrong sign on radius compensation?
The tool center moves to the wrong side of the contour. On a Ø20 mm pocket, the cut can end up roughly 10 mm off in diameter.
Check the lead-in direction and G41/G42 before the first cut. A dry run above the part with the spindle stopped costs a minute and catches this.
Do 5-axis machines need extra offsets?
Yes. Beyond tool and work offsets, a 5-axis machine needs the rotary center or pivot point. It defines where the two rotary axes intersect.
If that point is wrong, angled faces and rotated features land off even when X, Y, and Z are perfect. It is set during installation and verified with a test cut.
Send us a drawing and we will check the setup
We review the part, the tolerances, and the fixture plan, and come back with a quotation and a free DFM analysis within 12 hours.
12-hour quote100% inspectionNDA on request