Draw it, click it, stitch it.
Satin Studio is a free, browser-based embroidery digitizer. Draw designs from scratch or import flat-colour artwork (logos, doodles, badges), and it becomes stitch sections you can click — changing each section's stitch type (satin, tatami fill, running outline), thread colour, and density — then export a machine-ready .PES (Brother) or .DST (Tajima) file.
Live app: https://frankyface.github.io/satin-studio/
Everything runs in your browser: no accounts, no uploads, no cost. Designs save as local files and autosave in the browser.
⚠️ Pull compensation now exists (per-section, with fabric presets: stable / cotton / stretchy), but the presets are only starting points — fabric, thread, and stabilizer all change how much a column pulls in. Always test-stitch on scrap fabric before the good stuff.
npm install
npm run dev # local dev server
npm test # engine + app tests (vitest)
npm run build # production build (dist/)Pushing to main runs tests and deploys to GitHub Pages automatically.
The original proof-of-concept (vanilla JS satin-column toy) lives in
legacy/ — open legacy/index.html directly, tests via
node legacy/test/core.test.js.
Project docs for contributors/sessions: start at handoff.md.