Embroidery File Info Reader
Drop a DST, PES, EXP or JEF file to read what is inside it.
Wrong size, too many trims or no colors?
We fix or rebuild stitch files by hand, quoted after a free file check. New designs are hand digitized at a flat price per design, with every machine format and unlimited revisions.
You get the design width and height, stitch count, jumps, trims and color changes, the thread colors where the format stores them, the header fields and a preview. The file is read locally in your browser. Nothing is uploaded.
How the reader gets the file info
An embroidery machine file is a list of needle moves, not a picture. The reader decodes that list the way a machine would, one record at a time, and keeps a running position. Every time the needle goes down it counts a stitch; every move without stitching counts as a jump; every stop for a new needle counts as a color change. The width and height come from the lowest and highest stitch positions, so they describe the area that actually gets stitched.
Each format stores the moves differently, and the reader follows the published format descriptions:
- DST (Tajima): a 512-byte text header, then 3-byte records. Each record moves the needle in steps of 0.1 mm, up to 121 units, and two control bits mark it as a stitch, a jump or a color change. There is no trim command: trims are written as a short run of jumps, so the reader counts a run of three or more jumps as one trim. That threshold is a convention shared with our file converter, not part of the format, so treat the DST trim count as an estimate.
- PES (Brother): starts with a version string such as
#PES0001and a pointer to the PEC section. The PEC section holds the stitches, flagged as stitch, jump or trim, and one palette index per color block. The reader shows those colors. - EXP (Melco): no header at all, only 2-byte stitch records with a control byte for jumps, color changes and trims. There are no colors and no label to read.
- EMB (Wilcom): not a stitch file at all, but not a closed box either. It is an OLE2 compound file, the same container Microsoft used for older Office documents, holding Wilcom's editable design objects. Two parts inside it are readable: a preview image, stored as zlib-compressed JPEG, and a standard property list carrying the stitch count, colours, size, trims and machine. The design objects are not, so the reader shows those numbers and that picture and stops there. It is the master file worth keeping, not the file a machine sews.
- JEF (Janome): a 116-byte binary header holding the date the file was written, the hoop it was saved for and the design extents, then one 4-byte thread number per color block, then 2-byte stitch records escaped with
0x80for jumps, color changes and the end of the design. The thread numbers point into Janome's own thread range, so a JEF is the one common machine format that names its threads rather than only showing a color. Like DST it has no trim command, so trims are estimated from runs of jumps.
Worked example (a real header, read the way this tool reads it): the EduTech wiki publishes a sample DST header with LA:sequin3, ST: 685, CO: 1, +X: 270, -X: 270, +Y: 224 and -Y: 224. Adding the X extents gives 540 units of 0.1 mm, so the design is 54.0 mm (2.13 in) wide; the Y extents give 44.8 mm (1.76 in) high. CO: 1 means 1 color change, so 2 color blocks, and ST: 685 counts 685 records in total, including jumps and color changes, so the real stitch count is somewhat lower.
How to read an embroidery file (step by step)
- Add the file. Drop a .dst, .pes, .exp or .jef file on the drop zone, or click to browse. It is read in your browser and never uploaded.
- Check the size. Read the design width and height in millimeters and inches, measured from the stitches themselves.
- Check the counts. See stitches, jumps, trims and color changes, so you can compare the file with the job you quoted.
- Read the colors. A JEF names its Janome threads and a PES shows its PEC palette colors. A DST or EXP has none, so set them from the digitizer's color list.
- Read the header. For a DST, compare the LA, ST, CO and extent fields with what the stitches contain. For a JEF, check the hoop it was saved for.
- Share or act. Copy a link to the summary, open the file in the converter or viewer, or send it to us for a free file check.
What each field means
| Field | What it tells you |
|---|---|
| Width and height | The stitched area, from the outermost stitches, in millimeters and inches. Check it against the placement and your hoop before you sew. |
| Stitches | Needle penetrations only. Jumps and color changes are not included, which is why this is lower than a DST header's ST value. |
| Jumps | Moves without stitching, between areas or as part of a trim. Long, frequent jumps usually mean more trims and a slower run. |
| Trims | Thread cuts. Read directly from PES and EXP; estimated for DST from runs of three or more jumps, because DST has no trim command. |
| Color changes | Stops for a new needle. The design has one more color block than color changes. Two blocks can use the same thread, and a stop can be a pause rather than a new color. |
| Thread colors | JEF: the Janome thread name and number stored for each block. PES: the PEC palette color for each block, the nearest of 64 Brother threads. DST and EXP store no colors, so the preview uses placeholders. |
| LA (DST) | The design label the machine displays, up to 16 characters in the header. |
| ST (DST) | The total number of records in the file, including jumps and color changes. |
| CO (DST) | The number of color change records. |
| +X, -X, +Y, -Y (DST) | How far the design reaches right, left, up and down from its start point. Machines can use them to check the hoop fits without reading every stitch. The reader treats them as 0.1 mm units and checks them against the stitches. |
| AX, AY (DST) | Where the last point is relative to the start, in 0.1 mm. Often zero. |
| MX, MY, PD (DST) | Fields for designs split across several files, a paper tape era feature. Almost always zero, and PD is usually six asterisks. |
| Hoop (JEF) | The hoop the design was saved for, written as a code from 0 to 4. It is what the file claims, not a check that the design fits: use the hoop size finder for that. |
| Saved (JEF) | The date and time the JEF was written, stored as plain digits near the start of the header. Useful for telling two versions of the same design apart. |
| PES version | The string at the very start of a PES. Versions 1 to 4 (#PES0001 to #PES0040) store colors only as palette indexes; versions 5 and 6 (#PES0050 to #PES0060) can also hold exact thread details. |
Limits and caveats
- Size is from the stitches. A few stray stitches far from the design make it read larger than it looks. The DST header can disagree too, if the software that wrote it counted jump positions or rounded differently; the reader flags a difference of more than 1 mm.
- DST extent units. The EduTech wiki's field table calls the extents centimeters, but its own sample header, and files written by current software, use 0.1 mm units. The reader uses 0.1 mm and shows whether the header matches the stitches, so you can see for yourself.
- DST trims are an estimate. Machines read jump sequences as trims in slightly different ways, so the same DST can trim differently on two machines. See what a DST file contains.
- JEF thread numbers are Janome's own range. The reader shows the name and catalog number each index stands for. If the digitizer worked in Madeira or Isacord, those numbers are the nearest Janome equivalent the software picked when it saved, not the thread they actually chose. Use the thread color matcher to cross them to another brand, and check against the manufacturer's card. See what a JEF file contains.
- JEF trims are an estimate, for the same reason as DST: the format has no trim command, so the reader counts a run of three or more jumps as one trim.
- PES colors are the nearest Brother thread. The reader decodes the PEC palette, not the richer thread list that PES versions 5 and 6 can hold. Thread the machine from the digitizer's list. See PES files explained.
- EXP has no signature. Any file named .exp is read as stitches, so a file that is not really EXP can produce nonsense. The reader warns when the result is implausibly large.
- Reading is not fixing. The reader cannot change density, underlay or size. Those live in the working file. If the numbers look wrong, we can fix or rebuild the file.
File info FAQ
Where the format details come from
- EduTech wiki: Embroidery format DST (header fields, 3-byte records, control codes)
- EduTech wiki: Embroidery format PES (version strings, PEC offset, 64-thread palette)
- EduTech wiki: Embroidery format EXP (no header, 2-byte records, control codes)
- EduTech wiki: Embroidery format JEF (header layout, color table, control codes)
- Microsoft MS-CFB: the Compound File Binary container a Wilcom EMB is wrapped in
- pyembroidery: JefReader, JefWriter and the Janome thread list used for JEF color names
- Brother Support: types of embroidery data (DST shown with a default color sequence)
The DST, EXP and PES decoding is copied from our embroidery file converter, which follows the public format descriptions used by the open-source pyembroidery library. The JEF reader follows the same library's JEF header layout, control codes and Janome thread list, and is checked against files that library writes. Checked 24 September 2026.
Related free tools
PlixaLabs is a trading name of Zorixo Ventures, LLC (USA) and Zorixo Ventures Ltd (England & Wales, Co. No. 15975548).
Need a file that reads right and sews right?
Hand digitized by the PlixaLabs digitizing team, digitizing since 2015, and checked by a second digitizer. Flat price per design, set by complexity: see the price list. Standard turnaround 4–8 hours, 24/7.