The Advanced Photon Source
a U.S. Department of Energy Office of Science User Facility


This project supports crystallographic determination of the atomic arrangement from any type of x-ray or neutron from diffraction measurements as well as materials characterization, such as lattice parameters and microstructure and texture. GSAS and EXPGUI are arguably the most widely used computational tools in materials crystallographic analysis, but are nearing the end of their support lifetimes. GSAS-II provides in a single program capabilities that would otherwise require a wide range of tools, plus many innovative concepts. All codes run on Windows, Linux and Mac OS X. These packages are used for structural characterization from single-crystal and/or powder diffraction data for all scales of problems. GSAS-II extends this to small-angle scattering and parametric studies.

While mostly used for materials characterization, GSAS and GSAS-II are the only programs that have been used to determine macromolecular (protein) structures from powder diffraction data.


GSAS (General Structure Analysis System) partnered with its user interface, EXPGUI, are very widely used software packages for the refinement of crystallographic structure models from x-ray or neutron diffraction data, which may be from single-crystal or powder samples; and can be from time-of –flight or constant-wavelength sources.  They are typically used for crystallographic analysis, quantitative phase determination, texture mapping, stress-strain measurements and other related types of materials characterization.

While GSAS & EXPGUI are still seeing reasonable amount of use (EXPGUI was cited ~500 times/year in 2015, 2016 and 2017), the software is no longer updated or supported and may not be compatible with newer operating systems. The authors strongly encourage use of GSAS-II, which now supplies all the capabilities of GSAS/EXPGUI.


GSAS-II extends the capabilities of GSAS and EXPGUI, to provide the capabilities needed for all aspects of data analysis, from reduction of the as-collected data through final publication, by adding features not in GSAS such as: area-detector data calibration and reduction, powder diffraction indexing, structure solution, as well as extensive result visualization tools.

GSAS-II is written in a modern programming language (Python) and is designed to modern crystallographic analysis, where changes in structure are determined as a function of environmental conditions, where dozens to thousands of datasets are collected on a single sample and can fit user-supplied equations of state for parametric studies.It also can be used for small-angle scattering analysis.

The GSAS-II program has all the functionality of GSAS. However, unlike GSAS, GSAS-II has no limitations (other than available computer memory) for the number of phases or datasets that may be handled in a single project and GSAS-II has a fully integrated graphical user interface; a scripting interface is available for some capabilities.

Distribution & Impact

GSAS-II is open-source program provided with all source code and executables to run on all common platforms (see platform-specific installation instructions for Windows, Linux and Mac OS X.)

EXPGUI is open source but GSAS source code is made available only upon special request. Installation information may be found on the EXPGUI home page.

Citations for GSAS-II have been doubling for the past 3-4 years reaching 100 citations for 2017. GSAS citations are tracked only by Google Scholar, while EXPGUI use (which represents a subset of GSAS use) is tracked by the Web of Science as well. EXPGUI is cited approximately 500 times per year, with ~10% of that use coming from APS experiments and another ~10% of that coming from other BES-SUF facilities.


Funding Source

Work on GSAS & EXPGUI has been supported by Los Alamos, Argonne and NIST over several decades.

GSAS-II has been produced using operational funding from the APS (contract DE-AC02-06CH11357) and the Neutron Sciences Directorate at Oak Ridge National Laboratory (DE-AC05-00OR22725)

Please cite (GSAS-II)

Toby, B. H., and Von Dreele, R. B. (2013). "GSAS-II: The Genesis of a Modern Open-Source All-Purpose Crystallography Software Package," Journal of Applied Crystallography 46, 544-549. doi:10.1107/S0021889813003531

Please cite (GSAS & EXPGUI)

Larson, A. C., and Von Dreele, R. B. (1986-2004). Report LAUR 86-748. Los Alamos National Laboratory. (Google Scholar: 6158 citations, 10/30/14) (download)

Toby, B. H. (2001). "EXPGUI, a Graphical User Interface for GSAS," Journal of Applied Crystallography 34, 210-213. (Web of Science: 2670 citations, 10/30/14) doi:10.1107/S0021889801002242

Related Publications
Von Dreele, R. B. (2014). "Small Angle Scattering Data Analysis in GSAS-II," J. Appl. Crystallogr. 47, 1784-1789. doi:10.1107/S1600576714018366

Toby, B. H., and Von Dreele, R. B. (2014). "What’s new in GSAS-II," Powder Diffraction 29(4), S2-S6. doi:10.1017/S0885715614000736

O’Donnell, J. H., Dreele, R. B. V., Chan, M. K. Y., and Toby, B. H. (submitted). "A Scripting Interface for GSAS-II," Journal of Applied Crystallography. (preprint available on request)

Immediate GSAS-II development goals include
  • Improve documentation and tutorial examples
  • Improve distribution packaging and installation instructions
  • Correct code to function with new releases of operating systems and Python distributions
  • Implement magnetic scattering refinement for commensurate and incommensurate models
  • Develop parametric restraints methodology
  • Extend small-angle scattering implementation to neutrons
  • Develop methodology specific to third-generation TOF instrumentation
Potential longer-term GSAS-II goals include
  • API for non-interactive project editing
  • Fitting of other types of physical measurements
  • Local structure modeling
  • Distributed computing
  • Creation of technical manual creation and instructional materials
  • Fundamental parameters profile generation
  • Maximum entropy Fourier maps
  • Command-logging to full GUI
  • Extend constraints to add parameter offsets; review input after each change for problems
GSAS and EXPGUI development

GSAS and EXPGUI are no longer being developed and support is no longer offered.