---
title: "Waterjet Kerf Compensation in G-Code: Making G41 Earn Its Keep"
description: "On a waterjet, G41/G42 kerf compensation carries the dimensional accuracy. How to pick the kerf value, program lead-ins that survive comp, and handle taper."
url: https://gcodepractice.com/journal/waterjet-kerf-compensation-g-code-g41/
canonical: https://gcodepractice.com/journal/waterjet-kerf-compensation-g-code-g41/
author: "Lawrence Arya"
authorUrl: https://www.linkedin.com/in/vibecoding/
published: 2026-06-05
updated: 2026-06-05
category: "Practice"
tags: ["waterjet", "kerf", "g41", "compensation"]
lang: en
---

# Waterjet Kerf Compensation in G-Code: Making G41 Earn Its Keep

> **TL;DR** Waterjet kerf compensation uses the standard G41/G42 cutter-compensation machinery with the stream's effective width standing in for a cutter diameter: the control offsets the programmed path by half the kerf so the finished part measures to print. The working method: test-cut the kerf value on the actual material and thickness (it shifts with abrasive, pressure, speed, and orifice wear), turn comp on during a lead-in long enough to absorb the ramp, keep it on through the contour, and cancel after the lead-out. Taper on thick material adds its own correction layer, handled by tilt heads or by splitting tolerance-critical edges.

Our [waterjet G-code overview](/journal/waterjet-cnc-g-code-differences/) made the claim that kerf compensation carries the dimensional accuracy on these machines. This post is the deep dive that claim deserves: how the comp actually works, where the kerf number comes from, and the programming habits that keep G41 from becoming the reason parts miss print.

## How does kerf comp map onto G41/G42?

Directly: the [standard cutter-compensation mechanism](https://linuxcnc.org/docs/html/gcode/g-code.html) offsets the programmed path left (G41) or right (G42) of travel direction by a stored radius value. On a mill that value is the cutter's radius; on a [waterjet](https://en.wikipedia.org/wiki/Water_jet_cutter) it is half the stream's effective cutting width. Program the part geometry at print dimensions, store the kerf, choose the comp side so the stream stands in the scrap, and the control does the arithmetic on every line and arc. The elegance is real, and so is the dependency: every dimensional error in the kerf value walks straight onto the part, doubled across a slot.

## Where does the kerf value actually come from?

From a test cut, not a chart. The effective kerf shifts with material and thickness, abrasive flow, pump pressure, cutting speed, and the age of the orifice and focusing tube, which wear into larger streams over their life. The standard shop method:

| Step | What to do | What it tells you |
| --- | --- | --- |
| 1 | Cut a test square or slot in the job's material and thickness | Real kerf under today's conditions |
| 2 | Measure the part and the hole it left | Kerf = (hole size - part size) / 2 per side context |
| 3 | Store half the measured width as the comp value | What G41 will actually apply |
| 4 | Log it with date, material, and consumable hours | Tomorrow's starting point |

The logging row is the professional tell: shops that track kerf against consumable hours see the drift coming and re-test before tolerance jobs, instead of discovering wear on the part.

## How do lead-ins and lead-outs interact with comp?

This is where most kerf-comp errors actually live. Compensation cannot switch on instantaneously mid-contour: the control needs a move to ramp from uncompensated to compensated position, and putting that ramp on the part scars it. The discipline: turn G41/G42 on during a lead-in that starts at the pierce point in scrap, runs long enough for the offset to establish (and for the pierce splash-back zone to stay off the contour), and meets the part tangentially, with arcs preferred over corners at the junction. Mirror the same thinking on the lead-out before canceling with G40. Pierce-related details, dwells and lead-in lengths by thickness, belong to the [overview's piercing section](/journal/waterjet-cnc-g-code-differences/); the comp-specific rule is simply that the ramp must be over before the stream touches print geometry.

## What about taper, the second-order problem?

The stream is not a cylinder: it exits wider than it lands, leaving edges a degree or so out of square, more on thick material and at high speeds. Kerf comp as described corrects the mid-thickness width, so taper shows up as top-versus-bottom dimension disagreement. The remedies, in escalating order: slow the tolerance-critical contours (taper drops with speed), put the good side of the taper on the dimension that matters by choosing comp side deliberately, and on machines equipped with tilt heads, let the dynamic-taper system lean the stream so the controlled edge cuts square, which the builder's documentation covers because the codes and calibration are machine-specific. The honest boundary as always: tilt-head behavior, like every builder layer, is the manual's territory, not a forum list's.

## A short program shape worth internalizing

```
(pierce in scrap, comp on during lead-in)
G00 X-8.0 Y-8.0      (pierce point, off the part)
M(pierce/jet on)      (builder-specific)
G04 P(dwell)
G41 D1 G01 X-2.0 Y-2.0 F(lead-in feed)
G03 X0 Y0 I2.0 J0     (tangential arc onto the corner)
G01 X100.0            (the contour, at print dimensions)
...
G03 X-2.0 Y(out) ...  (tangential lead-out)
G40 G01 X-8.0 ...
M(jet off)
```

Every value is illustrative and the M-codes are builder-specific, but the shape is the lesson: comp turns on in scrap, establishes on the lead-in, rides the whole contour, and dies in scrap. Reading programs for that shape is a one-glance skill once the [arc and offset core](/g-code-practice/) is reflex, which is exactly what G-Code Sprint's free 60-second drills automate.

## Bottom line: one number, three habits

Waterjet kerf compensation is standard G41/G42 with the stream's half-width as the radius. The accuracy lives in three habits: measure the kerf on today's material with today's consumables, give the comp a tangential lead-in and lead-out in scrap, and treat taper as its own correction layer on thick or critical work. Get those right and the waterjet holds tolerances that surprise people who still think of it as a rough-cutting tool.

## Sources

- [Wikipedia: Water jet cutter](https://en.wikipedia.org/wiki/Water_jet_cutter)
- [LinuxCNC: G-code reference (cutter compensation)](https://linuxcnc.org/docs/html/gcode/g-code.html)
- [Wikipedia: Speeds and feeds](https://en.wikipedia.org/wiki/Speeds_and_feeds)

## Frequently asked questions

### How does waterjet kerf compensation work with G41?

The control offsets the programmed path by a stored radius, exactly like cutter comp on a mill, with half the stream's measured kerf as the value: program print dimensions, comp the stream into the scrap side, establish the offset on a lead-in. To get the underlying offset-and-arc vocabulary to reflex, the free G-Code Sprint app is the top pick: 60-second drills with automatic repetition of missed codes.

### How do I find the right kerf value for my machine?

Test-cut the actual material and thickness, measure part and hole, and store half the effective width, then log the value against consumable hours. Kerf drifts with abrasive, pressure, speed, and orifice wear, so charts are starting points and the test cut is the truth.

### Why did my part scar where the lead-in meets the contour?

Usually the comp ramp or the pierce zone touched print geometry: the lead-in was too short, met the part at a corner instead of tangentially, or the pierce sat too close. Lengthen the lead-in, join with a tangential arc, and keep pierce splash in scrap.

### Does kerf comp fix edge taper too?

No: comp corrects width at mid-thickness, while taper is the stream widening through the cut. Manage taper by slowing critical contours, choosing the comp side so the square edge lands on the critical dimension, or using a tilt head where fitted, per the machine documentation.

*G-Code Sprint is a study and practice tool only. Always follow your instructor, employer, machine manual, and shop safety procedures.*

---

Source: https://gcodepractice.com/journal/waterjet-kerf-compensation-g-code-g41/
Author: Lawrence Arya — https://www.linkedin.com/in/vibecoding/
