A desktop application for laser cutting and engraving
Project description
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.
You can also check the official Rayforge homepage. We also have a Discord.
Key Features
Design & Editing
| Feature | Description |
|---|---|
| Parametric Sketch Editor | Create precise, constraint-based 2D designs with geometric and dimensional constraints. |
| Comprehensive 2D Canvas | Full suite of tools: alignment, transformation, measurement, zoom, pan, and more. |
| Multi-Layer Operations | Assign different operations (e.g., engrave then cut) to layers in your design. |
| Stock Material System | Document-level stock with geometry, thickness, and material assignment. |
| Undo/Redo | Full undo/redo support across all document operations. |
| Broad File Support | Import 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
| Feature | Description |
|---|---|
| Versatile Operations | Supports Contour, Raster Engraving (with cross-hatch fill), Shrink Wrap, Depth Engraving, and Frame. |
| 2.5D Cutting | Multi-pass cuts with configurable step-down for thick materials. |
| True 4th Axis Support | Full rotary axis support - as 4th axis, or axis replacement mode for hobby machines. |
| Animated 3D Simulation | Simulate toolpaths in 3D with animated playback, scrubber, and speed control. |
| Holding Tabs | Add tabs to contour cuts. Supports manual and automatic placement. |
| Overscan & Kerf Comp. | Improve engraving quality with overscan; ensure dimensional accuracy with kerf compensation. |
| Dithering Algorithms | Floyd-Steinberg and Bayer ordered dithering for high-quality raster engraving. |
| Post-Processors | Lead-in/lead-out, merge overlapping lines, and crop toolpaths to stock boundary. |
| Advanced Path Generation | Image tracing, travel time optimization, path smoothing, and spot size interpolation. |
Machine Control
| Feature | Description |
|---|---|
| Multi-Machine Profiles | Configure and instantly switch between multiple machine profiles. |
| Device Profiles | Declarative device packages with import/export for sharing configurations. |
| Work Coordinate Systems | 6 WCS (G54-G59) with per-layer assignment for cutting at different offsets. |
| No-Go Zones | Define restricted areas with collision detection before sending G-code. |
| Machine Hours & Maintenance | Track operating hours with configurable maintenance counters and notification thresholds. |
| GRBL Firmware Settings | Read and write firmware parameters ($$) directly from the UI. |
| Arc & Bezier Curves | Native G2/G3 arc and G5 bezier curve support with automatic linearization. |
| Multi-Laser Operations | Choose different lasers for each operation in a job. |
| G-code Dialects | Supports GRBL, Smoothieware, Marlin, LinuxCNC, Mach4, and custom dialects via built-in editor. |
| G-code Macros & Hooks | Run custom G-code snippets before/after jobs. Supports variable substitution. |
| Pre-flight Checks | Validates bounds, work area, and no-go zone collisions before sending a job. |
| G-code Console | Interactive console with syntax highlighting and search. |
Materials & Presets
| Feature | Description |
|---|---|
| Material Library | 60+ built-in materials across categories with search and user-created material libraries. |
| Recipe/Preset System | Auto-matching presets by material, thickness, machine, and laser head with specificity scoring. |
| Material Test Grid | Generate power/speed test grids to find optimal laser settings for a given material. |
Workflow & Automation
| Feature | Description |
|---|---|
| Camera Integration | USB camera for workpiece alignment, positioning, background tracing, and fisheye calibration. |
| AI Workpiece Generation | Generate SVG workpieces from text prompts using OpenAI-compatible AI providers. |
| Print & Cut Alignment | Align cuts to printed material using registration marks with a guided wizard. |
| Headless/CLI Mode | Worker-only mode without UI for batch processing and automation. |
| Projector Mode | Project toolpaths onto your machine bed for alignment. |
Platform & Extensibility
| Feature | Description |
|---|---|
| Modern UI | Polished UI built with Gtk4 and Libadwaita. Supports system, light, and dark themes. |
| Addon System | Built-in addon manager for installing and managing community extensions. |
| Extensible | Open development model makes it easy to add support for new devices. |
| Cross-Platform | Native builds for Linux, Mac and Windows. |
| Multi-Language | Available in English, Portuguese, Spanish, German, French, Ukrainian, and Chinese. |
| Update Checker | Automatic background check for new versions via the GitHub Releases API. |
Device Support
| Device Type | Connection Method | Notes |
|---|---|---|
| GRBL | Serial Port | Supported since version 0.13. The most common connection type. |
| GRBL | Telnet | Supported since version 0.16. |
| GRBL | Network (WiFi/Ethernet) | Connect to any GRBL device on your network. |
| Smoothieware | Telnet | Supported since version 0.15. |
| Marlin | Serial Port | Supported since version 1.7.2. |
| Ruida | Network (UDP) | Connect to Ruida-based controllers via UDP. |
| OctoPrint | Network (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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rayforge-1.7.6.tar.gz.
File metadata
- Download URL: rayforge-1.7.6.tar.gz
- Upload date:
- Size: 5.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2124202e214eae85d56376eccc13874228c852e5ba9cfe258ec55a440e7fe48
|
|
| MD5 |
1d7bfdbe17e3aafa2a95ca6d8ae3116b
|
|
| BLAKE2b-256 |
6cbc7e6430a7e006e8695459753374e323ad52ca9d03da07acfa1625144b2c8b
|
Provenance
The following attestation bundles were made for rayforge-1.7.6.tar.gz:
Publisher:
publish-to-pypi.yml on barebaric/rayforge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rayforge-1.7.6.tar.gz -
Subject digest:
b2124202e214eae85d56376eccc13874228c852e5ba9cfe258ec55a440e7fe48 - Sigstore transparency entry: 1537955884
- Sigstore integration time:
-
Permalink:
barebaric/rayforge@ca11b070367c8f0164c9e79e74803181a3576c3a -
Branch / Tag:
refs/tags/1.7.6 - Owner: https://github.com/barebaric
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@ca11b070367c8f0164c9e79e74803181a3576c3a -
Trigger Event:
push
-
Statement type:
File details
Details for the file rayforge-1.7.6-py3-none-any.whl.
File metadata
- Download URL: rayforge-1.7.6-py3-none-any.whl
- Upload date:
- Size: 6.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0a6a382e1f1daa23b280ab072e58879e707324a4bb7dfc64cd63cbe5e628c19
|
|
| MD5 |
e27aea9a5d58c6141915e5c58137a84a
|
|
| BLAKE2b-256 |
3f98e73e9515dd9f9eaf73766806f9245ca5eb4e388bede336c4d2bf92b32a75
|
Provenance
The following attestation bundles were made for rayforge-1.7.6-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on barebaric/rayforge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rayforge-1.7.6-py3-none-any.whl -
Subject digest:
d0a6a382e1f1daa23b280ab072e58879e707324a4bb7dfc64cd63cbe5e628c19 - Sigstore transparency entry: 1537955965
- Sigstore integration time:
-
Permalink:
barebaric/rayforge@ca11b070367c8f0164c9e79e74803181a3576c3a -
Branch / Tag:
refs/tags/1.7.6 - Owner: https://github.com/barebaric
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@ca11b070367c8f0164c9e79e74803181a3576c3a -
Trigger Event:
push
-
Statement type: