ACIDCAT . FILE FORMAT REFERENCE

VST FXP Anatomy

CcnK containerVST 2 preset
rev 2026.07
magic CcnK
endian big
container own
sample 43 63 6E 4B

A .fxp is a VST 2 single-preset file: a fixed 28-byte CcnK header, an optional 28-byte preset name, then a payload that is either a list of float parameters (FxCk) or an opaque plugin blob (FPCh). All multi-byte fields are big-endian, the classic parsing trap on a little-endian host. Hover any field or byte to light its span and read the decode; click a field with a + to open its table. Color marks kind (see the key). Example: an Xfer Serum (XfsX) opaque-chunk preset.

file regions

Top to bottom. The 28-byte header is the map above; the name and payload follow.

CcnK header0x00 . 28 bytes . big-endian

The whole header, drawn above as a byte map. Magic, sizes, the preset kind, and the plugin id, all big-endian.

preset name0x1C . 28 bytes

Single-preset variants (FxCk / FPCh) carry a 28-byte null-padded ASCII program name here. Banks put 128 reserved bytes first, then per-program data.

preset_name28 bytes, null-padded ASCII
banksno name here; 128 reserved bytes, then programs
payload0x38 . plugin-specific

For FxCk, num_params float32 values. For FPCh (this file), a uint32 BE chunk_size at 0x38 then that many opaque bytes the plugin owns. Not portable across plugins; acidcat reports it as a region, not decoded.

FxCknum_params * float32
FPChchunk_size (uint32 BE) + opaque plugin blob
Serum noteSerum 1 shipped .fxp; Serum 2 moved to the XferJson container