JCAMP-DX Spectroscopy (.jdx/.dx)
.jdx.dx.jcmAny spectroscopy instrument software exporting via the IUPAC JCAMP-DX exchange standard (Bruker and many others)
What it is
A plain-text spectroscopy exchange format defined by the Joint Committee on Atomic and Molecular Physical Data (JCAMP) — an official IUPAC-recognized standard, so unlike most formats on this page it has a real published specification and a public conformance test corpus we could check against.
Who produces it
FTIR, NMR, UV-Vis, and other spectroscopy software that exports in the vendor-neutral JCAMP-DX format — Bruker is a common source, but the format itself is vendor-neutral by design.
What we read / what we don't read
What we read
- ##XYDATA=(X++(Y..Y)) blocks, both plain (uncompressed) ASCII numbers and ASDF-compressed data (SQZ/DIF/DUP pseudo-digit encoding) — the compression decoder was checked character-for-character against a well-established open-source JCAMP-DX parser and validated against two real Bruker files from IUPAC's own official test corpus
- ##XYPOINTS=(XY..XY) and ##PEAK TABLE=(XY..XY) blocks with plain (uncompressed) numbers
- $$ inline comments (JCAMP-DX's own comment marker), stripped before decoding
What we don't read
- ASDF compression on XYPOINTS/PEAK TABLE blocks — theoretically allowed by the spec, but no real fixture exercises it, so a compressed line there is rejected rather than guessed at
- PAC (packed, sign-only) encoding and scientific notation within ASDF — neither has a real fixture to verify against
How to import it into AltaiPlot
- Open AltaiPlot and drag your .jdx/.dx/.jcm file onto the window, or use File → Import.
- AltaiPlot detects the JCAMP-DX text structure and reads it directly — no external dependency involved.
- Plain or ASDF-compressed spectral data lands as a plotting-ready X/Y column pair.
- A compression scheme this importer doesn't cover (PAC, or ASDF outside XYDATA) is rejected with an explicit error rather than misread.
Auditability note: this page's capability claims are sourced fromsrc/renderer/src/engine/v7/import/importers/JcampDxImporter.ts:13 — see the full format list for every extension AltaiPlot recognizes.