Thin oxide films play an important role in the corrosion of metals. Using XPS it is possible in principle to obtain information on the chemical state of near-surface atoms, the stoichiometry of the surface layer and its thickness. A problem is the quantification of XPS spectra, due to the large uncertainty in the value of both electron attenuation lengths as well as sensitivity factors. By applying the Tougaard background subtraction method and comparing only peak intensities of the Fe 2p and O 1s peaks with those of Fe, FeO and Fe2O3 reference samples, we determined the stoichiometry of the oxide layer grown on Fe(100) and Fe(110) at 200°C and room temperature to be Fe0.90±0.05O. We combined XPS with the high-energy ion-beam technique of elastic recoil detection (ERD). By comparing the absolute coverages of oxygen determined by ERD with the intensities of different XPS peaks, we were able to determine the attenuation lengths for kinetic energies of 776 eV (Fe 2p) and 957 eV (O 1s) to be 9.3×1015 and 9.9×1015 Fe0.9O molecules cm−2, respectively. © 1998 John Wiley & Sons, Ltd.