What is the EXP file format?
.exp is Melco's proprietary machine-embroidery stitch format, used to transfer digitized designs to Melco commercial and semi-commercial embroidery machines. The file stores stitch data in a compact binary structure: each stitch is encoded as a pair of signed bytes representing relative X and Y movements from the previous needle position. Special byte patterns within the same stitch stream serve as control codes for jump stitches, thread trims, color stops, and end-of-design markers.
A defining characteristic of .exp is that it contains no thread color information. Colors must be tracked separately - typically in a companion .exd file or via a manually maintained color sequence in the embroidery software. The file also has no standard header or magic bytes, so it cannot be reliably identified by its binary signature alone; file source and naming convention are the practical identifiers.
.exp is closely related to other stitch-level formats such as .DST (Tajima) and .PES (Brother), all of which encode primitive needle-position offsets rather than high-level embroidery objects. Converters such as Embird and Wilcom TrueSizer can read, write, and convert .exp files across most embroidery platforms. The format also appears in the Bernina software ecosystem. Being raw uncompressed binary, .exp files are straightforward to parse and are supported by open-source embroidery tools such as the libembroidery library and the Ink/Stitch Inkscape extension.
Security & safety
RISK: LOWAn embroidery EXP file is inert stitch data - it doesn't execute code, so opening one is low-risk. The practical gotchas are non-malicious: the design often LOOKS colorless because thread colors live in a separate companion file, and converting between machine formats can shift density/size, so always test-stitch on scrap. Be wary of 'free embroidery converter' sites that bundle adware - prefer Wilcom TrueSizer or a reputable embroidery app.
Format details
in a nutshell- Microsoft linker EXPORTS file - Auto-generated build artifact (paired with an import .lib) listing a module's exported symbols; consumed by the toolchain, not opened manually.
- EXPRESS schema (ISO 10303-11) - Plain-text data-modeling schema beginning 'SCHEMA name;' used to define STEP data models - a language file, not a 3D model.
Programs that open EXP files
Technical details
deep spec| Format type | Binary machine-embroidery stitch file |
| Stitch record size | 2 bytes per stitch - one signed byte per axis (dx, dy) |
| Coordinate encoding | Signed relative offsets from the previous needle position; range -127 to +127 units per axis per record |
| Position resolution | 0.1 mm per unit (1/10 mm stitch resolution) |
| Maximum single-record displacement | ±12.7 mm per axis; longer jumps are expressed by chaining multiple jump-stitch records |
| Control codes | Jump, trim, color stop, and end-of-design are embedded as reserved byte patterns within the stitch stream |
| Thread color storage | Not stored in the .exp file itself; maintained externally in a companion .exd file or in the software's color sequence list |
| File header | None - raw stitch data begins at byte 0; no magic bytes or metadata block |
| Compression | Uncompressed raw binary; file size grows linearly with stitch count |
| Byte layout per record | Two consecutive signed bytes: the X-axis displacement byte followed immediately by the Y-axis displacement byte |
| MIME type | application/octet-stream |
| Multi-color support | Yes - color-stop control codes interrupt stitch output and prompt the operator to change the thread bobbin |
| Machine compatibility | Melco commercial embroidery machines; also accepted by Bernina ecosystem machines and software |
| Software support | Embird, Wilcom TrueSizer, SewWhat-Pro; open-source support via libembroidery and Ink/Stitch |
| Released | Melco embroidery machines, 1990s (also used in the Bernina ecosystem) |
| Specification | edutechwiki.unige.ch |
EXP conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about EXP files.