Free Windows/Linux tool to convert images into laser engraving G-code for Marlin-based machines.
Load an image, adjust settings, export G-code — no coding required.
Download GCodeRaster-Setup.exe from the link above, run the installer, and launch LaserRaster from the Start Menu.
LaserRaster takes an image (PNG, JPG, BMP, WEBP, TIFF) and converts it into raster G-code that a Marlin-compatible laser engraver can execute. The laser power varies per pixel to reproduce the image as a burn on wood, leather, or similar materials.
- Load an image — drag or browse to load your source image
- Position on the virtual bed — drag the image on the bed preview or type exact X/Y offsets
- Adjust settings — scale, line spacing, feed rate, laser power range, brightness, contrast, gamma
- Export G-code — save a
.gcodefile ready for your machine
The app scans the image row by row (with optional serpentine/bidirectional scanning), mapping each pixel's brightness to a laser power value between your configured min and max (S0–S255). Blank areas are skipped automatically — the laser head rapids over empty space instead of slowly traversing it.
| Setting | What it controls |
|---|---|
| Bed width/height | Your machine's work area (mm) |
| Scale | Image size as % of original aspect ratio |
| X/Y offset | Placement on the bed (mm) |
| Line spacing | Distance between scan lines (mm) — lower = finer detail |
| Feed rate | Laser travel speed (mm/min) |
| Min/Max power | Laser power range (S0–S255) |
| Brightness / Contrast / Gamma / Sharpness | Image adjustments before conversion |
| Invert | Swap black ↔ white |
| Serpentine | Bidirectional scanning (faster, less travel) |
| Black is hot | Whether dark pixels = more laser power |
| Cut outline | Optional rectangle cut around the engraved area |
- Marlin-compatible:
G0/G1moves,M3 S…for laser power,M5for laser off - Customisable header/footer templates with placeholders
- Coordinates in millimetres, absolute positioning
- Automatic blank-area optimisation (skips rows and gaps with no laser activity)
- Windows 10 or later (64-bit)
- A Marlin-compatible laser engraver that accepts
M3/M5laser commands
Python 3.10+ and the system libraries required by PySide6 / Qt:
Ubuntu / Debian:
sudo apt install python3 python3-pip python3-venv libgl1 libegl1 libxkbcommon0 libdbus-1-3Fedora:
sudo dnf install python3 python3-pip mesa-libGL mesa-libEGL libxkbcommon dbus-libsArch:
sudo pacman -S python python-pip mesa libxkbcommon dbus# Download the source archive from the latest release
wget https://github.com/NeutralSystem/LaserRaster/releases/latest/download/LaserRaster-source.zip
# Extract into a package directory
mkdir LaserRaster-build && cd LaserRaster-build
unzip ../LaserRaster-source.zip -d LaserRaster
# Create a virtual environment and install dependencies
python3 -m venv .venv
source .venv/bin/activate
pip install -r LaserRaster/requirements.txt
# Run
python3 -m LaserRaster.mainMIT, Free to use.
