Turn SVG vectors into machine-ready embroidery
Stitch is a single API call that converts an SVG into stitch-ready
.DST and .PES files — fills, outlines, pull compensation,
tie-offs and per-colour thread stops included. Built for n8n and automation pipelines.
One POST /api/v1/digitize → a zip with both machine formats.
# Upload an SVG, get back a stitch-ready zip curl -X POST "https://stitch.y99.tech/api/v1/digitize?hoop_mm=100" \ -F "file=@logo.svg" \ -o output.zip # → output.zip # ├── logo.dst # └── logo.pes
Upload an SVG, get your stitch files
Drop a vector file below and Stitch returns a zip containing the .DST and .PES — straight from your browser.
🎨 Design preview
Posts to /api/v1/digitize. The digitizing service must be running for this to work.
Design Analysis
Based on stitch density, jump counts, and stability.
Production digitizing, fully automated
No desktop punching software, no manual export. Drop an SVG in, get a hoop-ready stitch file out.
Real stitch logic
Tatami scan-line fills for closed shapes, running-stitch outlines, and arc-length sampling so curves stay smooth.
Pull compensation
Objects are expanded about their centroid to counter fabric draw-in, so the sewn result matches the artwork.
Tie-offs & trims
Every object is bracketed with tie-on/tie-off knots; jumps and trims handle travel between shapes.
Colour stops
Each distinct SVG colour becomes its own thread with a colour change — preserved in the .PES output.
Hoop scaling
Designs are uniformly scaled and centred to fit any square hoop (10–400 mm) with a safe margin.
n8n-ready
A plain multipart endpoint that returns a binary zip — wire it straight into a webhook workflow.
From vector to needle in four stages
A clean data flow: parse the SVG DOM, plan the stitches, export both machine formats, return a zip.
Parse SVG
The XML DOM is walked, paths are flattened and sampled into X/Y arrays, and fill/stroke colours are resolved.
Scale to hoop
Geometry is uniformly scaled, Y-flipped and centred into embroidery units (0.1 mm) for your chosen hoop.
Digitize
Fills, outlines, pull compensation and tie-offs are generated per colour with pyembroidery.
Export
Both .DST and .PES are written and streamed back to you in a single zip.
One endpoint, two files
Send an SVG as multipart form-data. Receive a zip containing the machine files.
- Method
- POST
- Path
/api/v1/digitize
- Body field
file(.svg)
- Query
hoop_mm= 10–400
- Returns
- application/zip
curl -X POST \ "https://stitch.y99.tech/api/v1/digitize?hoop_mm=100" \ -F "file=@design.svg" \ -o design_embroidery.zip # Health check curl https://stitch.y99.tech/health # → {"status":"ok"}
Wire it into your workflow
n8n: an HTTP Request node — POST, form-data field file, binary response. That's the whole integration.