Open-source Raman and FTIR spectroscopy analysis software for phase identification, spectral database search, peak detection, preprocessing, and publication-ready plotting.
macOS: Download IR_Raman_Phase_Finder_macOS_1.0.3.pkg.
Windows 10/11: Download the current Windows installer 0.1.8 and run it.
All releases: GitHub Releases
More detailed installation notes are below in Installation.
IR/Raman Phase Finder is a cross-platform desktop application for materials science, mineralogy and chemistry. It imports experimental Raman and infrared spectra, performs baseline correction and peak detection, searches local and downloadable reference databases for candidate phases, and exports publication-ready PNG, JPEG, SVG and PDF figures with editable vector elements.
IR/Raman Phase Finder is an open-source desktop tool for phase identification from Raman and infrared spectra. It is built for everyday search-match work: load an experimental spectrum, limit chemistry by elements, search local or downloadable spectral sources, preview candidate spectra, inspect metadata and keep selected matches in one project.
The project follows the same Finder application pattern as XRD Analysis Toolkit, but the domain engine is vibrational spectroscopy rather than diffraction.
- import Raman and FTIR spectra from text, CSV, JCAMP-DX and common vendor files
- load user spectral libraries from CSV manifests or folders
- search Raman and FTIR references separately against the active experiment
- use required, optional and excluded elements to gate candidate compounds
- download/cache supported public source data such as RRUFF, ROD, OpenSpecy and JARVIS-DFT
- preview and tune smoothing, despiking and baseline removal in XRD-style parameter panels
- normalize spectra by maximum, vector norm, integrated area or SNV
- export the active processed spectrum, candidate table and plot image
- preview reference spectra on the active plot before selecting them
- manage project trees with experiments, libraries, candidates and selected matches
- save user data, caches, settings and matplotlib state outside the installed program
See Data Sources. Searchable local connectors are provided for user libraries, RRUFF, ROD, OpenSpecy and JARVIS-DFT. SDBS, NIST Chemistry WebBook and SpectraBase are shown separately as external search links; they are not presented as downloadable Finder databases.
Large third-party spectral databases are not bundled with the application. The program provides tools for reading, indexing and caching data that the user is allowed to access.
Load experimental Raman or FTIR spectrum
|
|
Preprocess and detect bands
|
|
Choose active reference sources
(RRUFF / ROD / OpenSpecy / JARVIS-DFT / local folder / CSV library / DFT spectra)
|
|
Restrict chemistry with the element table
|
|
Search candidate compounds
|
|
Preview reference spectra on the active plot
|
|
Select likely matches and inspect unexplained bands
- Element table
- Left click marks an element as required.
- Right click marks an element as optional.
- Clicking again removes that element from the gate.
- Project tree
- The highlighted experiment is the active spectrum for search and preview.
- Drop an experimental folder into the window to create XRD-style project series: root files form one series and each direct subfolder forms another.
- Raman and FTIR spectra can share the same series; their type is detected per file.
- Select a series before importing separate files to place them there; otherwise they appear under No series.
- A series checkbox shows or hides all its spectra, while individual checkboxes control single traces.
- Right click the project, a series, or a spectrum to rename, move, or delete it. Deleting a series keeps its spectra under No series.
- Use Up and Down to reorder the selected series or spectrum.
- Use Import → Load reference folder for reference libraries; dropped folders are experimental project data.
- Candidate list
- Single click previews the candidate spectrum and metadata.
- Double click adds a candidate to the selected match set.
- Selected candidates
- Use selected matches to compare reference spectra against the experiment.
- Plot
- Use normal mouse zoom and pan.
- View settings are kept in the same style as the XRD Finder View tab.
- Preprocessing
- Smooth, Remove background and Despike open parameter panels with live preview.
- Auto restores conservative defaults, Cancel restores the captured spectrum, and OK applies the preview.
Latest release assets:
- macOS:
IR_Raman_Phase_Finder_macOS_1.0.3.pkg - Windows 10/11:
IR_Raman_analysis_Toolkit_Setup_0.1.8.exe - All releases: GitHub Releases
Windows installer:
- Windows 10 or Windows 11, 64-bit recommended.
- Administrator rights for installation into the selected application folder.
- Internet access during first setup, because Python or Python packages may need to be downloaded.
- About 1 GB of free disk space for the shared scientific Python environment.
Source checkout:
- Python 3.11 or newer, below Python 3.13.
pipand Python virtual environment support.- Internet access for installing Python packages.
IR/Raman Phase Finder uses the shared per-user Sci runtime:
%LOCALAPPDATA%\Sci\env
User data, downloaded sources, caches and settings are stored under:
%LOCALAPPDATA%\Sci\apps\ir_raman_analysis_toolkit
Logs are stored under:
%LOCALAPPDATA%\Sci\logs\ir_raman_analysis_toolkit
Download and run:
IR_Raman_analysis_Toolkit_Setup_0.1.8.exe
The installer:
- installs IR/Raman Phase Finder into the selected application folder
- creates Start Menu and optional Desktop shortcuts
- creates or reuses the shared
SciPython environment in user AppData - installs required Python packages
- writes launcher commands into
%LOCALAPPDATA%\Sci\bin - adds an uninstall entry to Windows
If Python 3.11 is not already available, the setup script first tries winget and then
falls back to the official Python 3.11.9 installer from python.org.
Source-checkout launchers are available:
./setup_env.command
./run_finder.command
./run_finder.shExamples:
./run_raman_example.command
./run_ftir_example.commandSetup:
setup_env.bat # Windows
setup_env.command # macOS
./setup_env.sh # Linux
Graphical launchers:
run_finder.bat
./run_finder.command
./run_finder.sh
Command-line launchers:
run_finder_cli.bat
raman-finder --experiment sample_raman.xy --library library.csv
ftir-finder --experiment sample_ftir.xy --library library.csv
For normal interactive work, importing spectra and libraries from the application window is preferred.
Use a CSV manifest as a user reference library. One row points to one reference spectrum file. Raman and FTIR records are separate rows and can be present independently:
source,entry_id,name,formula,kind,path,compound_key
User,quartz_demo,Quartz,SiO2,raman,quartz_raman.xy,User:quartz_demo
User,quartz_demo,Quartz,SiO2,ftir,quartz_ftir.xy,User:quartz_demoThe GUI can also load a whole folder as a user library. It scans supported spectrum
files recursively, infers Raman/FTIR from the path name and extracts simple formulas
from file names such as Ca2Al2SiO7.txt or CaWO4_2Mo.txt.
Supported by the built-in reader: .txt, .xy, .csv, .tsv, .dat, .asc,
.ascii, .prn, .jdx and .dx. The standard setup also installs the optional
ramanchada2 backend for .spc, .sp, .spa, Bruker OPUS .0/.1/.2, .wdf,
.ngs, .rruf, .spe, .cha, .dpt and related Raman formats.
IR_Raman_analysis_Toolkit/
README.md
pyproject.toml
setup_env.bat
setup_env.command
setup_env.sh
docs/
DATA_SOURCES.md
DATABASE_WORKFLOW.md
ARDI_NOTES.md
toolkit/
manifest.json
setup_sci_env.bat
launch_ir_raman_phase_finder_preview.ps1
installer/
IR_Raman_Phase_Finder.iss
build_installer.bat
clean_payload.bat
Vibrational_Finder/
app.json
finder_core/
Shared Finder contracts and utilities
vibrational_finder/
IR/Raman Phase Finder application source code
examples/
Demo Raman/FTIR spectra and library files
tests/
Import, matching and source-cache tests
Generated installer files such as IR_Raman_analysis_Toolkit_Setup_1.0.3.exe are
not committed to the repository; they are published separately as GitHub Releases
assets.
The root IR_Raman_analysis_Toolkit layout keeps shared toolkit files separate from
the Vibrational_Finder application folder. This leaves room for additional
IR/Raman-related programs later while preserving a clear application boundary.
The software combines standard vibrational spectroscopy search-match steps:
- spectral preprocessing
- baseline correction
- peak/band detection
- reference spectrum matching
- chemistry filtering by formula elements
- local and downloadable spectral libraries
Core open-source libraries used by the application:
- NumPy and SciPy for numerical work
- pybaselines for baseline correction
- pyqtgraph for interactive plotting
- PySide6 / Qt for Python for the desktop interface
- pyreadr and rdata for optional RDS library import paths
- ramanchada2 for vendor formats and Raman data harmonization
The current implementation is intended for initial phase identification and visual interpretation of Raman and IR spectra. It is not intended to replace full quantitative spectroscopic refinement workflows.
Current development stage: 1.0.3.
The application is ready for practical source loading, reference search, candidate preview and selected-match workflows on Windows. Next development work is focused on improving source connectors, scoring, project persistence and packaged release automation.
MIT License
If you use this software in scientific research, please cite this GitHub repository.
IR/Raman Phase Finder
Version 1.0
Open-source software for preliminary phase identification from Raman and FTIR vibrational spectra using open spectral databases, user reference libraries, peak/line indexing, and spectrum matching.
© 2026 Artem B. Kuznetsov
Institute of Geology and Mineralogy SB RAS
MIT License
GitHub:
https://github.com/ABKuznetsov/IR_Raman_analysis_Toolkit
A dedicated software publication describing the Finder workflow for vibrational spectroscopy is planned after the preview architecture stabilizes.
Artem B. Kuznetsov
Institute geology and mineralogy SB RAS
GitHub: https://github.com/ABKuznetsov