Skip to content
Stitch Toolbox

File formats

DST file format explained: what Tajima files store, and what they leave out

How a DST is built: the 512-byte header, three-byte stitch records, the 12.1 mm limit, trims as three jumps, and why there are no colours. What to send with one.

5 min read · Published September 10, 2026

DST is the format every commercial embroidery machine reads, which makes it the format every design ends up in sooner or later. It is also the format that surprises people most, because the file has no idea what colour anything is. Understanding the layout explains both.

The header

A DST starts with a 512-byte text block, padded with spaces, in fixed fields:

LA:Star            (design name, 16 characters)
ST:   1234         (record count)
CO:  3             (colour changes)
+X:  450           (extent to the right, in 0.1 mm)
-X:  450
+Y:  300
-Y:  300
AX:+    0          (position after the last stitch, relative to the start)
AY:+    0
MX:+    0          (unused)
MY:+    0
PD:******          (unused)

Then a 0x1A byte and space padding to 512. Three things worth knowing:

  • ST counts records, not stitches. Jumps and colour changes are records too, so ST is a little higher than the stitch count a machine displays.
  • CO is the number of colour changes, so a three-colour design shows CO: 2. Some software writes the block count instead; readers ignore the field and count the stops in the data.
  • +Y is the extent upwards on the machine, which is downwards on a screen. Software that gets this the wrong way round produces a header that disagrees with the stitches, and some machines refuse the file. The viewer reads the stitches, not the header, so it opens those files; the writer here was checked byte for byte against pyembroidery so the ones it produces do not have the problem.

Some software adds non-standard lines. Wilcom and Pulse can write TC: lines listing thread colours (TC:#ff0000,Red,1147), which the viewer honours when present. Nothing else reads them, so do not rely on them.

The stitch records

After the header, every record is three bytes. The first two bytes encode the movement and the third the command, in a ternary scheme: bits stand for ±1, ±3, ±9, ±27 and ±81 in x and y. Adding them up gives any movement from −121 to +121 units, which is why a DST stitch cannot be longer than 12.1 mm.

The third byte's top bits say what the record is:

| Third byte | Meaning | |---|---| | xx xxxx11 (bit 7 clear) | Stitch: move and put the needle down | | 10 xxxx11 | Jump: move without stitching | | 11 000011 | Colour change (stop) | | 01 000011 | Sequin mode toggle | | 11 110011 | End of design |

There is no trim command. A trim is signalled by writing three consecutive jumps, usually tiny ones that go out and back, which the machine's firmware treats as a trim request. Older machines could be set to trim after a different number of jumps; three is the convention everyone converges on, and it is what the converter writes. When you open a DST, runs of three or more jumps are shown as trims for the same reason.

Because the format is relative, a bad byte anywhere shifts the rest of the design. That is rare with modern software but it is the usual cause of a DST that opens as a scribble.

What DST does not store

Colours. A stop is a stop. The operator threads the machine from a colour sheet, and multi-needle machines are set up with a needle sequence for the job. Every viewer, including this one, invents colours for the blocks so you can tell them apart; those colours mean nothing.

Thread names, brand, weight. Nothing. If the shop needs Isacord numbers, they need a sheet. The viewer's colour sheet prints one from whatever file you converted from.

Speed changes. Barudan U01 and some Tajima TBF files can slow the machine through dense areas; DST cannot.

Hoop or origin. The AX/AY fields say where the needle ends relative to where it started. Most software centres the design on the origin before writing; the converter does the same by default.

Sizes and limits

The header fields are five characters, so bounds up to ±9999 units, just under a metre. Records are unlimited in number in practice; the largest files in our test corpus are 300,000 records and read in under a second in the browser.

The 12.1 mm record limit matters when converting from formats that allow longer stitches, such as VP3 (25.5 mm) or DSB. A long satin stitch becomes a jump followed by a stitch: the needle still lands in the right place, but the thread is carried over the jump portion instead of being laid as a stitch. On a satin column this is invisible; on a long running stitch it leaves a loose float. The pre-flight check counts stitches over 12.1 mm before you convert so you can decide.

Sending a DST to a shop

Send three things: the DST, a colour sheet with the block order and thread numbers, and a preview image. Most shops will ask for the thread brand they stock (Madeira or Isacord in most of the world), so run the design through the thread converter first if your file uses a different brand.

If the shop runs Tajima machines, ask whether they take TBF. It carries the colour list and needle order in the file, so the sheet becomes a backup rather than the only source of truth. Barudan U01 and Tajima TBF covers both.

Converting to and from DST

To DST from anything: colours dropped, trims become jump triplets, stitches over 12.1 mm split. Use PES to DST, JEF to DST or the general converter.

From DST: blocks get placeholder colours; if you are converting to a format that stores colours (PES, JEF, VP3, TBF), recolour the blocks in the viewer first so the machine screen shows the right threads. Trims are inferred from jump runs. DST to PES explains the palette mapping.

DSB (Barudan) and DSZ (ZSK) use the same header with a different record layout that allows 25.5 mm; TAP (Happy) is the DST stitch stream with no header at all; EXY (Melco E00 to E02) is DST stitches after a 256-byte header. The converter reads all four and writes DSB and DSZ.

Questions

Why does my DST open with random colours?

DST has no colour data. The viewer or machine assigns a colour to each block so you can tell them apart. Use the colour sheet from the original file, or recolour the blocks in the viewer before saving a copy in a format that stores colours.

What does ST in the header mean?

ST is the record count: every stitch, jump and command in the file. It is usually a little higher than the stitch count the machine displays, which counts needle-downs only.

Can a DST hold a design larger than 12.1 mm stitches?

The design can be any size; a single record cannot move more than 12.1 mm. Longer stitches are written as a jump plus a stitch, so the needle travels the same distance but the thread is not laid down on the jump portion.

Is DST better than PES for a commercial shop?

Every commercial machine reads DST, which is why shops ask for it. TBF keeps colours and is read by Tajima; if the shop accepts it, send both.