← Open Viewer
GCodexG-Code Guide › G2
G2

G2 G-Code: Clockwise Arc

G2 moves the machine in a clockwise circular arc at the programmed feed rate. The arc is defined by the end point (X, Y) and the arc center offset from the start (I, J) — or by radius R.

Syntax

G2 [X] [Y] [Z] [I] [J] [R] [F]

Parameters

ParameterDescription
X/YEnd point of the arc
I/JArc center offset from START point in X and Y
RArc radius — simpler alternative to I/J but can be ambiguous
FFeed rate in mm/min

Examples

G2 X50 Y0 I25 J0 F600
↑ CW semicircle: start (0,0), end (50,0), center at (25,0)
G2 X0 Y0 I10 J0 F800
↑ CW full circle (start=end, center 10mm in X)
G2 X30 Y30 R30 F500
↑ CW arc using radius — end at (30,30), radius=30mm

Important Notes

  • G17 (XY plane) must be active for G2/G3 arcs in most programs.
  • I/J format is more reliable than R format — R is ambiguous for arcs greater than 180°.
  • G2 and G3 are modal — use G1 to return to linear moves.

Common Mistakes

  • ❌ Arc radius mismatch error: I/J values must satisfy equal radius from start and end — floating point rounding causes this. Use R format or round to 3 decimal places.
  • ❌ Forgetting to set G17 plane before arcs on multi-axis machines.

Frequently Asked Questions

Q: What is the difference between G2 and G3?
G2 cuts a clockwise arc (when viewed from positive Z, looking down). G3 cuts a counter-clockwise arc. Both use the same parameters (X/Y end point, I/J center offsets, R radius). Climb milling finish passes typically use G3 for conventional mill setups.
Q: When should I use R format vs I/J format for arcs?
Use I/J for most arcs — it is unambiguous and reliable. R format is convenient for short arcs (less than 180°) but is ambiguous for arcs greater than 180° and may produce unexpected paths on some controllers. If precise arc geometry matters, always use I/J.