Batch-engrave serial numbers and variable text on your xTool laser — no Conveyor needed. Designed for xTool machines running XCS. Tested with the F1 Ultra.
XCS Batch Runner automates the repetitive part of engraving a series of numbered parts.
You set up a template in XCS with a placeholder text like SN0001, tell the tool your range
(e.g. SN0031–SN0100), and it handles the rest:
- Changes the text in XCS automatically for each part
- Clicks Process and Start
- Waits for you to confirm on the laser's hardware button
- Detects when engraving is complete and moves to the next part
You only interact with the laser hardware button — once per part (or once per jig cycle).
- Windows 11
- xTool laser with Wi-Fi connection (any model running XCS; tested with the F1 Ultra)
- xTool Creative Space (XCS) v1.6.x installed
- No additional software needed — portable
.exe, just double-click
Download the latest XCS Batch Runner-X.X.X-portable.exe from the
Releases page.
Double-click to run — no installation required. On first launch the app extracts itself (~20 s, shows a splash screen). All subsequent launches open in under 2 seconds.
Windows Developer Mode is required for the very first launch. If you see an error about symlinks, enable it: Settings → Privacy & Security → For Developers → Developer Mode.
The app guides you through 6 steps:
The tool checks whether XCS is already running with the required debug port (9222). If it is, you can proceed immediately. If not, click XCS starten to launch it automatically.
Important: XCS must always be launched through this tool. Opening XCS directly from Explorer (e.g. double-clicking a
.xcsfile) skips the debug port, and the tool won't be able to connect.
Open your .xcs template in XCS as usual (File → Open). The tool detects the open file
automatically. Your template needs at least one text element — for example SN0001.
Connects to the XCS canvas engine internally. Runs automatically in under a second.
The tool lists all text elements found in your file. Click the element(s) you want to vary. If only one element exists, it is pre-selected automatically. Clicking an element also highlights it on the XCS canvas so you can see exactly which one you picked.
Multi-Part Jig: If your fixture holds multiple parts at once (e.g. 4 parts per cycle), select one text element per slot — in the order you want them filled. The runner will write N consecutive values to the N slots and trigger a single engraving pass per cycle.
This is what a typical template looks like in XCS before the loop starts:
Two modes, switchable via the tab at the top right:
Variable number mode:
The prefix (SN), padding (4 digits), and optional suffix are auto-detected from the current
text in your template. Enter your Start and End values. A preview line shows the full
list — e.g. 70 parts: SN0031, SN0032, …, SN0099, SN0100.
If a previous batch was run with this template, the tool suggests the next value automatically.
Excel import mode:
Import a .xlsx, .xls, or .csv file. Select the sheet and column, set the first and
last data row — the tool shows a preview of the values. The loop will iterate through them
in order.
The runner starts. For each part (or jig cycle):
- Sets the text in XCS
- Clicks Process → Start (sends job to laser)
- Waits for you to press the hardware button on the laser to confirm
- Detects job completion and advances to the next value
The current value is shown large in the center. The log shows each action with timestamps. A time estimate (average per cycle) builds up after the first few completions.
Controls:
| Button | Action |
|---|---|
| ← Prev | Jump back one jig cycle |
| Pause | Finish current job cleanly, then pause |
| Next → | Jump forward one jig cycle |
| Resume | Continue from pause |
| Cancel | Abort current job in XCS, then pause (same value can be retried) |
If XCS cancels a job on its own (e.g. lid opened during engraving), a prompt appears:
- Retry — engrave the same value again
- Skip — mark as skipped and continue with the next
The header shows live status at all times:
| Indicator | Meaning |
|---|---|
| Lid | OPEN (red/yellow) or CLOSED (green) |
| Safety | XCS toggle "Stops when enclosure opened" — ON (green) / OFF (yellow) |
| Laser | Model name (e.g. F1 Ultra) when connected, red not connected otherwise |
| Service | Local backend server — online / offline |
The runner responds automatically:
- No laser connected — waits before clicking Start; will proceed once the laser comes online
- Lid open + Safety ON — waits for the lid to close, then clicks Start again
- Lid open + Safety OFF — no wait (the laser runs regardless)
The last successfully engraved value is saved per template file. When you start a new batch with the same template, the tool automatically suggests the next value — no need to remember where you left off.
- XCS must be started through the tool — opening XCS directly will skip the debug port
- XCS version compatibility — internal hooks may break if xTool restructures the XCS bundle. Tested with XCS v1.6.x / Chromium 136
- Windows only — macOS and Linux are untested
- Hardware button required — every job must be confirmed at the laser (intentional, for safety)
If this tool saves you time, a small donation is appreciated:
GPL v3 — see LICENSE.
Copyright (C) 2026 Christian Schiffer | schiffer-soft
⬇ Neueste Version herunterladen
XCS Batch Runner automatisiert den Seriengravier-Ablauf für durchnummerierte Teile.
Du erstellst eine Vorlage in XCS mit einem Platzhalter-Text wie SN0001, gibst deinen Bereich an
(z.B. SN0031–SN0100) und das Tool übernimmt den Rest:
- Ändert den Text in XCS automatisch für jedes Teil
- Klickt Process und Start
- Wartet, bis du am Hardware-Knopf des Lasers bestätigst
- Erkennt das Ende des Auftrags und geht automatisch zum nächsten Teil
Du interagierst nur mit dem Hardware-Knopf am Laser — einmal pro Teil (oder Jig-Zyklus).
- Windows 11
- xTool Laser mit WLAN-Verbindung (alle Modelle mit XCS; getestet mit dem F1 Ultra)
- xTool Creative Space (XCS) v1.6.x installiert
- Keine weitere Software nötig — portable
.exe, einfach doppelklicken
Lade die aktuelle XCS Batch Runner-X.X.X-portable.exe von der
Releases-Seite herunter.
Doppelklick zum Starten — keine Installation nötig. Beim ersten Start entpackt sich die App (~20 s, zeigt einen Splash-Screen). Alle weiteren Starts öffnen das Fenster in unter 2 Sekunden.
Windows-Entwicklermodus ist beim allerersten Start nötig. Falls ein Fehler wegen Symlinks erscheint: Einstellungen → Datenschutz & Sicherheit → Für Entwickler → Entwicklermodus.
Die App führt dich durch 6 Schritte:
Das Tool prüft, ob XCS bereits mit dem notwendigen Debug-Port (9222) läuft. Wenn ja, kann direkt weitergemacht werden. Wenn nicht, klick XCS starten.
Wichtig: XCS muss immer über dieses Tool gestartet werden. Startet man XCS direkt aus dem Explorer (z.B. per Doppelklick auf eine
.xcs-Datei), fehlt der Debug-Port und das Tool kann sich nicht verbinden.
Öffne deine .xcs-Vorlage in XCS wie gewohnt (Datei → Öffnen). Das Tool erkennt
die geöffnete Datei automatisch. Die Vorlage braucht mindestens ein Text-Element,
z.B. SN0001.
Verbindet sich intern mit der XCS Canvas-Engine. Läuft automatisch in unter einer Sekunde.
Das Tool listet alle Text-Elemente der Datei. Klick die Elemente an, die variiert werden sollen. Gibt es nur eines, wird es automatisch vorausgewählt. Ein Klick auf ein Element markiert es gleichzeitig im XCS-Canvas, damit du genau siehst, welches Element du ausgewählt hast.
Multi-Part-Jig: Wenn dein Jig mehrere Teile gleichzeitig hält (z.B. 4 Teile pro Zyklus), wählst du ein Element pro Slot — in der Reihenfolge, in der die Werte vergeben werden sollen. Der Runner schreibt N aufeinanderfolgende Werte auf die N Slots und löst einen einzigen Gravierauftrag pro Zyklus aus.
So sieht eine typische Vorlage in XCS vor dem Start aus:
Zwei Modi, umschaltbar über den Tab oben rechts:
Variante: Variable Nummer
Prefix (SN), Padding (4 Stellen) und optionaler Suffix werden aus dem aktuellen Text
der Vorlage automatisch erkannt. Start- und Endwert eingeben — eine Vorschau zeigt die
komplette Liste, z.B. 70 Stück: SN0031, SN0032, …, SN0099, SN0100.
Hat bereits eine Charge mit dieser Vorlage stattgefunden, schlägt das Tool den nächsten Wert automatisch vor.
Variante: Excel-Import
.xlsx-, .xls- oder .csv-Datei einlesen. Tabellenblatt und Spalte wählen, erste und
letzte Datenzeile angeben — das Tool zeigt eine Vorschau der Werte. Der Loop iteriert
dann in dieser Reihenfolge.
Der Runner startet. Pro Teil (bzw. Jig-Zyklus):
- Text in XCS setzen
- Process → Start klicken (Auftrag geht an den Laser)
- Warten, bis du den Hardware-Knopf am Laser zum Bestätigen drückst
- Fertigmeldung erkennen, zum nächsten Wert wechseln
Der aktuelle Wert wird groß in der Mitte angezeigt. Das Log zeigt jeden Schritt mit Zeitstempel. Nach den ersten Zyklen baut sich eine Zeitschätzung auf (Ø pro Zyklus).
Steuerung:
| Schaltfläche | Aktion |
|---|---|
| ← Vorherige | Einen Jig-Zyklus zurück |
| Pause | Laufenden Job sauber zu Ende, dann pausieren |
| Nächste → | Einen Jig-Zyklus vorwärts |
| Resume | Aus Pause weitermachen |
| Cancel | Laufenden Job in XCS abbrechen, dann pausieren (gleicher Wert kann wiederholt werden) |
Wenn XCS selbst abbricht (z.B. Haube wurde während der Gravur geöffnet), erscheint ein Prompt:
- Wiederholen — selben Wert nochmal gravieren
- Überspringen — als übersprungen markieren, mit dem nächsten weitermachen
Der Header zeigt jederzeit den aktuellen Zustand:
| Anzeige | Bedeutung |
|---|---|
| Haube | OFFEN (rot/gelb) oder ZU (grün) |
| Sicherheit | XCS-Toggle „Stoppt bei geöffneter Haube" — AN (grün) / AUS (gelb) |
| Laser | Modellname (z.B. F1 Ultra) wenn verbunden, sonst rot nicht verbunden |
| Dienst | Lokaler Backend-Server — online / offline |
Der Runner reagiert automatisch:
- Kein Laser verbunden — wartet vor dem Start-Klick, bis der Laser online geht
- Haube offen + Sicherheit AN — wartet bis Haube zu ist, klickt dann Start automatisch
- Haube offen + Sicherheit AUS — kein Warten (Laser läuft trotzdem)
Der zuletzt erfolgreich gravierte Wert wird pro Vorlagendatei gespeichert. Beim nächsten Start mit derselben Vorlage schlägt das Tool automatisch den nächsten Wert vor — du musst dir nicht merken, wo du aufgehört hast.
- XCS muss über das Tool gestartet werden — direktes Öffnen aus dem Explorer fehlt den Debug-Port
- XCS-Versionskompatibilität — interne Hooks können brechen, wenn xTool das XCS-Bundle in einer neuen Version umstrukturiert. Getestet mit XCS v1.6.x / Chromium 136
- Nur Windows — macOS und Linux ungetestet
- Hardware-Knopf erforderlich — jeder Auftrag muss am Laser bestätigt werden (bewusst, für Sicherheit)
Wenn dir das Tool Zeit spart, freue ich mich über eine kleine Spende:
GPL v3 — siehe LICENSE.
Copyright (C) 2026 Christian Schiffer | schiffer-soft







