Maintained by Zakodium
JCAMP-DX converter

Parse and convert JCAMP-DX data.
Installation
npm install jcampconverter
Methods
convert(jcamp, [options])
Converts the jcamp
using options
.
Returns an object with information about the converted file and uncompressed spectra data.
Arguments
jcamp
- String or ArrayBuffer containing the JCAMP-DX dataoptions
- Object with options to pass to the converter
Options
- keepRecordsRegExp - regexp to select which records should be placed in the info field. By default: :/^$/} (nothing is kept)
- withoutXY - do not parse XYDATA or PEAKTABLE fields. Useful to only extract metadata fields (combine this option with
keepRecordsRegExp
) - chromatogram - use the new GC/MS data format output (default: false)
- canonicDataLabels - canonize data labels (uppercase) (default: true).
- canonicMetadataLabels - canonize data labels (uppercase) (default: false).
- dynamicTyping - When parsing field convert to number if a number (default: true)
2D NMR options:
- noContour - if true, the contour levels will not be generated. Instead the raw data will be available in
result.minMax.z
(default: false) - nbContourLevels - number of contour levels to use in each positive and negative sides (default: 7)
- noiseMultiplier - default: 5
- keepSpectra - Generate array for 2D NMR spectra (default: false)
Use as a module
Node.js
var converter = require('jcampconverter');
var jcamp = require('fs').readFileSync('path/to/jcamp.dx', 'utf8');
var result = converter.convert(jcamp);
console.log(result.flatten[0]);
Testing and build
npm install
npm test
npm run build
Benchmark
npm run benchmark
License
© 2025 Zakodium Sàrl. This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. CC BY-NC-SA 4.0
This package is based on MIT-licensed code that can be found here: https://doi.org/10.5281/zenodo.5091526