PES, DST, and JEF are the three embroidery file formats you'll run into most often. They all describe the same basic thing — a sequence of stitches — but they differ in which machines read them, what extra data they carry, and, most importantly and least discussed, what they do to your thread colours.
In this guide
The comparison table
| Format | Used by | Stores colours? | Best for |
|---|---|---|---|
| PES | Brother, Baby Lock | Yes — snapped to Brother's chart | Home machines from these brands |
| DST | Tajima, most industrial/multi-needle | No | Industrial machines and cross-brand sharing |
| JEF | Janome, Elna | Yes — snapped to Janome's chart | Home machines from these brands |
What's actually inside a stitch file
None of these formats contains a picture. There is no image in a PES file, and the preview your machine shows you is drawn by the machine from the stitch data itself. What's in there is a list of instructions:
- Stitch coordinates — a long run of relative moves, each one saying "advance this far in x and y, and put the needle down".
- Jumps — a move with the needle up, used to travel between parts of a design.
- Trims — cut the thread here.
- Colour changes — stop, the operator (or the multi-needle head) switches thread.
- Stops — pause for the operator to do something, like applying an appliqué piece.
Because it's a list of moves rather than a drawing, a stitch file can't be meaningfully resized after the fact. Scaling the coordinates scales the gaps between needle penetrations, so a design scaled up gets sparse and a design scaled down gets so dense it turns to cardboard — the stitch count stays the same while the area changes. That's why resizing a stitch file is a different operation from resizing an image, and why it only works within a narrow band.
PES — Brother & Baby Lock
PES is the native format for Brother and Baby Lock home machines, and it's the most common format in the hobbyist world by a wide margin. A PES file is really a wrapper: it contains a PEC block holding the actual stitches, plus PES-level metadata around it including the colour list and hoop information.
The practical quirk worth knowing is how PEC handles travel between parts of a design. Its encoding leans heavily on trim-jumps — a move that cuts the thread and travels — rather than uncut jumps. The upshot is that PES files tend to have more thread trims than the same design exported to DST, which means more jump ends to clip on the finished piece. It's not a defect, it's how the format's contingency handling works, but it does mean the same design can feel messier out of a Brother than out of a Tajima.
DST — Tajima & industrial
DST is the closest thing to a universal embroidery format. Most machine brands read it even though it isn't their native format, which is why embroidery shops almost always ask for DST when you send them work.
Structurally it's austere: a fixed 512-byte header carrying a design name, stitch and colour-change counts and the design's extents, followed by three bytes per stitch. That's it. There's no colour information anywhere in the file — a DST records "change colour here", not "change to red here".
That's the trade. DST's universality comes precisely from carrying nothing brand-specific, and the cost is that thread colours travel separately, in your head or on a printed sheet. You can see this directly: open any DST in the stitch simulator and it'll show colour blocks in placeholder colours, because those are the only colours available to show.
JEF — Janome & Elna
JEF is the native format for Janome and Elna machines and sits between the other two in spirit: it carries colour information like PES, and it's structurally straightforward like DST. It also stores hoop information, which matters on Janome machines that will refuse a design that doesn't fit the hoop they think is attached.
What each format does to your colours
This is the part that surprises people, and it's the same in every piece of embroidery software, not just this one.
PES and JEF do not store your colours as RGB values. They store an index into the machine manufacturer's thread chart — Brother's palette for PES, Janome's for JEF. When your design is exported, every colour you picked is matched to the nearest available thread in that chart, and the index is what gets written.
So the exact hex you chose in the editor is not what comes out the other end. It gets rounded to the closest thread the manufacturer sells. Usually that's close enough that nobody notices; occasionally, with a brand colour that sits between two chart entries, it isn't.
There's a second-order effect worth knowing about: if two different colours in your design both round to the same nearest chart entry, the exporter has to break the tie, or two visually distinct parts of your design would come out identical. The writer detects the collision and pushes one of them to its next-nearest thread instead — so with closely-related shades you may find one of them shifts slightly further than you expected.
DST, having no colour data at all, side-steps the whole issue and hands it to you: nothing is rounded because nothing is stored. Your colour sequence is whatever you write down.
SEW, EXP, VP3 and XXX
Beyond the big three:
- SEW — older Janome machines, before JEF: the Memory Craft 5700, 8000 and 9000. SEW has a hard cap of 12 thread colours, which is the one real gotcha in this group. A busy design has to be simplified before it will fit, and an export that would exceed the cap should be caught and reported rather than silently truncated.
- EXP — Melco and Bernina. Minimal, like DST, and likewise carries no threadlist of its own.
- VP3 — Husqvarna Viking and Pfaff. Carries colour data.
- XXX — Singer. Carries colour data.
Which should you pick?
- Check your machine's manual. It names a native format, and the native format is always the right answer for your own machine.
- Sending work to someone else? DST, unless they've told you otherwise. It's the format most likely to just work on an unknown machine.
- Sending to a commercial shop? DST, essentially always. They'll assign their own thread colours from their own stock anyway.
- Selling designs? Supply several. Buyers have every brand of machine, and the same design exports to all of them without being redone.
click-stitch exports PES, DST, JEF, SEW, EXP, VP3 and XXX from the same design, so picking the wrong one isn't expensive — you can export another without redoing any work. The step-by-step converter guide covers the full process, or go straight to the image to PES or image to DST converters.
Converting between formats
Converting a design you already have as stitches — a DST you were sent, say, into a PES your machine reads — is a different job from digitizing an image. Nothing is re-digitized; the stitches are already decided, and only the container changes. That's what the format converter does.
What can be lost in the process:
- Going to DST or EXP, you lose colour names. The colour changes survive; the colours themselves don't.
- Coming from DST, there are no colours to recover. A DST-to-PES conversion has to invent a palette, because the source genuinely doesn't have one.
- Going to SEW, a design over 12 colours won't fit.
- Nothing improves. Conversion can't add detail that isn't in the stitches. A coarse design stays coarse.
Going deeper on one format
This page is the side-by-side. Each format also has its own guide covering what is actually inside the file, the quirks that come from its structure, and how to open and convert it:
- What is a PES file? — the PEC block inside every PES, and why an older Brother refuses a newer one.
- What is a DST file? — the 512-byte header, and why the format has nowhere to keep a colour.
- What is a JEF file? — the hoop field, and the refusal it causes.
To look inside a file you already have, the DST, PES and JEF viewers open one in your browser and play it back stitch by stitch, without uploading anything.
Common questions
Is DST better quality than PES? No — the stitches are identical. DST is simply more portable and carries less metadata.
Can I open a PES file on a Janome? Not natively. Convert it to JEF first.
Why does my design have a different number of colour changes after converting? Usually because consecutive blocks of the same colour got merged, or because the source format recorded a stop that the target format expresses differently. The stitching is the same.
My DST opened with completely wrong colours. Expected. DST has no colours; whatever software you opened it in assigned some. Set them to what you intend before stitching.
Can I resize a PES or DST file? Within a narrow band, yes — roughly 0.8× to 1.25× is safe, with a hard limit either side of that. Beyond it the stitch density goes wrong, because scaling moves the needle penetrations without changing how many there are. For a larger change, re-digitize from the original artwork.
Which format should I use for a patch? Any of them, as long as your machine supports stop commands if you're using a multi-stage process. See the patch guide.