The following table collects information about free and open source software (FOSS) for spectroscopy. All information is taken from the respective websites and/or repositories. Some projects have been described in publications. If so, we try to provide a link, but the document may be behind a paywall. This blog post give some details about how we find interesting repositories.

Unless otherwise noted, the software mentioned here:

Some other places to look:

How Does One Choose a Package?

The projects listed here have been lightly vetted and the process is imperfect! If a project looks incomplete, is a class project, or I can’t tell what it does, it’s not included!* Of course, if you feel I have not included your package in error, feel free to request its inclusion. With that in mind, there are still many packages to consider. As a general guide, the excellent checklist provided by Lortie et al. is included here for your consideration.

Lortie Table 1


Name Description Lang Focus Status
AeroViz Various data processing and visualization tools for aerosol science Python XRF 2025-04-13
agilent-format File reader for Agilent Resolutions Pro FT-IR images Python FT-IR NA
agilent-ir-formats Agilent file format handling for infrared spectroscopy Python Data Sharing (IR) 2024-05-30
agilentaspparser-egonik Parse Agilent FT-IR asp files Python Data Sharing (IR) 2021-08-23
Akvo Surface nuclear magnetic resonance workbench Python NMR 2021-10-26
albatross PARAFAC of EEM R EEM 2024-05-06
AlpsNMR (pub) Untargeted NMR Metabolomics R NMR 2024-08-09
AMES-Fit Automatic fitting of multiple-field solid-state NMR spectra C++ NMR (SS) 2024-11-13
ANATOLIA (pub) NMR lineshape analysis C++ NMR (Bruker) 2024-04-02
ansurr (pub) Validate accuracy of protein NMR structures Python NMR 2022-05-22
apogee (pub) Tools for working with APOGEE data Python FT-IR 2025-01-12
ASpecD General spectroscopic data handling Python Any 2024-12-21
ASPIRED (pub) Automated SpectroPhotometric Image REDuction (ASPIRED) Python UV-Vis 2023-12-17
autoenrich Computational NMR Library Python NMR 2020-05-02
autogamess Python module for automating Raman calculations using GAMESS(us). Python Raman NA
AutomatedLIBS Laser-Induced Break Down Spectroscopy spectra analysis software C# LIBS 2019-07-29
autoXAS Data processing for the analysis of (in-situ) X-ray absorption spectroscopy data Python XAS NA
BaMORC (pub) Automated 13C assignments in proteins R NMR (13C) 2021-04-13
baseline Baseline correction R Any 2024-05-25
BaselineRemoval Baseline removal, baseline correction & baseline subtraction Python Any 2024-04-08
BATMAN (pub) Estimation of metabolite concentrations from 1H NMR R NMR (1D) NA
bccd B-NMR/B-NQR Beamspot Image Viewer and Analysis Python β-NMR, β-NQR NA
bdata (pub) β-NMR/β-NQR MUD file reader and asymmetry calculator Python β-NMR, β-NQR 2024-01-16
beautifuljason A Python Interface for JASON Software by JEOL Python NMR NA
benchnirs (pub) Benchmarking framework for machine learning with fNIRS Python fNIR NA
bfit (pub) β-NMR & β-NQR Data Analysis Python NMR 2025-04-27
BICePs (pub) Bayesian inference of conformational populations from NMR data Python NMR 2023-06-12
BioEn (pub) BioEn - Bayesian Inference Of ENsembles Python Any 2024-02-05
bionmr-utils Biological NMR utilities Python NMR 2021-05-16
blochsimu Bloch equation simulator for e.g. NMR-related simulations Python NMR 2015-04-26
bm23id24-xas Library for XAS data analysis Python XAS NA
BMRBr Interface to BMRB database R Data Sharing 2019-03-07
boxsers Functionality to process and analyze vibrational spectra (Raman, SERS, FT-IR, etc.). Python FT-IR, Raman 2024-09-24
brixs BRIXS is a python package for processing and analysis of XAS and RIXS spectra Python XAS, RIXS 2025-05-15
Bruker-OPUS-to-.DPT-bulk-file-converter Convert many binary format OPUS files to .dpt (Data Point Table) file format Python Data Sharing 2022-12-06
bruker-utils bruker_utils: Helper functions for handling Bruker NMR data. Python NMR (Bruker) NA
brukeropus Work with Bruker OPUS spectroscopy software and read its binary file format. Python Data Sharing (IR) 2025-05-11
brukeropusreader Python package for reading Bruker OPUS files. Python Data Sharing (IR) 2025-01-19
CARA Biomolecular NMR peak assignment C++ NMR 2024-11-18
carspy Synthesizing & fitting coherent anti-Stokes Raman spectra (CARS) Python Raman 2021-08-23
catmass Py Qt package for calculating the proper loading of samples for XAS measurements Python XAS 2024-12-05
chem-analysis Analyzing experimental chemistry data Python Any NA
ChemEx Analysis of chemical exchange by NMR Python NMR 2025-05-19
ChemoSpec Exploratory data analysis of 1D spectra R Any 2025-04-14
ChemoSpec2D Exploratory data analysis of 2D NMR R NMR (2D) 2025-04-08
CheShift (pub) Predict 13C shifts in proteins Python NMR (13C) 2017-06-13
chiLife Python package for site-directed spin labeling of proteins Python DEER 2025-05-20
colmarvista Web-based NMR viewer JavaScript NMR 2025-05-05
coloured-spectra Got a spectra? Use this to find what is the observed colour. Python Vis 2021-06-17
COMPASS (pub) Protein backbone assignments from triple-resonance peak lists Qt NMR 2020-09-13
compressedFT-IR Reconstruction of sample FT-IR data Python FT-IR NA
CoNSEnsX CoNSEnsX - Complience of NMR-derived Structural Ensembles with Experimental Data Python NMR 2025-01-16
constava Calculate conformational states probability & conformational state variability from a protein structure ensemble Python NMR NA
CorePy Python tools designed to integrate and visualize geological core data Python XRF 2023-03-09
corepytools CorePy: XRF clustering tools to interpret and visualize geological core data Python XRF NA
corr2D (pub) 2D correlation spectroscopy R FT-IR 2022-07-13
CRIkit2 Hyperspectral imaging toolkit formerly known as the coherent Raman imaging toolkit. Python Raman 2022-10-12
crispy Calculate & plot core-level spectra Python XAS 2025-03-11
cronomaxrf Python package to read and convert the Crono MA-XRF HDF5 data file format Python Data Sharing (XRF) NA
cs1 (pub) Compressed Sensing library for 1D Spectroscopic Profiling Data Python Raman 2024-11-27
curvit Create light curves from UV imaging telescope data Python UV 2025-01-28
customxepr Instrument control suite for Bruker E500, MercuryiTC and Keithley 2600. Python EPR 2021-10-31
cwepr Package for handling cw-EPR data. Python EPR NA
DEEP picker (pub) 2D NMR peak picker using ANN R NMR (2D) 2025-04-30
DeepSpectroscopy Spectroscopy with deep learning Python Any 2018-05-19
DeerLab Analysis of dipolar EPR spectroscopy Python EPR 2025-03-19
DEERPREdict A package for DEER and PRE predictions based on molecular dynamics ensembles Python DEER, EPR 2025-05-05
DESPERATE (pub) Denoising ssNMR spectra Python NMR (SS) 2024-09-12
DiadFit Fit Raman data Python Raman 2024-09-03
dive-EPR Python package for Bayesian analysis of dipolar EPR spectroscopy data through Markov chain Monte Carlo sampling with PyMC Python EPR NA
DNPLab DNPLab - Bringing the power of Python to DNP-NMR Spectroscopy Python NMR 2025-05-19
drawnmr A module for displaying NMR data with bokeh in Python or Jupyter Notebooks. Python NMR 2017-12-01
edrixs An open source toolkit for simulating RIXS spectra based on ED Python XAS 2025-04-29
EEM Analysis of EEM data R EEM 2023-05-28
eemR Preprocessing EEM data R EEM 2025-05-21
EEMs-toolkit EEMs-toolkit是一个可以在Python上对三维荧光(EEM)进行平行因子分析(PARAFAC)的工具包,功能大致类似于MATLAB的drEEM toolbox。 Python EEM NA
eniric Extended NIR Information Content Python NIR 2024-06-07
eNMRpy nmrglue-based package for the import and analysis of electrophoretic NMR-data Python NMR 2023-01-06
EPR-BindingSite (pub) Identification of Protein-Ligand Binding Sites using dipolar EPR data Python EPR 2025-04-11
EPR-LEF Sistema de Aquisição Digital para o experimento de EPR do Laboratório de Ensino de Física do IFSC - USP C++ EPR 2018-07-23
epr2md Converts EPR files to Markdown Python Data Sharing NA
EPRpy EPRPy is a python library to streamline routine analysis of Electron Paramagnetic Resonance data. Python EPR 2025-02-16
eprscope R package to process and analyze data and spectra in Electron Paramagnetic Resonance spectroscopy for chemists R EPR 2025-05-16
EPRsim Simulation Package for cw-EPR spectra Python EPR 2019-11-24
EPRsimGUI GUI for simulating cw-EPR spectra Python EPR NA
exspy EDS and EELS data analysis with HyperSpy Python EELS, EDS 2025-05-04
exspy-demos eXSpy Jupyter Notebook demos Python EELS, EDS 2024-10-04
fairmat-readers-transmission File readers for transmission spectrophotometry raw files Python Data Sharing NA
FAM-N (pub) Optimize composite pulses for MQMAS Python NMR (SS) 2019-06-06
FANDAS Fast Analysis of multidimensional NMR DAta Sets Python NMR (nD) NA
FarSeer-NMR Automatic treatment, analysis and plotting of large and multivariable datasets of bioNMR peaklists. Python NMR 2020-01-30
FID-Net (pub) Neural network analysis of NUS FID data Python NMR 2025-05-21
finchnmr [FI]tti[N]g 13[C] 1[H] HSQC [NMR] Python NMR (2D) NA
fisx Quantitative X-Ray Fluorescence Analysis Support Library C++ XRF 2025-01-21
fitpy Framework for fitting models to (spectroscopic) data Python Any 2024-11-30
fitspy Fitspy: a generic tool to fit spectra in python Python Any NA
flintpy-nmr Python implementation of FLINT algorithm for NMR relaxation data. Python NMR NA
FT-IR-background-subtract A GUI tool for drawing polynomial backgrounds on FT-IR spectra and subtracting them Python FT-IR NA
ft4FT-IRs A package for processing FT-IR interferograms. Python FT-IR NA
ganx Generate MA-XRF raw data from RGB images Python XRF NA
GIPMA (pub) Peak matching and alignment for HSQC metabolomics R NMR (2D) 2023-03-10
GloPel (pub) Global Analysis of PELDOR time traces Python Time Series (EPR) NA
hsqc_structure_elucidation (pub) Neural network for distinguishing molecules based on their HSQC NMR spectra Python NMR (2D) 2023-09-28
hyperChemoBridge Interconversion of hyperSpec & ChemoSpec formats R Data Sharing 2020-08-31
hypers Hyperspectral data analysis and machine learning Python Any 2021-06-28
hyperSpec hyperSpec: Tools for Spectroscopy R Any 2024-05-26
hyperSpec.utils Utilities for use by hyperSpec R Any 2021-04-26
hySpc.dplyr Interface between hyperSpec and dplyr R Any 2023-04-22
hySpc.ggplot2 Interface between hyperSpec and ggplot2 R Any 2023-04-22
hySpc.read.ENVI Import ENVI files into hyperSpec R Data Sharing 2023-04-22
hySpc.read.jdx Import JCAMP-DX files into hyperSpec R Data Sharing 2023-04-22
hySpc.read.mat Import MATLAB files into hyperSpec R Data Sharing 2023-04-22
hySpc.read.spc Import SPC files into hyperSpec R Data Sharing 2023-12-10
hySpc.read.spe Import spe formatted files to hyperSpec R Data Sharing 2023-04-22
hySpc.read.txt Import ASCII formatted data into hyperSpec R Data Sharing 2023-04-22
IBR-AIC Remove Bragg peaks from X-ray absorption spectra. Python XAS 2024-02-29
icarus-nmr Pressure Jump Software for time-resolved pressure NMR Python Time Series (NMR) 2022-02-07
icoshift 1D NMR alignment via ICOSHIFT algorithm Python NMR (1D) 2024-01-23
impurityModel Calculate many-body states of an impurity Anderson model and spectra (e.g. XPS, XAS, RIXS, NIXS) Python XAS 2024-07-07
InSituAnalyze (pub) Spectral imaging Python FT-IR 2021-03-30
ioisis I/O for ISIS files in Python Python Data Sharing NA
ir Preprocessing infrared spectra R FT-IR 2025-04-05
isatex Raman & IR processing Python IR, Raman 2021-03-04
iSTATS Shiny app for STOCSY of 1D NMR R NMR (1D) 2023-12-05
jcalc Calculate NMR J values from molecular dynamics simulations Python NMR 2021-11-29
jcamp Read JCAMP-DX files Python Data Sharing 2025-01-07
jcamp-dx Reference implemention of the IUPAC JCAMP-DX spectroscopy data standard. Java Data Sharing 2025-04-27
JSpecView (pub) Read & view spectra in JCAMP-DX format Java Data Sharing 2006-02-28
jws2txt JASCO file to text file converter Python Data Sharing 2025-02-08
kars (pub) Kernel Approximation to Raman Spectra Python Raman 2021-12-15
klassez A collection of functions for NMR data handling. Python NMR 2025-03-25
larixite Convert CIF data to inputs for XAS calculations Feff, FDMNES, etc Python XAS NA
LIBS Analysis codes for Laser-Induced Breakdown Spectroscopy data Python LIBS 2017-08-18
libssa LIBSsa: an open source software for analyzing LIBS spectra Python LIBS NA
LIBStick LIBS software Python LIBS 2025-04-08
lightr (pub) Import spectral data into R R Data Sharing 2025-02-04
lingress Metabolomics data analysis with univariate (linear regression) and visualization tools. Python NMR (1D) NA
LiveView Real-time visualization tools for imaging spectroscopy C++ FT-IR, UV-Vis 2021-03-23
lmfitxps Models for the lmfit package for fitting XPS spectra. Python XPS NA
lspr-library-Piast-Kolodziej LSPR-library is a Python 3 scientific package for modelling UV-Vis spectral behaviour of metallic nanoparticle-dieletric composites. Python UV-Vis 2023-10-31
lumispy Luminescence data analysis with HyperSpy. Python Raman 2025-04-06
MADByTE (pub) Dereplication of natural product 2D NMR spectra Python NMR (2D) 2024-10-17
magnetstein (pub) Analysis of NMR spectra using the Wasserstein metric Python NMR 2024-05-01
mapstorch A differentiable modeling package for automating X-ray fluorescence (XRF) analysis Python XRF NA
masai Masai, a framework for processing and modelling of solid state NMR spectra Python NMR (SS) NA
maspim Processing of mass spectrometry imaging and micro X-Ray fluorescence data. Python XRF NA
maxrf4u Explore your X-Ray Fluorescence spectral images Python XRF 2025-04-10
mcfNMR (pub) A Minimum Cost Flow NMR recombinator. Python NMR (1D) NA
MD2NMR Tools for calculating NMR relaxation observables (R1/R2/NOE/T1/T2/Tau_c) directly from MD trajectories. proteins/complexes Python NMR NA
metabohunter Python interface to Metabohunter 1H NMR metabolite identification service Python NMR NA
metabolabpy Python package for data processing of NMR 1D & 2D metabolomics and metabolism tracing data Python NMR 2025-05-19
metabolabpytools Tools for metabolomics and metabolism tracing data Python NMR 2025-05-19
MicroRaman (pub) MicroRaman is an R package to process microbial Raman Spectroscopy data R Raman 2020-07-21
MINOTAUR (pub) High resolution relaxometry Python NMR 2025-03-10
MixONat (pub) Dereplication of 13C NMR data Python NMR 2022-02-01
ml-jdp4 An integrated quantum mechanics-machine learning approach for ultra-fast NMR structural elucidation. Python NMR 2024-11-03
mne-nirs An MNE compatible package for processing near-infrared spectroscopy data Python NIR 2025-05-20
modelfree-protein15n Model free analysis of protein backbone amide 15N spin relaxation rates. Python NMR NA
moseley Package for simulating XRF spectra to better understand them Python XRF 2025-04-29
mpes Distributed data processing routines for multidimensional photoemission spectroscopy (MPES) Python PES NA
mrbin (pub) NMR binning, normalization (1D & 2D) R NMR 2025-05-19
mrinversion Python based statistical learning of NMR tensor parameters distribution from 2D isotropic/anisotropic NMR correlation spectra. Python NMR NA
mrsimulator A fast solid-state NMR spectrum simulation and analysis library. Python NMR (SS) 2025-05-20
mrsprint Magnetic resonance experiment simulator & visualization tool Python NMR NA
mud-py (pub) Muon Data file reader Python Data Sharing (NMR) 2024-01-16
multinmrfit Fitting 1D NMR spectra Python NMR (1D) NA
muma Exploratory data analysis of 1D NMR R NMR (1D) 2022-05-08
musketeer A tool for fitting data from titration experiments. Python NMR, UV-Vis NA
mwtab Parser for mwtab files from the Metabolomics Workbench Python Data Sharing (NMR) 2025-02-11
nanofinderparser Parse and process Raman and photoluminescence (PL) data files generated by Nanofinder instruments Python Raman NA
ndx-nirs An NWB extension for storing Near-Infrared Spectroscopy (NIRS) data Python NIR 2022-07-28
nef-pipelines Tools for Manipulating NEF [NMR Exchange Format] Files and Foreign File Access Python Data Sharing (NMR) NA
nerrds NERRDS uses backbone chemical shifts to generate an ensemble Python NMR NA
nightshift (pub) Library & command line program for plotting simulated 2D & 3D NMR spectra from assigned chemical shifts from the BMRB Python NMR 2022-08-15
nippy (pub) Process NIR data Python NIR 2024-03-27
NIR-preprocess Process NIR data Python NIR 2022-04-18
nira Near-Infrared Analysis R NIR 2020-10-09
NIRStat (pub) NIR time-series R Time Series (NIR) 2020-05-26
NIRX Read NIRX NIR files Julia Data Sharing (NIR) 2021-06-30
NistChemPy A simple Python wrapper around the NIST Chemistry WebBook Python Data Sharing 2025-05-07
NMR-EsPy (pub) Estimation of NMR parameters Python NMR 2024-07-29
NMR-onion (pub) 1D NMR deconvolution Python NMR 2025-05-12
nmr-parser Parse 1D & 2D NMR files to JSON JavaScript Data Sharing (NMR nD) 2023-05-31
nmr-schedule Algorithms for NMR non-uniform sampling Rust NMR NA
nmr-sims A package for running basic NMR simulations. Python NMR NA
nmraspecds ASpecD derived Package for recipe driven data analysis of NMR spectra Python NMR NA
nmrespy (pub) NMR-EsPy: Nuclear Magnetic Resonance Estimation in Python Python NMR 2024-07-29
nmrFilter (pub) Integrated MS & NMR analysis Python NMR 2024-06-27
nmrfit qNMR through least-squares fitting Python NMR 2023-06-26
nmrformd Calculate NMR relaxation time from molecular dynamics trajectory file Python NMR 2025-05-02
NMRFx Processing, visualization & analysis of NMR data Java NMR 2022-12-13
nmrGlue (pub) NMR data processing, analysis, visualization & conversion Python NMR (nD) 2025-04-23
nmrgnn Chemical shift predictor Python NMR 2021-08-30
nmrgnn-data Chemical shift prediction dataset Python NMR NA
nmrium React component to display and process NMR spectra. TypeScript NMR 2025-05-22
nmrlineshapeanalyser ss-NMR peak deconvolution and lineshape analysis Python NMR (SS) NA
nmrML (pub) Markup language for sharing NMR data XML Data Sharing (NMR) 2022-09-13
nmrml2isa Convert nmrML files to ISA-TAB Python Data Sharing (NMR) 2023-11-05
nmrpeaklists A Python library for handling NMR peak lists Python Data Sharing (NMR) NA
nmrPipe (pub) NMR data processing, analysis, visualization & conversion C-shell NMR (nD) 2017-12-11
nmrpoise (pub) Parameter Optimisation by Iterative Spectral Evaluation, a TopSpin-compatible NMR package Python NMR 2022-01-09
NMRpro Process & visualize NMR data Python NMR 2021-06-22
NMRProcFlow (pub) Interactive processing of 1D NMR spectra for metabolomics R NMR (1D) NA
nmrpy A suite of tools for processing & analysing NMR spectra in Python Python NMR 2025-05-22
nmrPype Python implementation of Nuclear Magnetic Resonance (NMR) signal analysis program “nmrPipe” Python NMR (nD) NA
NMRPySchedule Build non-uniform NMR sample schedules Python NMR NA
NMRPyStar Parser for the NMR-STAR data format Python Data Sharing (NMR) 2020-08-05
nmrquant Metabolite concentration quantification from 1D proton NMR integrated data Python NMR (1D) 2024-10-08
nmrsim A Python library for NMR simulation Python NMR 2025-05-13
nmrstarlib (pub) Convert NMR-STAR files to JSON used by BMRB Python Data Sharing (NMR) 2021-06-20
nmrtoolbox simple utility for parsing and working with NMR peak tables, including ROC analysis Python NMR 2023-06-04
NMRTools Import and plot NMR spectra Julia NMR 2025-03-12
nmrxiv FAIR, consensus-driven NMR data repository and computational platform JavaScript Data Sharing (NMR) 2025-05-19
octavvs Vibrational spectroscopy Python IR, Raman 2025-05-04
OMNIC-FT-IR-data-processing-tool OMNIC FT-IR data processing tool Python FT-IR NA
OpenLIBS OpenLIBS is a package that provides functionality to analyse Laser Induced Breakdown Spectroscopic Spectras Python LIBS 2025-05-19
OpenSpecy (pub) Process Raman, IR data R FT-IR, Raman 2025-05-07
openspi Interface with the OpenSpecy package for R Python FT-IR, Raman NA
OpenVibSpec Vibrational spectroscopy Python FT-IR, Raman 2022-02-21
OpenVnmrJ NMR data acquisition & processing (Varian instruments) C NMR (1D) 2015-12-18
opusreader2 Read Bruker OPUS files R Data Sharing (IR) 2025-05-18
oranchada Orange add-on for Raman spectroscopy Python Raman NA
orplib Open Raman Processing Library Python Raman 2023-11-20
PALMA (pub) DOSY signal processing Python NMR 2021-02-15
paramagpy (pub) Calculate paramagnetic effects in NMR spectra of proteins Python NMR 2022-10-05
parseq-XAS A pipeline for data processing of XAS spectra Python XRF NA
pavo Perceptual analysis, visualization & organization of spectral color data (including images) R UV-Vis 2025-02-09
pdz-extractor User interface to convert XRF spectral data PDZ files to open CSV and JPEG formats Python Data Sharing (XRF) 2024-12-09
pdz-tool A tool for reading and transforming PDZ 24 and PDZ 25 formats Python Data Sharing (XRF) NA
PDZReader Reader module for .PDZ binary spectral file format used by Bruker pXRF Instruments Python Data Sharing (XRF) 2025-03-02
Peakaboo XRF analysis Java XRF 2024-12-01
peakfit PeakFit allow for lineshape fitting in pseudo-3D NMR spectra. Python NMR (nD) NA
Peakipy Deconvolution of 2D NMR peaks Python NMR (2D) 2025-02-23
PEAKIT (pub) Analyze chemical exchange saturation transfer spectra Python NMR 2021-11-22
penguins Penguins: an Easy, NPE-free Gateway to Unpacking & Illustrating NMR Spectra Python NMR 2024-05-26
photobiology (pub) Photobiology workflow tools R UV-Vis 2025-01-22
PINT (pub) NMR line shape fitting & analysis Qt NMR NA
PlotFT-IR R Code for pretty plotting of FT-IR spectra R FT-IR NA
pocketchemist-nmr NMR analysis tools for pocketchemist Python NMR 2022-04-27
pol_sim Simulation of a local polarizer model in an EPR experiment C EPR 2022-01-07
polypython (pub) Analysis of Raman spectral images for plastic content. Python Raman 2020-07-16
Porchlight (pub) Spectra preprocessing Python Any 2025-04-15
prospecpy Python package for analyzing FT-IR Spectroscopy Data from Bruker instruments. Python FT-IR NA
prospectr R package: Misc. Functions for Processing and Sample Selection of Spectroscopic Data R Any 2025-03-17
Protomix A Python package for NMR preprocessing Python NMR NA
pulsee Program for the Simulation of Nuclear Spin Ensemble Evolution Python NMR (SS) NA
pulsefig Plot pulse sequences. Python NMR NA
PulseShape A pulse shaping program for EPR Python EPR NA
py-wdf-reader Python package for read-only accessing the wdf Raman spectroscopy from Ranishaw WiRE software Python Data Sharing (Raman) 2023-08-28
pybaselines A library of algorithms for the baseline correction of experimental data Python Any 2025-05-21
PyBMRB Visualizations based on BMRB data Python NMR (1D) 2021-11-22
pycaltransfer (pub) Calibration transfer for chemometrics and spectral data applications Python UV-Vis, NIR 2025-05-22
pyCoilGen Magnetic Field Coil Generator for Python, ported from CoilGen Python NMR 2025-03-31
pycoilgen_data Extra data for pyCoilGen, the Open source Magnetic Resonance Coil Generator. Python NMR NA
pycoilgen_utils Extra utilities for pyCoilGen, the Open Source Magnetic Resonance Coil Generator. Python NMR NA
pyDichroX Analyse XAS data Python XAS 2025-03-18
pydnmr Simulation of dynamic NMR Python NMR (1D) 2020-06-12
PyEPRI (pub) A CPU & GPU compatible Python package for Electron Paramagnetic Resonance Imaging Python EPR 2025-05-17
pyexafs A simple package for fast analysis of EXAFS data Python XFAS NA
pyfasma-spc A Python package for handling SPC files Python Data Sharing NA
pyicoshift Python 3 Version of icoshift Python NMR (1D) NA
pyihm Indirect Hard Modelling of NMR mixtures Python NMR NA
PyIRoGlass Analyze transmission FT-IR spectra of basaltic to andesitic glasses. Python FT-IR NA
pynics Computing Nuclear Independent Chemical Shifts Python NMR NA
pynir NIR calibration toolbox in python Python NIR 2024-12-26
pynmr Parse & Process NMR data. Python NMR 2025-04-01
PyNMR-STAR I/O NMR-STAR files from BMRB Python Data Sharing (NMR) 2025-01-01
pynmranalysis python library for NMR preprocessing & analysis Python NMR 2022-12-11
pynmrstar PyNMR-STAR provides tools for reading, writing, modifying, & interacting with NMR-STAR files Python Data Sharing (NMR nD) 2025-01-01
pynxtools-raman A reader for transferring raman data from vendor formats to NeXus and NOMAD. Python Data Sharing (Raman) NA
PyOR Simulate NMR spin physics Python NMR 2025-04-17
pyperspec Analysis and manipulation of hyperspectral data sets Python Any 2025-04-23
pyPreprocessing Preprocessing of datasets, especially from spectroscopy Python Any 2025-04-13
PyRoShift (pub) Compute rotamer populations from 13C NMR shifts Python NMR (13C) 2024-05-15
pySpecData object-oriented N-dimensional data processing with notebook functionality Python Any NA
PythonNDVI Process images acquired using a Near-Infrared (NIR) converted camera to get NVDI Python NIR 2024-04-29
pytnt Read files from TecMag NMR instruments Python Data Sharing (TecMag) 2020-11-06
pyUSID (pub) Universal spectroscopy & imaging data format Python Data Sharing 2025-03-13
pyuvis Python tools for Cassini UVis data Python UV-Vis 2024-08-01
qtmetabolabpy Python package for data processing of NMR 1D and 2D metabolomics and metabolism tracing data Python NMR 2025-05-19
quakesranalysis-tspspi Analysis package for QUAK/ESR runs Python ESR NA
quakesrrtdisplay-tspspi A simple realtime display for QUAK/ESR data in a specific experimental setup Python ESR NA
quakesrthorcam-tspspi Mini utility that handles pictures taken for QUAK/ESR experiment by ThorCam camera Python ESR NA
quasar General spectroscopic data handling running on Orange Python Any 2025-05-22
QUIDDIT3 QUIDDIT is a software tool for automated processing of diamond IR spectra Python FT-IR 2025-04-14
RADIS Compute IR spectra Python FT-IR 2025-05-14
raman Deep CNN for Raman Applications Python Raman 2018-12-13
raman_tl Baseline correction, smoothing, processing and plotting of Raman spectra Python Raman 2024-05-17
raman-cnn Neural network classifier for Raman spectral data using TensorFlow Python Raman 2023-02-10
raman-fitting A Python framework for the batch processing and deconvolution of Raman spectra of carbonaceous materials. Python Raman 2025-04-20
raman-hypmap Raman hyperspectral processing for Horiba instrument Python Raman NA
Raman-noodles Repository containing code for analysis of Raman and IR spectra datasets Python Raman 2020-05-19
raman-opu-analysis OPU anaysis for Raman single-cell spectroscopy data Python Raman NA
raman-rabi Parameter fitting for Raman-Rabi electron-nuclear spin flip-flop transitions in NV centers. Python Raman 2019-05-16
ramanchada2 Harmonising Raman Spectroscopy Python Raman 2025-05-13
ramanfitter A Raman peak finder and model fitter Python Raman NA
ramannoodle Compute off-resonance Raman spectra from first principles calculations Python Raman 2025-03-30
ramanspy RamanSPy: An open-source Python package for integrative Raman spectroscopy data analysis Python Raman 2025-04-03
ramantools Tools for analyzing Raman spectroscopy data, measured by a Witec confocal Raman microscope. Python Raman NA
ramCOH Library for processing and peak fitting of Raman spectra, targeted at CO2 fluids and hydrous silicate glasses Python Raman 2023-07-24
ramix RaMix: A Python package for generating Raman Mixture Spectra Python Raman 2023-06-28
ramkit An analysis kernel for raman spectrum. Python Raman 2023-07-24
RamPy Processing Raman, IR, XAS spectra Python Any 2025-05-11
RBMRB Interface to BMRB database R Data Sharing 2023-01-09
rCRSI Visualization and processing toolbox for Confocal Raman Spectroscopy Imaging R Raman 2019-11-18
rCSRI Tools for confocal Raman imaging spectroscopy R Raman 2019-11-18
rDolphin 1D NMR profiling for metabolomics R NMR (1D) 2023-11-15
read_pdz Convert Bruker XRF spectral data .pdz files into an open file format Python Data Sharing (XRF) 2024-09-20
readJDX Import JCAMP-DX files to ChemoSpec format R Raman 2023-11-17
Rela2x (pub) Analytic and automatic NMR relaxation theory Python NMR 2025-03-06
relaxNMR 1D Proton NMR relaxometry analysis Python NMR 2024-05-02
relaxometrynmr solid-state NMR relaxation data analysis: T1, T1_rho and T2 Python NMR (SS) NA
renishaw-wdf Renishaw spectroscopy data file accessor classes Python Data Sharing (Raman) NA
renishawWiRE Reading wdf Raman spectroscopy file from Renishaw WiRE Python Data Sharing (Raman) 2023-08-28
resemble Non-linear modeling of Vis & IR spectra R IR, Vis 2025-05-21
rNMR (pub) Visualization of 1D & 2D NMR R NMR (nD) 2015-02-08
Rnmr1D (pub) 1D NMR processing for metabolomics R NMR (1D) 2025-04-23
S1Control XRF Spectral Analysis and control of Bruker pXRF Instruments - S1 TITAN, TRACER, CTX, XMS Python XRF 2024-08-18
sabarsi Workflow for processing surface enhanced Raman spectra (SERS) R Raman 2023-04-02
seabreeze Python interface module for Ocean Optics spectrometers Python UV-Vis 2025-05-22
serrsBayes (pub) Modeling of surface enhanced Raman spectra (SERS) R Raman 2021-06-27
simLIBS simLIBS provides Python class to simulate LIBS spectra with NIST LIBS Database interface. Python LIBS 2025-03-27
simos Spin simulations in Python (NMR, EPR/ESR as well as ODMR). Python NMR, EPR NA
simplerspec Spectral processing & modeling R MIR, NIR 2024-08-08
SimulatedLIBS SimulatedLIBS provides Python class to simulate LIBS spectra with NIST LIBS Database interface. Python LIBS 2025-03-27
simulateIRAS A python package for simulating Infrared Reflection Absorption Spectroscopy(IRAS) measurements Python IR 2023-05-03
sleepy-nmr Spins in Liouville-space for rElaxation and Exchange in PYthon Python NMR NA
SmoothDeconvolutionNMR (pub) NMR data processing R NMR 2025-02-18
spa-on-python Read Nicolet/Thermo Omnic files on python (.spa). Python Data Sharing 2024-04-11
spc-io SPC file format parser Python Data Sharing 2025-04-29
SPCSpectra Module for working with .SPC spectra Julia Data Sharing 2022-07-14
SPCViewer SPCViewer (fka. BluEPRint) is a versatile Tool for NMR, EPR and UV/Vis Spectroscopy C# NMR, EPR, UV-Vis 2023-08-15
speaq (pub) NMR data processing R NMR (nD) 2022-05-22
Spec (pub) Spectral analysis of plant stoichiometry R NIR 2024-06-06
specio I/O spectroscopic files Python Any 2024-09-25
specmine General spectroscopic data handling R Any 2021-09-20
specreduce Reduce & calibrate spectroscopic data Python IR, UV-Vis 2025-05-19
spectacles Storing, manipulation & analysis of spectroscopic data sets R Any 2023-11-01
Spectoprep Bayesian optimization of spectroscopic preprocessing Python Any 2025-05-04
spectra Library for UV, IR, 1D & 2D NMR Python Any 2020-09-08
Spectra Treatment of spectra (Raman, infrared, XAS, NMR) data Julia Any 2025-05-02
spectra-formatter Tool to write out NMR data for publication summaries html NMR (1D) 2019-02-10
spectradb A Lightweight Spectroscopic Data Manager Python Data Sharing NA
SpectraFP A package to perform fingerprints from spectroscopy datas. Python Any 2024-07-24
spectrai spectrai: a deep learning framework for spectral data. Python Any 2024-06-19
Spectral-Anomaly-Checker Tool to identify anomalous peaks in XRF spectra Python XRF 2025-04-23
spectral-nexus Spectral Nexus is a web application for data analysis, spectra classification and visualization. Python FT-IR 2025-04-23
spectralAnalysis Exploratory data analysis of 1D spectra R Any 2024-01-29
spectramap Hyperspectral package for spectroscopists Python Raman 2025-02-20
spectrapepper A Python package to simplify & accelerate analysis of spectroscopy data Python Any 2024-09-06
SpectraSimulation Simulation Program for calculating synthetic spectra from theoretical data. Python XRF NA
SpectroChemPy General spectroscopic data handling Python Any 2025-05-06
spectrocrunch Spectroscopic imaging library (XRF/XAS) Python XRF NA
SpectroscoPyx Atomic/Plasma spectroscopy Python UV-Vis 2021-05-28
spectroview A Tool for Spectroscopic Data Processing and Visualization. Python Raman NA
spectrum-image Python Package for EELS (Electron Energy Loss Spectroscopy) Analysis Python EELS NA
specutils Toolbox for astronomical spectroscopic data Python UV-Vis 2025-05-22
speview Program to display binary SPE files containing Raman spectra Python Data Sharing (Raman) 2017-07-05
spike FT-spectroscopy processing Python NMR 2024-09-02
spike-py The SPIKE program. A collaborative development for a FT-spectroscopy processing program Python NMR (1D, 2D) 2024-09-02
spinpy Package for simulating EPR data. Python EPR NA
spinsolveproc Python library to process Spinsolve NMR experiments. Python NMR NA
SRPAstro Astronomical Data Analysis Tools Python NIR 2024-04-29
SRPAstro.FITS Tools for handling FITS files under SRP Python NIR 2024-07-28
SRPAstro.GW Tools for handling GW EM transient search under SRP Python NIR 2019-08-25
SRPAstro.REM Tools for the REM telescope under SRP Python NIR 2023-05-18
SRPAstro.STATS Statistical tools under SRP Python NIR NA
SRPAstro.TNG Tools for the TNG telescope under SRP Python NIR 2021-05-11
ssfp Simple steady-state free precession simulation Python NMR NA
ssNAKE (pub) SS NMR processing & fitting Python NMR (SS) 2024-06-25
tameNMR 1H NMR metabolomics R NMR (1D) 2021-09-02
teacups Simulation of timeresolved transient EPR spectra of spinpolarised spin species Python Time Series (EPR) 2025-02-24
tesliper Bbatch processing of spectra-related Gaussian output files Python Raman, FT-IR, UV NA
thorondor (pub) XANES package using jupyter widgets Python XAS 2022-07-18
tidyDenovix Cleans spectrophotometry data from the Denovix DS-X R UV-Vis 2024-07-13
tidyspec Analyze spectroscopy data using tidy-data philosophy R Any 2025-05-19
TIMP (pub) Time-resolved spectroscopy R Time Series 2023-02-09
trEPR Time-resolved EPR spectroscopy Python Time Series (EPR) 2023-07-15
unmixR Unmixing of hyperspectral data sets R Any 2025-03-20
uvvispy Package for handling optical absorption data Python UV-Vis 2021-07-14
uvvistauc Optical band gap plots for semiconductors R UV-Vis 2023-03-24
Vespucci (pub) Tools for spectroscopic data analysis & imaging C++ Raman 2020-02-17
vibrav Vibrational averaging of molecular properties Python FT-IR NA
wai-spectralio Python library for reading/writing various NIR, MIR, XRF spectroscopy data formats. Python Data Sharing NA
wasatch This package is a driver for Wasatch Photonics spectrometers Python Raman NA
waves General spectroscopic data handling R Any 2024-10-23
web_geochemistry Shiny app for visualizing XRF & NAA geochemistry concentrations R XRF 2021-04-28
whose A fast solid-state NMR spectrum simulation and analysis library. Python NMR 2025-05-20
whoseline Interactive tool for identifying atomic spectral lines Python UV-Vis, NIR 2025-02-26
wobble (pub) Analysis of stellar spectra time series Python Time Series 2024-08-06
WrightTools (pub) Toolbox for coherent multidimensional spectroscopy Python Raman 2025-02-16
xanespy Tools for analyzing X-ray absorbance spectroscopy data Python XAS 2023-07-07
xas-pipeline A data pipeline for processing XAS data Python XAS NA
xaspy Analysis of experimental xray absorption spectroscopy data Python XAS NA
xcal_raman Module for x-axis calibration of Raman spectrometers Python Raman NA
xfit Package for fitting XRF spectra Python XRF NA
XL-e (pub) Simulate photoelectron spectra driven by laser pulses Fortran PES 2015-10-29
xmimsim Toolkit for making & processing X-ray fluoresence simulations via XMI-MSIM Python XRF NA
XPlotLib Libary to plot experimental and theoretical XRay data. Python XRF, XAS NA
Xray-Fluorescence-Depth Estimate the theoretical maximum depth at which an element will be detectable through a solid layer of a different element via XRF analysis. ex: coatings calibration Python XRF 2024-11-11
xraylarch Synchrotron X-ray data analysis in python Python XRF, XAS NA
xrf_cluster Producing mineral maps from μXRF geochemistry using KMeans clustering Python XRF 2025-02-15
xrf_filetools XRF file tools Go Data Sharing (XRF) NA
xrf_parser Parse files from handheld XRF spectrometers Python Data Sharing (XRF) 2019-07-21
xrf-tomo XRF Tomography Reconstruction Python XRF NA
xyza2pipe File conversion for NMR data formats C Data Sharing (NMR nD) 2024-07-10

Additions or corrections? Please file an issue with the necessary information or submit a pull request at the repo.

Status Column:

The status column in the table gives the date of the most recent:

  • commit to a repository,
  • activity on an issue filed in a repository,
  • web site update, or
  • submission to an archival network such as CRAN or PyPI

as a proxy for regular maintenance, at the time this page was updated. Keep in mind that some software is fairly mature and thus an older status date does not necessarily mean the software is not maintained. Follow the links to the websites for more details.

The status date is found by automatic checking of sites with valid links. Commits and issues are only checked for Github sites, via the Github API. Web site updates are found using a simple search for common date formats and may be inaccurate. Keep in mind the most recent activity may be on any branch in a repo, and may be newer than any official releases.1

Abbreviations & Terms:
  • CRAN: Comprehensive R Archival Network
  • EDA: Exploratory data analysis (unsupervised chemometrics)
  • Focus: The type of spectroscopy the software is focused on. Keep in mind that software designed with a given spectroscopy in mind may still work with other types of spectroscopic data.
  • Language: Most software is built on several languages. In the table, “lang” refers to the primary language used to create the software.
  • PyPI: Python Package Index
  • Python: Multipurpose programming language details
  • R: A software environment for statistical computing and graphics details, platforms

  1. We made 522 inquiries to Github to produce this report.↩︎