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 / ZArc endpoint; the active plane decides which two axes form the circle.
I / J / KArc-center values for the X, Y and Z axes, normally offsets from the start.
RCircle radius; an alternative to center words on supported firmware.
PNumber of turns on firmware or controllers that implement multi-turn arcs.
E / FExtrusion position and feed rate while following the arc.
Practical examples
Clockwise quarter circle
G17
G2 X20 Y20 I20 J0 F1200From 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 F1500Follows a counter-clockwise half-circle while extruding 1.8 mm of filament.
Firmware context
| System | Status | What changes |
|---|---|---|
| Marlin | Common | Available when arc support is enabled; accepted parameters depend on the build configuration. |
| Klipper | Check dialect | Arc support is provided through gcode_arcs configuration and may be segmented internally. |
| RepRapFirmware | Common | Supports arc motion with firmware-specific options. |
| CNC controllers | Common | Widely supported, but center mode, radius rules and plane behavior are controller-specific. |
What this viewer can show
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.