G-code Scale & Rotate
LocalScale, rotate, mirror or move G-code toolpaths — arc centers (I/J) follow the geometry. Free online, no sign-in, nothing uploaded.
Transform math: each line is resolved modally (G20/G21 units, G90/G91 distance mode, G-less modal continuation lines) into absolute endpoints, then P′ = mirror · rotate · scale (around the rotation center, default 0,0) + translation is applied. Single-axis mirroring swaps arc direction (G2↔G3, including G02/G03); F/S/T modal words and comments are never rewritten. G91 deltas are recomputed step by step from transformed endpoints — dX/dY translation applies to G90 absolute coordinates only; Z depth is not transformed.
Drag files here, or click to browse
Supports GCODE, NC, GCO, TAP, CNC, NGC, TXT
Choose fileWhat is it? G-code Scale & Rotate scales, rotates, mirrors and translates G-code toolpaths, recomputing arc centers (I/J) so the geometry stays correct — single-axis mirroring swaps arc direction (G2↔G3) automatically. F/S/T modal words, line numbers and comments are never rewritten. Rotation and mirroring happen around a configurable center (default 0,0); everything runs locally in your browser, nothing is uploaded.
TL;DR: Scale, rotate, mirror and translate G-code toolpaths — arc centers (I/J) follow the geometry, with a before/after toolpath preview. Free with no sign-in; everything runs locally in your browser, nothing uploaded.
How to use
- Set the transform values (scale X/Y, rotation, mirrors, offsets, rotation center).
- Drop a G-code file — the transform runs automatically, with a before/after toolpath overlay preview and a program-modal readout (G20/G21 units · G90/G91 distance mode; dX/dY translate in that unit and apply to G90 only).
- Click "Download" to save the transformed G-code, and preview the toolpath in G-code Viewer before running it.
FAQ
What happens to arcs when mirroring?
Centers (I/J) transform with the geometry and arc direction is swapped automatically (G2↔G3, including zero-padded forms and modal continuation lines). F/S/T modal words and comments are never rewritten.
Which units?
The program's own units (G20/G21 are not converted).
Are files uploaded?
No, everything runs locally in your browser.
Is it free? Do I need an account?
Yes — transforming a G-code file uses a free daily allowance and needs no sign-in. Batch runs and larger quotas are the paid Pro tier.
Can I scale a G-code file to a different stock size or printer bed?
Yes — set Scale X and Scale Y (independent, or linked for uniform scaling), check the before/after toolpath preview and the bounding-box summary, then download. Z depth is not scaled (scale and translate apply to X/Y only), so make sure that still matches your stock.
How do I rotate a toolpath 90 degrees?
Set the rotation angle to 90 (any angle works) and choose the rotation center — the default is 0,0, but for parts far from the origin you usually want the center of the bounding box so the part rotates in place. The preview overlay shows the result before you download.
Does this translate G-code between dialects, firmwares or formats?
No — "translate" here means moving the toolpath with X/Y offsets (G90 absolute coordinates only). This tool does not convert G-code to STL or other formats, and it does not translate between 3D-printer firmwares or CNC dialects. It rewrites coordinate words of the program you already have.
Are feed rates, spindle speed and comments rewritten?
No — only coordinate words on G0/G1/G2/G3 motion lines are rewritten (including G-less modal continuation lines). F/S/T modal words, line numbers and comments pass through unchanged, so your speeds and feeds survive the transform.
Examples
- Drop a .gcode → set Mirror X → click Download (preview in G-code Viewer first)
- Scale a laser-cut program 0.9 to fit a smaller sheet, then mirror it for a left-hand part.
Supported formats
Limitations
- Only coordinate words on G0/G1/G2/G3 motion lines are rewritten (including G-less modal continuation lines); F/S/T modal words, line numbers and comments pass through unchanged.
- Both G90 and G91 are supported: G91 deltas are recomputed step by step from transformed endpoints (no cumulative drift); dX/dY translation applies to G90 absolute coordinates only (an incremental program's start point is machine-defined).
- dX/dY are interpreted in the program's own units (inch for G20 programs, mm for G21) — the success panel shows a program-modal readout (G20/G21 units · G90/G91 distance mode) and the dX/dY labels pick up the unit.
- Z depth is not transformed (scale/translate apply to X/Y only).
- Coordinates use the program's own units (G20/G21 are not converted).
- Non-uniform scaling (Scale X ≠ Scale Y) does not support R-format arcs — use I/J arcs or uniform scaling.
- Runs locally in your browser, nothing is uploaded.
Privacy
Privacy first: this tool runs entirely in your browser — your input and files never leave your device, and everything is cleared when you close the page.