JCAMP-DX files (.jdx / .dx), read and converted — free
What JCAMP-DX (.jdx/.dx) is, how its compression forms (DIF/DUP, SQZ) work, and how to read/convert spectral data — upload to Matflow free, or parse in Python.
Formats: .jdx / .dx (text, JCAMP-DX 4.24/5.01/6.00) · For: Spectroscopy labs (FTIR, NMR, Raman, MS)
What the format actually is
Where the data hides, and what a naive parser loses.
JCAMP-DX is the rare instrument-format success story: an open text standard that became the exchange format for IR, Raman, NMR, and mass spectra — Bruker, Agilent, Thermo and Shimadzu all export it.
The catch is the data-compression forms: SQZ (squeezed), DIF (differential) and DUP (duplicate) encode y-values in 60s/70s/80s ASCII ranges. A reader that only handles plain (PAC) form silently truncates most real files.
Header labels (##TITLE, ##XUNITS, ##YUNITS, ##XFACTOR) define the physics; ##DATA TYPE distinguishes INFRARED SPECTRUM from NMR SPECTRUM — one parser must dispatch on both.
Vendor quirks that break naive parsers
Each of these has produced a silently wrong number in a real workflow.
Do it yourself in Python
We would rather you succeed with or without us. The open-source path:
What happens if you use Matflow
The parser is only step one — the value is the review and the provenance that follow.
Upload on the Ingestion page
Excel, CSV, PDF, SDS images and instrument files are parsed into evidence-tagged rows — the original file is retained as provenance.
Review before promotion
Column roles and types are proposed for a reason; correcting a mislabeled column here is the highest-leverage five minutes in the workflow.
Promote to a governed dataset
The accepted rows become a versioned dataset any stage can use — every row keeps its source and extraction status.
Docs: ingestion & extraction · column roles · instrument parsers
Stop parsing by hand
Upload your .jdx / .dx file to Matflow and it lands as a governed, validated dataset — original file preserved as provenance, every column documented. Free tier, no card.
Other formats we parse
This guide covers one of 10 instrument formats.