Satin Studio Manual

JEF

Status

FieldValue
Extension(s).jef
Common ecosystemJanome, Elna-related workflows
Format familyMachine-specific file
Satin Studio statusSupported
Open / importYes
ExportYes
ConfidenceHigh for broad structure; machine variants remain.

What it is

JEF is the common machine format for Janome home embroidery machines. Unlike sparse expanded streams, it usually carries hoop, palette, extent, and stitch-offset information.

Satin Studio behavior

Satin Studio imports exact JEF stitches with their hoop and thread metadata. Export stops when the selected Janome machine or hoop cannot safely contain the design.

Versions and variants

Version letters, hoop codes, palette tables, trim settings, and JEF+ variants differ by machine generation. Satin Studio identifies the target generation before applying those records.

File identification notes

JEF is little-endian and header-driven. Publicly documented fields include:

The stitch body uses signed 8-bit relative x, y movement. If x == 0x80, the record is a command. Common command prefixes are:

Some Janome machines can trim on color changes, long jumps, or explicit zero-distance jump/cut commands depending on machine settings.

Observed structure notes

Structure sketch

JEF is little-endian and header-driven. Stitch data starts at the offset stored in the header.

struct JefFile<'a> {
    stitch_data_offset: u32,
    header_after_offset: &'a [u8],      // date/version, counts, hoop, extents, and separators vary by generation
    palette_indexes: &'a [u32],
    stitch_records: &'a [JefRecord],
}

enum JefRecord {
    Stitch { dx: i8, dy: i8 },
    Jump { dx: i8, dy: i8 },            // 0x80 0x02 + payload movement
    ColorChangeOrStop,                 // 0x80 0x01
    End,                               // 0x80 0x10
}

Compatibility evidence

Compatibility checks cover signatures, metadata, command boundaries, malformed records, and files from the machines and software named above. Unsupported variants stop with a specific report instead of being silently rewritten.