GitPedia

Rayforge

A software for laser cutters and engravers

From barebaric·Updated June 28, 2026·View on GitHub·

Rayforge is a modern, cross-platform 2D CAD, G-code sender and control software for GRBL, Marlin, Ruida, and Smoothieware-based laser cutters and engravers. Built with Gtk4 and Libadwaita, it provides a clean, native interface for Linux, MacOS and Windows, offering a full suite of tools for both hobbyists and professionals. The project is written primarily in Python, distributed under the MIT License license, first published in 2025. Key topics include: cadcam, engraving, gcode, gcode-generation, gcode-sender.

Latest release: 1.8.0Release 1.8.0
June 15, 2026View Changelog →

GitHub Release
PyPI version
Snap Release
Launchpad PPA
License: MIT

Get it from the Snap Store
<a href="https://flathub.org/apps/org.rayforge.rayforge"><img alt="Get it from Flathub" src="website/static/images/flathub-badge.svg" height="55"/></a>
<a href="https://www.patreon.com/c/knipknap"><img src="https://c5.patreon.com/external/logo/become_a_patron_button.png" alt="Become a Patron" height="55"/></a>

Rayforge

Rayforge is a modern, cross-platform 2D CAD, G-code sender and control software for GRBL, Marlin, Ruida, and
Smoothieware-based laser cutters and engravers.
Built with Gtk4 and Libadwaita, it provides a clean, native interface for Linux, MacOS and Windows, offering a full suite of tools
for both hobbyists and professionals.

Screenshot

You can also check the official Rayforge homepage.
We also have a Discord.

Key Features

Design & Editing

FeatureDescription
Parametric Sketch EditorCreate precise, constraint-based 2D designs with geometric and dimensional constraints.
Comprehensive 2D CanvasFull suite of tools: alignment, transformation, measurement, zoom, pan, and more.
Multi-Layer OperationsAssign different operations (e.g., engrave then cut) to layers in your design.
Stock Material SystemDocument-level stock with geometry, thickness, and material assignment.
Undo/RedoFull undo/redo support across all document operations.
Broad File SupportImport from SVG, DXF, PDF, JPEG, PNG, BMP, and Ruida (.rd). Export to SVG and DXF.
Project Files (.ryp)Compressed project format preserving all assets, layers, and configurations.

Operations & Toolpaths

FeatureDescription
Versatile OperationsSupports Contour, Raster Engraving (with cross-hatch fill), Shrink Wrap, Depth Engraving, and Frame.
2.5D CuttingMulti-pass cuts with configurable step-down for thick materials.
True 4th Axis SupportFull rotary axis support - as 4th axis, or axis replacement mode for hobby machines.
Animated 3D SimulationSimulate toolpaths in 3D with animated playback, scrubber, and speed control.
Holding TabsAdd tabs to contour cuts. Supports manual and automatic placement.
Overscan & Kerf Comp.Improve engraving quality with overscan; ensure dimensional accuracy with kerf compensation.
Dithering AlgorithmsFloyd-Steinberg and Bayer ordered dithering for high-quality raster engraving.
Post-ProcessorsLead-in/lead-out, merge overlapping lines, and crop toolpaths to stock boundary.
Advanced Path GenerationImage tracing, travel time optimization, path smoothing, and spot size interpolation.

Machine Control

FeatureDescription
Multi-Machine ProfilesConfigure and instantly switch between multiple machine profiles.
Device ProfilesDeclarative device packages with import/export for sharing configurations.
Work Coordinate Systems6 WCS (G54-G59) with per-layer assignment for cutting at different offsets.
No-Go ZonesDefine restricted areas with collision detection before sending G-code.
Machine Hours & MaintenanceTrack operating hours with configurable maintenance counters and notification thresholds.
GRBL Firmware SettingsRead and write firmware parameters ($$) directly from the UI.
Arc & Bezier CurvesNative G2/G3 arc and G5 bezier curve support with automatic linearization.
Multi-Laser OperationsChoose different lasers for each operation in a job.
G-code DialectsSupports GRBL, Smoothieware, Marlin, LinuxCNC, Mach4, and custom dialects via built-in editor.
G-code Macros & HooksRun custom G-code snippets before/after jobs. Supports variable substitution.
Pre-flight ChecksValidates bounds, work area, and no-go zone collisions before sending a job.
G-code ConsoleInteractive console with syntax highlighting and search.

Materials & Presets

FeatureDescription
Material Library60+ built-in materials across categories with search and user-created material libraries.
Recipe/Preset SystemAuto-matching presets by material, thickness, machine, and laser head with specificity scoring.
Material Test GridGenerate power/speed test grids to find optimal laser settings for a given material.

Workflow & Automation

FeatureDescription
Camera IntegrationUSB camera for workpiece alignment, positioning, background tracing, and fisheye calibration.
AI Workpiece GenerationGenerate SVG workpieces from text prompts using OpenAI-compatible AI providers.
Print & Cut AlignmentAlign cuts to printed material using registration marks with a guided wizard.
Headless/CLI ModeWorker-only mode without UI for batch processing and automation.
Projector ModeProject toolpaths onto your machine bed for alignment.

Platform & Extensibility

FeatureDescription
Modern UIPolished UI built with Gtk4 and Libadwaita. Supports system, light, and dark themes.
Addon SystemBuilt-in addon manager for installing and managing community extensions.
ExtensibleOpen development model makes it easy to add support for new devices.
Cross-PlatformNative builds for Linux, Mac and Windows.
Multi-LanguageAvailable in English, Portuguese, Spanish, German, French, Ukrainian, and Chinese.
Update CheckerAutomatic background check for new versions via the GitHub Releases API.

Device Support

Device TypeConnection MethodNotes
GRBLSerial PortSupported since version 0.13. The most common connection type.
GRBLTelnetSupported since version 0.16.
GRBLNetwork (WiFi/Ethernet)Connect to any GRBL device on your network.
SmoothiewareTelnetSupported since version 0.15.
MarlinSerial PortSupported since version 1.7.2.
RuidaNetwork (UDP)Connect to Ruida-based controllers via UDP.
OctoPrintNetwork (HTTP API)Connect through an OctoPrint server.

Installation

For installation instructions refer to our homepage.

Development

For detailed information about developing for Rayforge, including setup instructions,
testing, and contribution guidelines, please see the
Developer Documentation.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from barebaric/rayforge via the GitHub API.Last fetched: 6/28/2026