Possible causes
Format tag 0x0003 in the WAV header — the CDJ decoder cannot initialise for floating-point sample data. The most common E-8304 trigger from DAW exports.
Valid RIFF/WAVE magic but unreadable format chunk — typically caused by ID3 tag editors or an interrupted write. Desktop players recover silently; CDJs reject the file. Boothready repairs this automatically via re-encode.
Invalid RIFF/WAVE magic bytes — the file structure is unreadable even by ffmpeg. Usually caused by a failed download, storage damage, or a non-WAV file with a .wav extension. Re-download or re-copy the file.
Format tag 0xFFFE — can trigger either E-8304 or E-8305 depending on CDJ model and firmware. If you see E-8304 on a Bandcamp WAV, this is the most likely cause.
The CDJ reads the COMM chunk but cannot initialise a decoder for the compressed codec. May produce E-8304 or E-8305 depending on model.
E-8304 "DECODE ERROR" (shown as "UNSUPPORTED FILE FORMAT" on newer players) means the CDJ read the file header but its decoder failed to initialise. This is subtly different from E-8305 — the file format was partially recognised, but something in the audio encoding or container structure stopped the decode process. The most common causes are a 32-bit float WAV, a corrupted file header, or a WAVE_FORMAT_EXTENSIBLE container. Note: on the CDJ-900NXS, CDJ-2000NXS and every later player (including the XDJ-700, XDJ-1000 and CDJ-3000 series), E-8304 and E-8305 display identically as "UNSUPPORTED FILE FORMAT" — so your actual trigger may be any cause from either hub page.
Quick check
- Did you export this file from a DAW as WAV? → Check the bit depth. If it is 32-bit float, that is the cause. /cdj-wav-32bit-float-fix
- Was the file downloaded, transferred from USB, or recovered from a damaged drive? → The header may be corrupt from a failed transfer. /cdj-wav-corrupt-header
- Is the file a Bandcamp WAV download? → Likely WAVE_FORMAT_EXTENSIBLE — can trigger E-8304 or E-8305. /cdj-wav-extensible-fix
- Does the same file play on CDJ-2000NXS2 but fail on CDJ-3000, or vice versa? → Different decoder strictness between models. /cdj-mp3-corrupt-frame-fix
Frequently asked questions
E-8304 (DECODE ERROR) occurs when the CDJ recognises the file format but the audio decoder fails to initialise — typically a format tag issue (32-bit float) or header corruption. E-8305 (DATA FORMAT ERROR) occurs when the format itself is not recognised or supported at all. In practice the distinction is blurry: many causes trigger either code depending on CDJ model and firmware. If you see E-8304, check this page first, then /cdj-error-e-8305 if the cause is not here.
Sometimes. If the audio data is intact but the header is malformed, ffmpeg can often re-encode the file with a fresh header. If the header is completely missing or the audio data itself is damaged (e.g. from a failed download), the file may be unrecoverable. See /cdj-wav-corrupt-header for the full diagnosis and repair workflow.
Desktop audio players use error-correcting parsers that attempt to recover from header problems and support a wider range of format tags. CDJ hardware decoders are strict by design — they follow the WAV and AIFF specifications closely and reject non-conforming files. This discrepancy is the defining symptom of E-8304.
On the CDJ-900NXS, CDJ-2000NXS and every later player (including the XDJ-700, XDJ-1000 and CDJ-3000 series), both E-8304 and E-8305 display as "UNSUPPORTED FILE FORMAT" with no visual distinction. Older models (CDJ-2000, CDJ-900, CDJ-850, CDJ-400, CDJ-350) show "DECODE ERROR" and "DATA FORMAT ERROR" instead. The error code number is shown in the display but the description is identical. If you see "UNSUPPORTED FILE FORMAT", check both /cdj-error-e-8304 and /cdj-error-e-8305.