Skip to content

Creating jobs

A job in GRBL Server is a single G-code execution targeted at a machine. Jobs are generated from an SVG (vector), a DXF drawing, or an image (raster), processed through an interface, optionally clipped/cropped or arranged into a grid, and queued onto one or more machines.

This page covers the one-off path — picking a file, choosing an interface, running it. For reusable batch production, see Workflow basics.

Loading files

GRBL Server picks up files from one of three places:

  • Local folder — a directory on the host computer. Drag files into the UI or drop them in %USERPROFILE%\Documents\GRBL-SERVER\local_folder\<group>. Default group is default.
  • Mediators (database) — SVGs pulled by a SQL query from an external database. Useful for production where designs are tied to orders.
  • S3 / cloud storage — files in an S3-compatible bucket, browsed from File Loaders → S3. Upload, select and set up jobs there the same way as the local folder.
grblserver.local
GRBL Server Local Folder page showing three SVG files (order_42_keychain, order_43_tag, order_44_coaster) with thumbnails, a Multiplier input, and Select All / Remove / Set up job buttons
Local Folder page — drag-and-drop area at the top, file thumbnails below, batch actions in the middle.

The quick path: a one-off job

  1. Open File Loaders → Local Folder in the sidebar.
  2. Drag an SVG, DXF or image file into the upload area, or browse to it.
  3. Click the file thumbnail to select it (a check appears in the corner).
  4. Optionally set a Multiplier (how many copies of this file should go through the job).
  5. Click SET UP JOB.
  6. The Set up job page opens with your files on the pre-visualizer canvas. In the settings panel on the left:
    • Pick a machine — its working area becomes the bed in the pre-visualizer.
    • In Dynamic mode, pick an interface (the engine parameters for this material — power, speed, passes, fill density…) and, optionally, a saved presetor switch to Manual mode and set the engine parameters right there in the panel.
    • Use the Grid and Crop/Clip buttons under the canvas to tile the job or constrain it to the material on the bed.
  7. Drag the files on the pre-visualizer canvas to lay them out on the bed.
  8. Click Create job. GRBL Server generates the G-code and the job lands in Storage → Jobs, ready to run on the machine.
grblserver.local
GRBL Server Set up job page — a settings panel with a Dynamic/Manual mode toggle and machine, interface and preset selectors on the left, and a pre-visualizer canvas on the right showing three SVG files arranged on the machine bed
The Set up job page: choose the machine and interface (or switch to Manual mode) in the panel on the left; arrange the job on the bed in the pre-visualizer on the right.

Manual mode — skip the interface

When you need a quick job and don't want to create or modify an interface first, switch the Set up job page to Manual mode. The full set of engine parameters appears in the settings panel, so you can dial them in for this one job without leaving a permanent interface behind.

When to use manual mode

  • A one-off prototype where you'll throw the settings away after.
  • A quick test cut on scrap material to dial in a new laser or a new material.
  • Trying a parameter tweak before deciding whether to save it as a real interface.
  • Anything where creating a named interface would be more bookkeeping than the job is worth.

How manual mode works

  1. On the Set up job page, switch the mode toggle from Dynamic to Manual instead of picking a saved interface.
  2. The full set of engine parameters appears in the settings panel: scale, power, feed rate, pass count, laser mode (M3 / M4), fill density and direction, raster resolution, and the rest. It's the exact same parameter set you'd see inside an interface's Engine Params dialog.
  3. Configure the parameters directly in the panel for the job you're about to run.
  4. Pick the machine, optionally apply a grid or crop/clip as usual.
  5. Position the files in the pre-visualizer, then click Create job. The parameters are stored on the job record, but no interface is created or modified.

Vector and raster in one job

GRBL Server ships with a single conversion engine that handles both kinds of content from the same interface — you don't pick "vector mode" or "raster mode" up front:

  • SVG paths, polygons, and curves are approximated into G-code moves with laser on/off commands. Transforms and groups are preserved.
  • DXF drawings (CAD exports) are converted from their line, arc, and polyline entities into vector G-code moves. The output units are configurable, so a drawing made in inches or millimetres lands at the right size.
  • Bitmap images (PNG, JPG) are mapped pixel-by-pixel to laser power or dwell time, producing engraved fill patterns.
  • SVGs that embed raster images alongside vector outlines are processed in a single job — the engine runs the raster fill where the embedded image is, then the vector pass for the surrounding paths.

Filename filters in mediators & local folder

When a workflow loads from the local folder or a mediator, you can filter which files come through:

ParameterEffect
prefixOnly files whose name starts with this string. "order_" matches order_42.svg, not logo.svg.
suffixOnly files whose name ends with this (before the extension). "_engrave" matches order_42_engrave.svg.
extensionsComma-separated list. "svg, gcode" includes both. Blank = all.
recurseInclude subfolders.

Running, pausing, stopping

Once a job is on a machine, you control it from the Working page or the Job station view:

  • Pause — sends a feed hold. The controller stays connected and the laser is off. Resume picks up where it left off.
  • Stop — terminates the job and clears the queue on that machine. Use it when something has gone visibly wrong.

Job state lives on the server

You can start a job from your laptop and pause it from your phone — the state is tracked on the server, not on the device that submitted it. That's part of the point.

Multipliers

The Multiplier field next to each file decides how many copies of that file the job should include. Combined with a grid, it's how you produce 24 keychains from one SVG.

The Jobs page

Storage → Jobs shows every job that has been generated — running, queued, completed, errored, cancelled. Each row links to a job record with the generated G-code, original file reference, and timing.

Editing the generated G-code

From a job record you can inspect or edit the G-code directly in the built-in editor — syntax-highlighted, with line numbers, a find tool with match navigation, and go-to-line. Use it for a quick fix (tweak a feed rate, delete a stray move, add a comment) without regenerating the whole job. Very large files relax the highlighting to stay responsive, and files past the configured size limit ask for confirmation before they load.

What's next

Something unclear or wrong on this page? Tell me — beta docs improve fastest from real questions.