What Is A CNC Work Offset

Picture of Written By Technical Content Lead

Written By Technical Content Lead

6 min read
November 15, 2025

This is an image of a CNC work offset

CNC Work Offsets Explained

Work offsets tell the CNC machine where the part is located on the table. Until you set them, the machine has no idea where your stock, vise or fixture actually sits in space. The program references a zero point, and the work offset defines that zero inside the real machine environment.

When a programmer creates toolpaths, they define an origin on the blueprint. This origin might be a corner of the part, the center of a hole, the top of the stock or the top of the vise jaw. The machine has its own built in zero called machine home, but that position has nothing to do with where your part is clamped. The work offset links the programmer’s origin to the physical location of the part.

Most machines use standard offset names such as G54, G55, G56 and so on. Each one stores an X, Y and Z shift that tells the control how far the part zero is from machine home. When you call G54 in your program, the machine instantly shifts its coordinate system to match the actual part location.

You set work offsets by touching off a known reference point. This can be done with an edge finder, a probe or manual touch. You find the exact X and Y position of the datum on the part, then find the Z reference surface. Once stored, the machine now understands exactly where the part sits.

Without correct work offsets, the machine cuts in the wrong place.
With correct work offsets, every move aligns perfectly with the part.

Work offsets matter because they turn a theoretical toolpath into a real machining operation. They allow the machine to hit dimensions, avoid collisions, and repeat jobs with accuracy. Once a beginner understands work offsets, the entire CNC process becomes far more predictable.

What is a CNC work offset

A CNC work offset is a set of X, Y and Z values that tell the machine where the part is physically located on the table. It shifts the machine’s coordinate system so the toolpaths line up with the real world.

Every CNC program is created around a zero point chosen by the programmer. That zero might be the top of the stock, a corner of the part, the center of a bore or the top of the vise jaw. The machine home position is nowhere near that point. A work offset bridges that gap by telling the control how far the part’s zero is from machine home.

When you call a work offset such as G54, the machine instantly applies those stored values and redefines where zero is. From that moment on, every tool move is calculated relative to the real part, not the machine’s built in origin.

Without a correct work offset, the machine cuts in the wrong place, at the wrong height, or into the wrong feature. With an accurate offset, toolpaths become precise, consistent and repeatable across setups and future runs.

A CNC work offset is how you align the digital world of the CAM program with the physical world inside the machine.

Why CNC machines use work offsets

CNC machines use work offsets because the machine’s built in zero has nothing to do with where your part is actually sitting. A CNC only knows its own home position. It does not know where the vise is, where the stock is, or where the programmed zero point is until you tell it.

Work offsets solve that problem.

A work offset shifts the machine’s coordinate system so the programmed origin and the physical origin become the same point. Once that shift is applied, every movement, every depth and every feature lines up exactly with the part.

CNC machines use work offsets for several reasons.

To match the programmer’s intent to the real setup
The CAM program expects a specific zero point. Work offsets align the machine to that expectation so the toolpaths cut the right geometry.

To allow flexible workholding
You can place the part anywhere on the table. Set the offset and the machine adjusts. This makes setups faster and far less rigid.

To let multiple parts run in different locations
Offsets like G54, G55, G56 allow the same program to run on multiple parts without rewriting code. Each offset represents a different origin for each part.

To improve repeatability
Once an offset is dialed in, you can rerun the job in the future with minimal adjustment. The machine repeats the part precisely because the coordinate shift is stored.

To avoid crashes and mistakes
Incorrect offsets cause tools to plunge too deep or cut in the wrong location. Correct offsets give the control accurate reference points so every move is predictable.

Work offsets exist because a CNC machine cannot guess where the part is. They turn a machine with no awareness of the setup into a system that understands exactly where to cut.

How work offsets differ from tool offsets

Work offsets and tool offsets do two completely different jobs, even though beginners often mix them up. Understanding the difference is a core part of becoming a competent machinist.

Work offsets tell the machine where the part is.
They define the X, Y and Z location of the part zero in the machine.
G54, G55 and other work offsets shift the entire coordinate system so the toolpaths line up with where the part is physically clamped.

If the work offset is wrong, the machine cuts in the wrong place.

Tool offsets tell the machine how long each tool is and how wide it cuts.
Every tool has a different stickout and diameter. Tool length offsets (often H values) tell the machine how far the tool tip is from the spindle face. Tool diameter offsets (D values) tell the machine how much to compensate for cutter width.

If the tool offset is wrong, the machine cuts at the wrong depth or cuts the wrong size.

Simple way to remember it
Work offsets locate the part.
Tool offsets describe the tool.

Example
If you set the work offset correctly but the tool offset is wrong, the machine will move to the right location but cut too deep or too shallow.
If you set the tool offset correctly but the work offset is wrong, the machine will cut the right depth but in the wrong spot.

Both systems work together.
Work offsets position the part in space.
Tool offsets position the tool relative to the spindle.

A CNC cannot make an accurate part unless both are correct.

Why G54 is used most often

G54 is the default work offset on most CNC machines, so operators use it more than any other. When you power up the machine or load a new program, the control assumes you are working in G54 unless you tell it otherwise. This makes it the fastest and simplest choice for single part setups, training and day to day machining.

G54 is used most often for several practical reasons.

It is the standard starting point
Most shops teach beginners to use G54 for a single part because every machine recognizes it and every machinist understands it.

It reduces confusion
Using a predictable first offset prevents mistakes like calling G55 or G56 by accident, which would shift the coordinate system and cause a crash.

It matches the default behavior of CAM software
Most CAM systems post programs assuming G54 unless configured otherwise. This keeps programming and machining aligned.

It simplifies repeat setups
If the machine always uses G54 for the first part, you can rerun a job months later without guessing which offset you used last time.

It keeps multi part setups organized
Shops often use G54 for the primary part, then use G55, G56 and so on for additional fixtures or duplicate parts. Starting with G54 keeps everything in order.

It minimizes human error
Beginners make fewer mistakes when they stick to a consistent offset strategy. G54 is safe, predictable and universal.

How to set X and Y origins

Setting the X and Y origins is how you tell the CNC machine where the part’s zero point sits in the horizontal plane. The program expects a specific datum, usually a corner of the stock or the center of a feature. Your job is to locate that exact point on the real part and store it in the work offset.

Identify the datum from the blueprint
Do not guess your zero. The print tells you which corner or surface defines X zero and Y zero. Everything else in the part is measured from this point, so choose the correct one before touching the machine.

Use the correct locating tool
Most beginners use one of two tools
an edge finder
a probe

Both achieve the same goal, but the probe is faster and more accurate if your machine has one.

Using an edge finder
Load the edge finder and spin it at low rpm. Jog toward the edge of the part slowly. As soon as the finder kicks off center, stop. That kick indicates the edge.
Record the machine position.
Subtract the radius of the edge finder.
Store that adjusted value into your work offset for X or Y.

Repeat the process for the second axis.

This method is simple, consistent and accurate enough for most mill work.

Using a probe
Jog the probe near the chosen edge or corner.
Run the probing cycle for X or Y.
The control automatically calculates the exact origin and stores it in your work offset.

Probing removes calculation errors and is the preferred method in modern shops.

Verify the readings
Once both X and Y origins are set, move the machine back to zero for each axis. Visually confirm the spindle lines up where you expect. If it looks wrong, it is wrong. Recheck the process.

Understand why accuracy matters
If the X and Y origins are off, every hole, pocket, slot and contour will be misplaced. The part may still be cut cleanly, but it will be completely wrong relative to the print.

When your X and Y are perfect, the entire machining process becomes predictable, repeatable and safe.

How to set the Z origin

The Z origin defines the top surface of the part or the top of the setup. This is the reference point for every depth of cut.

Common methods

  • automatic tool probe
  • manual paper touch off
  • height setter block
  • touching off on a fixed surface
 

Manual paper touch off

  • Place a sheet of paper on the material surface.
  • Jog the tool slowly downward.
  • Stop when the paper drags lightly.
  • Record that position and set it as Z zero in the offset.
 

This method is still widely used and effective for beginners.

Machine coordinates vs work coordinates

Machine coordinates are the CNC’s built in coordinate system. They never change. Work coordinates are the adjustable coordinate system you create during setup. They shift so the program lines up with the real part.

Machine coordinates
Machine coordinates define the machine’s absolute zero point, also called machine home. This is the fixed reference the machine uses to measure every position inside its travel. When you press the home button, all axes move to this exact reference point.

Machine coordinates
do not move
do not change
do not care where your vise or part is

They exist so the machine knows its own geometry and limits.

Work coordinates
Work coordinates define the zero point for the part you are machining. Instead of using the machine’s home, you shift the coordinate system so zero sits on the actual datum chosen in the blueprint.

Work coordinates
are set by the operator
change with every setup
match the part’s origin from the print

This is why you use G54, G55, G56 and so on. Each one stores a different shifted origin so the machine understands where the part is located.

Simple way to remember it
Machine coordinates tell the machine where it is.
Work coordinates tell the machine where the part is.

Example
Machine home might be twelve inches above the table.
Your part zero might be on the top left corner of the stock.
The work offset transforms the machine’s absolute coordinate system so that the programmed zero now aligns with that physical corner.

Without that shift, all toolpaths would be useless.

Machine coordinates give the CNC spatial awareness.
Work coordinates give the CNC machining accuracy.

How multiple work offsets improve productivity

Multiple work offsets allow you to run more parts, more fixtures and more operations without rewriting code or redoing a full setup. Each offset stores a different origin, so the same program can be used in several locations on the table. This is one of the simplest ways to increase output without buying more machines.

You can run multiple parts in one cycle
Place two, three or four parts in separate vises or fixtures.
Assign G54 to the first part, G55 to the second, G56 to the third.
The program cuts part one, shifts coordinate systems, cuts part two, shifts again, and so on.

The spindle stays cutting instead of sitting idle.
Your cycle time per part drops massively.

You can fixture families of parts without rewriting code
If each part uses the same geometry but is placed in a different location, you just set a new work offset. The toolpaths stay identical, which eliminates CAM time.

You reduce setup time between jobs
When a fixture has repeatable mounting points, you store the offset once.
Next time the job runs, you call the same G54 or G55 and you’re already aligned.
That saves hours across the year.

You eliminate manual shifting or reprogramming
Beginners often try to edit toolpaths or shift geometry in CAM.
Professionals shift the coordinate system instead.
It is faster, safer and less error prone.

You can run mirrored or rotated parts more easily
One fixture can hold a left hand version (G54), another a right hand version (G55).
The machine switches between them without any extra work.

You keep the machine cutting while you work
While G54 is running part one, you can load and unload parts in the G55 vise.
This keeps the spindle alive, which is the number one driver of shop productivity.

You improve repeatability for recurring jobs
If the fixture never changes, the offset never changes.
Months later, you load the job, call G54, and start cutting immediately.

Using multiple work offsets is a simple productivity multiplier.
It reduces downtime, avoids rework, speeds up setups and keeps the spindle cutting instead of waiting.

Tools that help set offsets accurately

Edge Finder
The classic tool for locating X and Y. It spins in the spindle and kicks off center when it touches an edge. Simple, reliable and accurate enough for most milling work. Every beginner should master this before relying on automation.

Electronic Edge Finder
Similar purpose, but it lights up or beeps when contact is made. Useful for beginners who want confirmation without watching for the mechanical kick.

Touch Probe
The fastest and most precise tool for offsets. Probing cycles automatically locate edges, corners, bores and surfaces. This removes calculation errors and dramatically speeds up setup. Modern shops rely heavily on probing for consistency.

Haimer 3D Sensor
A high precision dialing tool that lets you locate edges, pick up corners, center bores and verify alignment with extreme accuracy. Slower than a probe but more tactile and incredibly useful for tight tolerance work.

Dial Test Indicator
Not used for touching off, but essential for aligning vises, fixtures, soft jaws and round stock. If your workholding is wrong, your offsets will always be wrong. Indicators are the backbone of accurate setups.

Height Setter or Tool Presetter
Used to measure tool lengths outside the machine. This produces consistent, repeatable tool offsets and speeds up production work where tool changes must be accurate within tenths.

Gauge Blocks or Setup Blocks
Flat, precision standards used for setting Z zeros or verifying surfaces. They eliminate guesswork when touching off manually.

Parallels and Precision Ground Blocks
These help you establish reliable reference surfaces for setting both Z offsets and part datums. If your part is sitting crooked on poor support, your offset is doomed from the start.

Slip of Paper
Even simple paper becomes a measurement tool. Many machinists use the “paper drag” method for accurate manual Z touch off. Not glamorous, but effective when used correctly.

How to verify a work offset before running

Verifying a work offset is about proving that the machine’s understanding of part zero matches the real physical location of your datum. You never trust the offset just because you entered a number. You confirm it.

Move the machine to X zero and Y zero
After setting the offset, command the machine to go to X zero and Y zero for the active work coordinate system. The spindle should move directly above the datum corner or reference surface you intended.
If the position looks wrong, it is wrong. Do not run anything. Re check your touch off or probe cycle.

Lower the spindle close to the part without touching
Jog Z down to a safe height above the datum. This gives you a visual confirmation that you are directly above the correct point. Beginners often skip this and discover too late that they touched off on the wrong edge.

Check the offset values in the control
Look at the stored G54 or G55 numbers. Do the X and Y positions make sense relative to where your part sits on the table
If you set a left corner as zero but the value is something unrealistic, such as a positive number when it should be negative, you likely probed or touched off the wrong side.

Verify both edges, not just one
Many beginners confirm only X or only Y. Verify both. If the spindle doesn’t line up with the correct corner in both axes, you cannot trust the offset.

Check for vise misalignment or stock not seated
Even a perfect offset becomes useless if the stock is not flat or the vise is crooked. Lightly tug the part to make sure it is seated. If the part moves, your zero will move too.

Run an aircut around the perimeter
With Z raised well above the part, run the first few moves of the program. Watch the spindle trace the outline or approach path. This tells you instantly whether X and Y are correct without risking a tool crash.

Verify Z separately before trusting anything
Do not assume Z zero is correct just because X and Y look good. A bad Z offset will bury the tool on the first plunge. Touch off or probe again if anything looks questionable.

Your mindset should be simple
If the spindle does not go exactly where you expect at X zero, Y zero, or Z zero, nothing else in the program should be trusted.

The machine will do exactly what the work offset tells it to do, even if that means cutting through the vise jaw. You verify offsets so that the machine’s understanding of zero matches reality before you commit to metal.

Common causes of incorrect work offsets

Touching off on the wrong edge or wrong corner
Beginners often pick the wrong side of the stock or misread the blueprint. The machine zero ends up mirrored or shifted, and every feature is cut in the wrong place.

Stock not seated flat in the vise
If the part is sitting on chips, tilted, or not against the fixed jaw, the offset is already wrong before you even measure anything.

Vise or fixture not aligned
A crooked vise produces crooked coordinates. Even a few thousandths of misalignment shifts zero and throws off hole locations, pockets and contours.

Probing the wrong surface
If you probe the top of the vise instead of the top of the stock or vice versa, Z zero is instantly wrong. Same problem if you probe the wrong corner in X and Y.

Entering offsets into the wrong work coordinate system
Beginners sometimes set values into G55 when the program is calling G54. The machine cuts using the wrong shift and positions everything incorrectly.

Incorrect edge finder technique
Touching too fast, misreading the kick, or forgetting to subtract the radius leads to offsets that are off by several thousandths or more.

Tool length offsets not set correctly
If your Z offset depends on a tool length that is wrong, your work offset may be correct but your cutting depth will be completely wrong.

Chips or burrs on the reference surface
A single chip between the tool and the touch off point elevates the surface and produces a false Z zero. This is one of the most common beginner errors.

Moving the part after setting the offset
If the material shifts during tightening or loading, your previously accurate offsets are now useless. Beginners often do not notice the part moved.

Mixing up metric and imperial values
It happens more than you think. A millimeter entered as an inch or vice versa creates catastrophic offsets.

Using the wrong tool to set offsets
Touching off Z with a tool that has not been length measured creates mismatch between tool offsets and work offsets.

Probing with a dirty stylus
Even a tiny chip on the probe stylus gives the machine a bad measurement. Probe only after cleaning the stylus and the contact points.

Input errors on the control
A typo in the offset table is all it takes. One wrong sign (plus instead of minus) sends the spindle into empty space or straight into the vise.

How work offsets relate to CAM programming

Work offsets are how the CNC machine matches the CAM programmer’s chosen origin to the real physical part on the table. CAM creates a digital world. Work offsets align that digital world with reality.

The CAM programmer chooses the origin
In CAM, you or the programmer decide where zero is. It might be
the top left corner of the stock
the center of a hole
the top of the vise jaw
the center of a turned part

All toolpaths are generated relative to that one point. Every cut, every position, every move expects that zero to exist.

The CNC machine does not know where that point is
The machine only knows machine home. It does not know where the vise, stock or fixture sits. Without work offsets, the program would start cutting in space or into the table.

Work offsets link the digital origin to the physical setup
If CAM expects zero at the top left corner of the stock
your job is to locate that exact corner
set G54 (or another offset)
store the X, Y and Z shift values

Now the machine’s coordinate system is aligned with what CAM expects.

If the CAM origin and work offset do not match, the part is wrong
Wrong work offset
the program cuts the right shape in the wrong place

Wrong CAM origin
the program cuts the wrong geometry in the right place

This is why machinists constantly repeat
match the CAM zero to the machine zero

CAM uses multiple coordinate systems too
If CAM outputs toolpaths for multiple parts, each part can be tied to a different work offset
G54 for part one
G55 for part two
G56 for part three

The machine runs the same code but “shifts worlds” for each part location.

Tool length and diameter offsets must also match CAM assumptions
CAM assumes
the tool tip is where the offset says it is
the diameter compensation value is correct

If tool offsets are wrong, the CAM perfect toolpath produces CAM incorrect results.

In short
CAM defines the geometry.
Work offsets locate that geometry inside the machine.
Tool offsets define the tools that cut that geometry.

All three must agree or the job fails.

Do CNC lathes use work offsets the same way

CNC lathes do use work offsets, but not in exactly the same way as mills. The concept is the same
you shift the machine’s coordinate system so the program knows where the part zero is
but the execution is different because lathe geometry is simpler and more centered.

Lathes still use G54, G55, etc.
Just like mills, lathes store part zero locations in these offsets. The machine needs to know
where the face of the part is in Z
where the centerline is in X

Once stored, the control aligns the toolpaths to match the physical part.

The big difference
On lathes, X zero is almost always the spindle centerline

You rarely pick an arbitrary X origin. The lathe’s X zero is fixed
the center of rotation
the center of the spindle
the center of the part

This makes X offsets far simpler than on a mill. You do not hunt for edges. You do not probe corners. You only verify that the tool length offset is correct relative to the centerline.

Z zero is usually set at the part face
You touch the tool off on the face or use a probe/documented tool setter. That becomes Z zero. Every lathe program is built around this reference.

Why this is simpler than milling
No vise alignment
No corner datums
No multi axis origins
No rectangular geometry to locate

A lathe part is symmetrical about the centerline, which makes establishing the origin far easier.

But here is what still matters
If Z zero is set wrong, the entire part length is wrong.
If X zero tool offsets are wrong, diameters will be off.
If the stock sticks out farther or shorter than expected, the program will fail.

So while the process is simpler, the consequences of mistakes are still severe.

Is learning CNC work offsets difficult

Learning CNC work offsets is not difficult, but it feels difficult at first because you are trying to understand something invisible. You cannot see coordinate systems. You cannot see machine home. You cannot see the shift created by G54. You only see the results. That is what confuses beginners.

The actual steps are simple:

  • Pick the datum from the print
    touch off X, Y and Z
  • Enter the values into the work offset
  • Verify the origin

 

None of that is hard. What is hard is understanding why each step matters and how it fits into the bigger picture of CAM, toolpaths, and machine motion.

Beginners struggle because:

  • They rush
  • They guess the datum
  • They touch off on the wrong edge
  • They do not understand which coordinate system is active
  • They confuse work offsets with tool offsets


They skip verification and trust the first measurement they take

Once you understand that
machine coordinates never move
work offsets shift the world so the program lines up with the part
tool offsets describe how far the tool reaches

everything starts to click.

The truth is that learning work offsets is like learning to read a map. Once you understand how the reference points relate to each other, you stop being confused and start navigating with confidence.

With proper teaching and hands on practice, most beginners become comfortable with work offsets in a week or two. Mastery takes longer, but basic competency is well within anyone’s reach.

Want more helpful blog post?