Skip to main content
U.S. flag

An official website of the United States government

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Reflectometry Software


for fitting and uncertainty analysis of neutron and X-ray reflectivity data

For Windows: no-install zipped executable

To upgrade to a newer version, delete the entire folder and download the new zip file and repeat the steps above.

Installation from the Python Package Index (pip install)

  • Install Python 3 (version 3.5 or greater, such as from or Anaconda)
  • open a terminal window (plain terminal on mac, Anaconda Prompt on Windows) and issue these commands:
    • pip install numpy scipy matplotlib wxpython periodictable
    • pip install refl1d

Then issuing the command "refl1d" from the command line will start the command-line client, and "refl1d --edit" will start an interactive fitting session.  "pip install --upgrade refl1d" will update to the latest version, any time.

Mac OS X notes (for pip install)

  • If you install Python 3 from you can simply replace "pip" with "pip3" in the install instructions above, and it will just work.
    • for (optional) virtual environment: use the builtin venv package so that the gui command "refl1d --edit" will still work
    • (virtualenv and virtualenvwrapper use a copy of the binary instead of linking to the Framework binary, so they may not work)
  • If you use an Anaconda Python distribution, to start an interactive refl1d session you will have to type this command in the terminal:
    • pythonw -m refl1d.main --edit
      • If pythonw is not installed, you may need to run "conda install" in your environment.

Windows notes (for pip install)

  • If you install Python3.10 there may not be a pre-built version of wx from pip yet (as of mid-2022).  If you don't want to install a compiler suite (see below), use python 3.9 or python 3.8 instead.
  • you might need to install a compatible C++ compiler (but you probably don't)

Additional information

See the Refl1D manual for details of the program. Refl1D uses Bumps for fitting and PeriodicTable for scattering length density calculations.

Citing this software: acknowledging Refl1D in publications may be done by making a reference to this site. For example:

The Refl1D program was used for elements of the data analysis[1].
[1] P.A. Kienzle, B.B. Maranville, K.V. O'Donovan, J.F. Ankner, N.F. Berk, C.F. Majkrzak; 2017-


for reduction of raw instrument data to reflectivity data

Reductus is a web application providing support for data reduction of NCNR data.  Driven by the reflred python libraries, reductus supports the common operations required to convert raw X-Ray and neutron reflectivity data to a reflectivity curve in physical units (R vs. Q), performing necessary corrections (background subtractions, scaling etc.)

Data files are accessed directly by URL from the NCNR online data repository and the reduction templates (recipes) can be modified with a graphical editor, and downloaded and reused or shared by email.  Reduced data can be downloaded in columnar text-file form.  No login or password is required to use the application.

Reductus replaces the Reflpak application
If you use reductus to reduce your experimental data, please consider including a citation to Journal of Applied Crystallography, Volume 51, Part 5, pages 1500-1506


Online SLD Calculator: The online SLD/activation calculator uses the same PeriodicTable package as Refl1D and SasView to compute scattering length density and neutron activation.

Web Reflectivity Calculators

For quick data exploration we provide a browser-based  magnetic reflectivity calculator as well a non-magnetic (unpolarized) reflectivity calculator.  The user-generated SLD profiles can be exported to a heavily-commented Python Refl1D model file to provide an easy way to get started with modeling data in Refl1D.  Please see the article in J. Res. NIST for more details.



This software was developed at the National Institute of Standards and Technology at the NIST Center for Neutron Research by employees of the Federal Government in the course of their official duties. Pursuant to title 17 section 105* of the United States Code this software is not subject to copyright protection and is in the public domain. NIST does not assume any responsibility whatsoever for the use of this software, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic. The use of certain trade names or commercial products does not imply any endorsement of a particular product, nor does it imply that the named product is necessarily the best product for the stated purpose. We would appreciate acknowledgment if the software is used.


*Subject matter of copyright: United States Government works


Copyright protection under this title is not available for any work of the United States Government, but the United States Government is not precluded from receiving and holding copyrights transferred to it by assignment, bequest, or otherwise.




Portions of this work are based upon activities supported by the National Science Foundation under Agreement No. DMR-0412074.




Calculating polarized neutron reflectometry
C.F. Majrkzak, K.V. O'Donovan, N.F. Berk (2006); Polarized neutron reflectometry. In Neutron Scattering from Magnetic Materials, T. Chatterji, editor. Elsevier.
Polarization corrections
C.F. Majkrzak (1996); Neutron scattering studies of magnetic thin films and multilayers, Physica B 221, 342-356.
Modelling interfaces with slabs
J.F. Ankner, C.F. Majkrzak (1992); Subsurface profile refinement for neutron specular reflectivity. In S.P.I.E. Conference Proceedings, Vol. 1738. C.F. Majkrzak and J.L. Wood, editors. S.P.I.E., Bellingham, WA.
Created April 14, 2017, Updated July 25, 2022