XSPEC is a command-driven, interactive, X-ray spectral-fitting program, designed to be completely detector-independent so that it can be used for any spectrometer. XSPEC has been used to analyze data from HEAO-1 A2, Einstein Observatory, EXOSAT, Ginga, ROSAT, BBXRT, ASCA, CGRO, IUE, RXTE, Chandra, XMM-Newton, Integral/SPI, Fermi, Swift, Suzaku, NuSTAR, Hitomi, NICER, IXPE, and Spectr-Roentgen-Gamma. There are now over 13,000 refereed papers listed on ADS which mention XSPEC.

This manual describes XSPEC v12, which is available on Linux and MacOSX. The Python interface PyXspec is described in a separate manual at New users are advised to read Chapter 2, which introduces spectral fitting and the XSPEC approach, Chapter 3, which gives an overview of the program commands, and Chapter 4, which contains walkthroughs of XSPEC sessions. They should then experiment with XSPEC and, if necessary, look up individual commands in Chapter 5, or descriptions of the spectral models in use, in Chapter 6.

The user interface for XSPEC, which employs a tcl scripting shell and the XSPEC parser, is described in Appendix A. The statistical methods used within XSPEC are described in Appendix B. Users interested in adding their own models can read how to do so in Appendix C. Appendix D describes the PLT plotting package which XSPEC currently uses for graphical output. Some of the tools (FTOOLS, programs, scripts) that can operate on XSPEC files are listed in Appendix E. The XSPEC model library can be linked into other programs following the instructions in Appendix F. Appendix G describes how to use your own proposal distribution for Markov Chain Monte Carlo. Appendix H includes some notes on the changes between XSPEC v11 and v12. Appendix I lists release notes for older versions of v12. Finally, Appendix J defines some commonly used XSPEC terms.