Free & open-source

KherveFitting — an open-source XPS fitting software, written in Python and designed to be elegant and simple to use.

KherveFitting is a software written in Python and designed for fitting X-ray photoelectron spectroscopy (XPS) data. It provides a user-friendly graphical interface for researchers in materials science and surface analysis, offering multiple background subtraction methods, various peak fitting models, and automated multipeak fitting with customisable constraints — a freely available alternative to established commercial XPS packages. The code is on GitHub .

Why KherveFitting

Fully open source

Released under the BSD-3 License — broad use, modification, and distribution are permitted. Every algorithm is auditable; the code is your code.

Built in Python

A transparent stack of well-known scientific libraries — no closed black box. Source on GitHub.

Elegant and simple to use

Drag-and-drop file loading, mouse-driven backgrounds and peak placement, and keyboard shortcuts for everything that matters.

Excel-native data model

Files are stored as Excel workbooks (.xlsx) with embedded JSON metadata, so spectra, fits, and notes travel together — no proprietary container required.

Reads every common XPS format

VAMAS (.vms), Thermo Avantage (.xlsx, .avg, .vgd), Kratos (.kal), PHI/ULVAC-Phi (.spe), Scienta, Igor Pro, VG Microtech, Casa, CSV/ASC — all open natively.

Multi-sample, multi-core-level

Designed for users analysing many samples across many core levels — automated batch fitting, depth profiling, and advanced statistical analysis including PCA.

All the file formats you need

Files are kept in Excel — readable, portable, scriptable. Non-native files are converted automatically on drop.

.xlsx

KherveFitting native (Excel + JSON)

.vms

VAMAS standard

.kal

Kratos

.spe

PHI / ULVAC-Phi

.avg

Thermo Avantage

.vgd

Thermo VGD

Scienta

Scienta files & maps

Igor Pro

.dat / .itx

Casa

Casa info parsing

VG

VG Microtech variants

.csv / .asc

Surface Science Spectra & generic

XAS

Diamond B07 beamline

Full list of supported formats

Built-in tools

Everything ships with the app — no separate install, no plug-in registry. From the element database that powers identification, through to valence-band measurement and Thickogram analysis.

KherveDB

Periodic-table viewer with NIST / XPS binding-energy references for every element from H to U, Auger lines, and the sensitivity-factor libraries used for quantification.

Learn more

Peak Fitting Library

Save peak tables (positions, constraints, doublet ratios, line shapes, backgrounds) as portable JSON. Load them across samples or pull from the GitHub community cloud library.

Learn more

Manual identification

Click directly on the spectrum to assign elements and chemical states from the periodic table view, with binding-energy hints from KherveDB.

Learn more

Automatic identification (AutoID)

Run AutoID on a survey scan: peak-prominence detection cross-referenced against KherveDB, including KLL / LMM / MNN Auger lines, with a user-set tolerance window.

Learn more

Thickness profile

Profile Creator and Editor for ion-sputter depth-profile series — derive layer thicknesses, follow chemistry as a function of etch time, and export the resulting depth profile.

Learn more

Valence band measurement

Dedicated VB workflow including valence-band maximum (VBM) extraction, Fermi-edge fitting, and D-parameter analysis for amorphous-carbon characterisation.

Learn more

Thickogram

Built-in Thickogram tool for thin-film thickness estimation from substrate / overlayer photoelectron intensity ratios, with TPP-2M / Cumpson IMFP libraries.

Learn more

PCA

Principal Component Analysis on multi-sample datasets — scree plots, score maps, and loading spectra to identify chemical trends and outliers across your sample set.

Learn more

D-parameter

Automated D-parameter extraction from carbon KLL Auger spectra for sp²/sp³ hybridisation analysis — first-derivative calculation with adjustable smoothing.

Learn more

Sample Manager

Organise and browse all loaded samples, core levels, and regions in a tree view. Rename, group, reorder, and batch-select spectra for fitting or export.

Learn more

Label Manager

Create, edit, and bulk-apply peak labels across multiple spectra. Consistent annotation for publication-ready figures with customisable font, colour, and position.

Learn more

Export to Excel

Every result — peak positions, areas, atomic percentages, FWHM, constraints, and fit statistics — exports to a single, well-structured Excel workbook. One click gives you a ready-to-use spreadsheet for reporting, further analysis, or supplementary data in your publication.

  • · Quantification tables with RSF and transmission corrections
  • · Peak parameters for every fitted component
  • · Depth-profile and batch-fit results across all samples
KherveFitting Excel output
Final fit of a C 1s spectrum in KherveFitting

From raw spectrum to atomic %

Drop a VAMAS or KAL file onto the canvas, place two background lines, load a saved peak table, and fit. KherveFitting handles the constraints — including Köster-Kronig handling for Ti2p / V2p — while you stay in control of the chemistry.

Walk through the 13-step quick start

What users are saying

Reviews from the SourceForge project page — all 5 stars to date.

Read all reviews
The best XPS fitting software available — exceptional library. Dr. Gwilherm Kerhervé is a genius. Highly recommended for serious XPS analysis.
nawal1 · 2026-01-04
Wonderful free program to fit XPS data. A huge contribution to the XPS community worldwide.
ea2412 · 2025-03-12
An absolute gem! Intuitive, powerful — I recommend using it.
manuellagobbo · 2025-03-13
Beginner-friendly, intuitive, full of useful features. Good instrument compatibility, including macOS support.
wskinner1701 · 2025-03-16
Mac compatibility is fantastic — I wish I'd found this earlier.
sw1120 · 2025-03-19
Amazing software for XPS and Raman fitting. Easy input and output, suitable for beginners.
mingxu0906 · 2025-06-02
Fantastic software! It works for XPS and Raman. Easy to use!
lyh8612098 · 2025-06-02

Learn KherveFitting

Step-by-step video tutorials on the KherveFitting YouTube channel, plus the user manual and a 13-step quick start.

New to KherveFitting? Download the latest release and follow the quick start.

Other XPS resources

KherveFitting is part of a wider XPS community. These are the references and reading we recommend alongside it.

Cited in the literature

KherveFitting has been used in peer-reviewed work across catalysis, photovoltaics, corrosion, biomaterials and 2D materials. The list below combines a curated reference set with new entries pulled live from OpenAlex at build time.

Search KherveFitting on Google Scholar

Reference paper

KherveFitting: An open source software for fitting X-ray photoelectron spectroscopy data

G. Kerhervé, W. S. J. Skinner, J. A. Hochhaus et al.

Surface and Interface Analysis, Wiley (2026)

Cited by 10 on Google Scholar

Author

Developed by Dr. Gwilherm Kerhervé.

About & how to cite