Every arc in G-code is a G02 or G03 move that needs one more fact than a straight line: where its center is. The language gives two ways to supply it, and beginners meet them as a confusing choice when they are really a convenient option and a robust one, with a single rule deciding when the convenient one stops working.

Why an arc needs more than its endpoints

A straight line is fully described by where it ends, the control already knows where the tool is, so G01 X.. Y.. is complete. An arc is not, because infinitely many curves connect two points, tight ones and lazy ones, bulging left or right. The missing information is the center, which fixes both how tight the curve is and which way it bows, and the direction word (G02 clockwise, G03 counterclockwise) supplies the last bit. R and I/J are simply two notations for that one missing fact, the center, which is why understanding what they share matters as much as knowing when they differ.

The two formats

FormatWhat you giveLooks likeBest for
RThe radius, directlyG02 X.. Y.. R12.5Arcs under 180 degrees, quick reads
I, JThe center, as offsets from the startG02 X.. Y.. I-10. J0.Any arc, full circles, the robust default

The R word is the friendly one: the radius is usually printed right on the drawing, so a corner round drops straight into the program. I and J are the precise one: they give the center’s position as offsets from the arc’s start point, I along X and J along Y (K handles Z in other planes), which pins the arc down completely no matter its size, and is exactly what CAM software emits because robustness beats brevity when a machine generates the code, the arc formats documented the same way across dialects.

The one rule: R breaks at 180 degrees

Here is why I/J is the default rather than just an alternative. A radius plus a start and end point does not uniquely describe an arc once the sweep reaches a half circle: there are two arcs of that radius connecting those two points, a short way and a long way around, and R cannot say which. Controls respond by guessing (sometimes wrong) or alarming, and a full circle is impossible with R at all because its endpoints coincide, leaving R nothing to anchor. I and J have no such limit: they name the center outright, so the arc is unambiguous at any sweep, which is why big radii and full circles use I/J, or the arc gets split into sub-180-degree pieces if R is required for some reason. The practical beginner rule: R for small corner rounds, I/J whenever the arc is large, a full circle, or the result looked wrong.

What I and J actually measure

The mental model that prevents most I/J errors: they are the signed distance from the arc’s start point to its center. Center 10 to the left of the start gives I-10; center 5 below gives J-5; center directly left at the same height gives I-something, J0. They are incremental from the start point on most controls by default, a convention worth confirming because some controls offer an absolute-center mode through the G90.1/G91.1 family, which reads I and J as absolute coordinates instead and turns a correct incremental program into a wrong one. The arc-center calculation, center minus start, is the genuinely useful arc skill precisely because it always works where R sometimes will not, and it is the place the confusing-math fear most often hides and most easily dissolves.

Reading and writing arcs with confidence

The working fluency is small: recognize both formats on sight, reach for R on simple sub-180 arcs, reach for I/J on anything bigger or any full circle, and check the incremental-versus-absolute center convention on an unfamiliar control. That is recall plus one rule plus one calculation, and the recall half, the arc codes and their companions, drills free in the 60-second rounds on the G-code practice page. Arcs are where many beginners first feel G-code get geometric, and the R-versus-I/J choice is the friendly door into it: one curve, two honest descriptions, and a clear rule for when to trust each.

Sources

Frequently asked questions

What is the difference between R and I/J in G-code arcs?

Two ways to define the arc’s center: R gives the radius directly, short and readable, while I and J give the center as offsets from the start point, unambiguous for any arc and what CAM emits. R suits small arcs; I/J is the robust default.

When does R fail and you need I and J?

At and beyond 180 degrees: a radius plus two endpoints describes two possible arcs once the sweep reaches a half circle, so R becomes ambiguous, and full circles are impossible with R. I and J name the center explicitly and avoid the ambiguity.

What do I and J actually measure?

The signed distance from the arc’s start point to its center, I along X and J along Y. They are incremental from the start by default on most controls, though an absolute-center mode exists, so confirm the convention.

Which should a beginner learn to compute first?

Understand both, compute I/J: R reads off the print for simple arcs, while I/J needs the center-minus-start calculation that always works. The free G-Code Sprint app drills the arc vocabulary.