What G2 / G3 means

An arc block combines an endpoint with enough information to locate the circle. In the usual XY plane (G17), I and J describe the arc center relative to the start point unless an absolute-center mode such as G90.1 is active. R supplies a radius instead, but can be ambiguous for arcs larger than 180 degrees.

Arcs are compact and can produce smoother files than thousands of short G1 segments. Their exact interpretation depends on the active plane, distance mode, center mode and firmware features. Helical arcs add movement on the third axis while the tool follows the curve; P may request multiple turns on controllers that support it.

Syntax and parameters

G2 [X<end>] [Y<end>] [I<center-x>] [J<center-y>] [E<pos>] [F<rate>]
G3 [X<end>] [Y<end>] [R<radius>] [E<pos>] [F<rate>]
X / Y / Z

Arc endpoint; the active plane decides which two axes form the circle.

I / J / K

Arc-center values for the X, Y and Z axes, normally offsets from the start.

R

Circle radius; an alternative to center words on supported firmware.

P

Number of turns on firmware or controllers that implement multi-turn arcs.

E / F

Extrusion position and feed rate while following the arc.

Practical examples

Clockwise quarter circle

G17
G2 X20 Y20 I20 J0 F1200

From X0 Y0, the center is 20 mm to the right and the endpoint is X20 Y20.

Counter-clockwise printing arc

M83
G3 X40 Y0 I20 J0 E1.8 F1500

Follows a counter-clockwise half-circle while extruding 1.8 mm of filament.

Firmware context

SystemStatusWhat changes
MarlinCommonAvailable when arc support is enabled; accepted parameters depend on the build configuration.
KlipperCheck dialectArc support is provided through gcode_arcs configuration and may be segmented internally.
RepRapFirmwareCommonSupports arc motion with firmware-specific options.
CNC controllersCommonWidely supported, but center mode, radius rules and plane behavior are controller-specific.

What this viewer can show

Visualized with normalization

The viewer measures true arc length and bounds. It normalizes modes and converts arc forms the renderer would otherwise misread; unsupported curves are reported instead of silently trusted.

Common mistakes

  • I/J/K may be relative even when X/Y/Z are absolute; check G90.1/G91.1 support.
  • A full circle can have the same start and endpoint, so the center or radius information is essential.
  • R arcs, helical motion and multi-turn P arcs are not implemented identically by every firmware.

Primary sources

This page is an original explanation, reviewed against the firmware documentation below. Always confirm commands against the firmware and configuration on the machine that will execute them.