Latest News


October: The upcoming Code Camp will be hosted by Diamond Light Source 24th to 26th October. Visit Code Camp 2017 for more information and registration.

February: The main NeXus webpage migrated away from being a single static page and the wiki stopped being driven by mediawiki. Both are now (again) hosted together as Github Pages with pages being build out of markup files. In the (still ongoing) process we aim to reduce the amount of outdated information offered.


October: NIAC2016 took place in Copenhagen 13th & 14th hosted by ESS, on the three days before we had be a Code Camp. Version 3.2 of the NeXus Defintions was released.


November: Code Camp 2015 happened 16th - 18th at DESY in Hamburg
January: As a result of NIAC2014 the Teleconferences are now open to the whole community. Dates and joining instructions are to be published on the wiki page.


December: NIAC2014 has happened. The Code Camp had a meeting with the HDF Group, but was largely a preparation for the NIAC meeting. The NIAC elected new members and officers and there were many fruitful discussions. Important items and decisions are recorded in the minutes.
Wednesday, 2014-08-07: A NeXus code camp has been planned for 15th / 17th December 2014 with a NIAC meeting to follow on 18th / 19th December 2014. This meeting has been scheduled apart from the 2014 NOBUGS conference to accommodate travel permissions of a majority on the technical subcommittee.


A NeXus code camp happened 18th / 19th September 2012 with a NIAC meeting to follow on 20th / 21th September 2012. These meetings are the week before the NOBUGS conference on 24th-26th September 2012

See NIAC: meetings for historical information about the NIAC meetings and Code Camps.

Wednesday, March 6, 2012: Release candidates for NeXus 4.3 are now available from NeXus_43_Testing


Thursday, October 21, 2010: NeXus Manual moved from the wiki to a book format( (PDF & HTML are available). The revised manual also documents the class definitions( in NXDL. Content has been reorganised and divided into a volume containing the User Manual and a volume containing the Reference Documentation(

It is planned to release NXDL v1.0 next year.

The scientific community is encouraged to review existing Application NXDL definitions or propose new ones to the NIAC. A tutorial on constructing new NXDL definitions has been add to the manual.

Tuesday, April 13, 2010: NeXus API version 4.2.1 has now been released and is available from the download area - see Nexus_42_Release_Notes for further information

Tuesday, March 9, 2010: A NeXus Workshop will be held at PSI on May 10th - 12th. Its main purpose is to discuss the application of NeXus at synchrotron sources.

Thursday, February 25, 2010: NeXus API 4.2 Release Candidate 5 (candidate for 4.2.1) is now available for testing


Tuesday, May 5, 2009: NeXus API 4.2.0 released


Wednesday, December 3, 2008:NeXus API 4.2 Release Candidate 2 (candidate for 4.2.0) is now available for testing
Wednesday, August 27, 2008:Work is currently in progress to convert NeXus definitions from Meta-DTDs into XML Schema - for more details see the NeXus schema page.


Wednesday, October 31, 2007:The NeXus technical committee is pleased to announce the official release of version 4.1 of the eXus API. The NeXus API provides a unified interface for writing hierarchical data files in HDF4, HDF5, and XML formats. Version 4.1 resolves a number of bugs reported in the 4.0 release including issues with python bindings, text strings in the XML library, and problems encountered with using the Absoft FORTRAN90 compiler. Details of the new features contained in 4.1 can be found in the Release Notes

Source code, binary packages, and example code can be downloaded from download page.

Tuesday, September 11, 2007: The upcoming 4.1 release of the NeXus API is now undergoing testing. More details can be found on the testing site as well as provisional release notes

Friday, May 25, 2007:The NeXus technical committee is pleased to announce the official release of version 4.0 of the NeXus API. The NeXus API provides a unified interface for writing hierarchical data files in HDF4, HDF5, and XML formats. Version 4.0 resolves a number of bugs reported in the 3.0 release by providing updated makefiles, support for the gfortran compiler, and an improved test suite.

New functionality in the NeXus API includes support for two dimensional character arrays, linking to data items in other files (external linking) via the NXmakenamedlink() call, and print the target to a link reference with via the NXprintlink() call. File format- specific developments include extension of the XML API to handle “unlimited” dimensions, support for group attributes in HDF4, and support for reading generic (non-NeXus) HDF5 files. The new release also automagically generates documentation from the source code using the Doxygen documentation system. Details of the new features contained in 4.0.0 can be found in the Release Notes

Friday, March 16, 2007: The upcoming 4.0 release of the NeXus API is now undergoing testing. More details can be found on the testing site as well as provisional release notes


Thursday, December 7, 2006: Site updated to MediaWiki 1.8.2
Tuesday, November 28, 2006: A NeXus install kit for Microsoft Windows is now available The kit includes the standard NeXus applications as well as libraries for building applications with both MinGW and Microsoft Visual Studio.
Tuesday, November 21, 2006: The NeXus MailingLists have been moved to a new server. Future postings should be made to rather than to
Tuesday, September 26, 2006: The NeXus WIKI has been moved to new site at and updated to MediaWiki 1.7.1


Monday, November 7, 2005:We are planning the next meeting of the NeXus International Advisory Committee. The current proposal is to hold it in Grenoble in the first week of February, but details will be announced as they are finalized. In the meantime, check the NeXus Wiki pages for discussions of the agenda.
Friday, July 15, 2005:The technical committee is pleased to announce the official release of version 3.0.0 of the NeXus API. Mark Koennecke has incorporated infrastructure permitting the use of XML as an additional data format in the same way that it is already possible to switch between HDF4 and HDF5. The same API calls will be used for all underlying formats so that their use will be transparent to the calling program.

The distribution now includes Peter Peterson’s NXtranslate utility to map data in existing files to NeXus format via XML “translation files”. This application will aid developers to write NeXus reading applications by converting real data in a facility-native format to the NeXus standard.

In addition a bugzilla server has been established as a clearinghouse for bug reports and feature requests.

Thursday, June 23, 2005:The NeXus wiki is born. It uses the MediaWiki software that powers Wikipedia and is much more flexible than the Swiki we have been using until now.
Thursday, March 17, 2005:The next meeting of the NeXus International Advisory Committee (NIAC) will be held April 26-28 at the Bishop’s Lodge in Sante Fe, NM. The main task during these three days is to create instrument definitions.


Monday, November 1, 2004:The minutes of the second meeting of the NeXus International Advisory Committee (October 21-22, 2004) are now available.
Wednesday, October 13, 2004:The draft agenda of the upcoming NIAC meeting is now on the NeXus Swiki - we invite comments up to the day of the meeting.
Saturday, October 9, 2004:The new version of the web site has just been installed. The most significant new feature, apart from the change in design is that the recently voted NeXus classes are now displayed in a simplified table format, that we hope is easier to read. This is generated automatically from the XML file so will reflect the latest version at all times. There is still a little cleaning up of the documentation of these classes, with the final CVS uploads occurring at the upcoming meeting of the NeXus International Advisory Committee. If you find any errors, please contact the chair (Ray Osborn) or executive secretary (Peter Peterson) of NIAC.
Thursday, August 31, 2004:NXvalid allows a user to look at the contents of a NeXus file, like a graphical version of NXbrowse. The latest version is the first to incorporate the ISAW viewers for plotting 1D and 2D NXdata and NXmonitor. ISAW is a separate application developed at IPNS and needs to be separately installed. If ISAW is not installed, NXvalid will still work, but the viewers will not be available.
Friday, June 4, 2004:The second meeting of the NeXus International Advisory Committee will be held at the Paul Scherrer Institut, near Villigen, Switzerland, on October 21-22, 2004, immediately following NOBUGS 2004. See the NeXus Swiki page for more details.
Thursday, April 15, 2004:NXdir is a console based tool that allows inspecting the contents of a NeXus file. It allows for directory like listing of contents as well as printing out data. Version 0.2.4, which allows the user to select a 1D or 2D NXdata to write out to a file, has just been released.


Friday, September 24, 2003:The minutes of the first meeting of the NeXus International Advisory Committee are now available.
Friday, July 25, 2003:The first meeting of the NeXus International Advisory Committee will be held at the California Institute of Technology, Pasadena, California, USA, from 1:30pm September 8 to 12:30pm, September 10, 2003. See the NIAC 2003 web page for more details.


Saturday, December 14, 2002:Another proposal made at the NOBUGS conference was that we set up an interactive web forum to allow anyone to suggest changes to the NeXus format. We have now set up the NeXus Swiki for this purpose. This is an implementation of a Wiki Wiki Web which allows visitors to edit the web pages directly in their browser. We welcome any constructive contributions, and just ask that you respect the guidelines that are referenced on the Swiki home page.
Monday, December 2, 2002:Following a meeting of NeXus users and developers at the recent NOBUGS conference, we have decided to set up the NeXus Advisory Committee to oversee future developments of the format. The proposed Terms of Reference are given here. The membership of the committee will be nominated by neutron, x-ray, and muon facilities, and announced in the next few weeks.
Saturday, September 14, 2002:This is the official release of version 2.0.0 of the NeXus API. Mark Koennecke and Uwe Filges have produced a version that will read and/or write both HDF4 and HDF5 files. This is transparent to the user (except when he/she is choosing to write either an HDF4 or HDF5 file), i.e., the API calls are identical for both sets of files. Being able to migrate from one underlying format to another is one of the reasons why we developed a separate API, so it is good to see that it works in practice. Also included in this release are two new utilities, NXtoXML and NXtoDTD, which convert existing NeXus files to XML, with and without data values respectively. NXtoDTD can be used to produce the skeleton of a NeXus metaDTD file from an existing NeXus file.
Monday, July 8, 2002:We have created a new XML meta-DTD format for specifying the contents of NeXus files. These files are well-conformed DTD-less XML files, which therefore allow us to use standard XML forms to edit or display them. The aim is to make the instrument and other formats much more formally defined.


Thursday, December 14, 2000:The first public workshop devoted to the NeXus format will occur from March 20-21, 2001, at PSI, near Zurich, Switzerland. Check the NeXus’2001 web page for further details.
Wednesday, December 6, 2000:Version 1.3.3 of the API has been released. It includes a new routine, NXflush, to flush data to the output file, and the new Java API as part of the standard distribution.
Friday, October 20, 2000:Mark Koennecke has released the initial version of NeXus API in the Java programming language. It uses the Java Native Methods Interface in order to access the C language NAPI calls, so it can only be used by Java applications, not by applets. A shared library is needed in order to run a NeXus for Java program.
Tuesday, September 5, 2000:The NeXus FTP site has been moved to a (hopefully permanent) location at <>. The API installation section has been updated accordingly.
Tuesday, June 20, 2000:At the recent NOBUGS III conference, several members of the NeXus design team made presentations of their work on NeXus. Mark Koennecke described a java web-based data server and browser, Przemek Klosowski discussed efforts at NIST to build a Tcl/Tk-based data explorer, and Chris Moreton-Smith presented a proposal to formalize the NeXus format in XML. NeXus was also discussed in a data formats subgroup. Watch these pages for further developments.
Thursday, March 9, 2000:Version 1.3.2 has now been released. It contains some enhancements to the functionality of the NeXus terminal browser, NXbrowse, including the ability to specify the file name in the command line and to dump data into an ASCII file. It also fixes potential problems when compiling on systems which do not use 4-byte int’s and simplifies the interface between Fortran and C on Windows systems. See the release notes for more details.
Monday, January 24, 2000:The latest version of the NeXus terminal browser, NXbrowse, is now written in ISO C (NXbrowse.c), and can be installed from the NAPI Makefile (i.e. make NXbrowse). See the section on NeXus browsers for more details.
Four extra routines have been added to the C and F77 core API’s. They are NXgetgroupinfo, NXinitgroupdir, NXgetattrinfo, and NXinitattrdir. NXinitgroupdir and NXinitattrdir allow the reinitialization of group and attribute searches using NXgetnextentry and NXgetnextattr respectively. The NeXus API version number is now 1.3.1.


Tuesday, December 14, 1999:Following popular demand, Mark Koennecke has updated the NeXus API to include data compression. In the core API, compression is invoked by a call to NXcompress between calls to NXopendata and NXputdata.
N.B. Mark Koennecke pointed out that earlier claims that NXcompress could be used with NXputslab are incorrect; if data are to be compressed, they must be written in one go using NXputdata. It may be possible to relax this constraint when appending data along an unlimited dimension. We will let you know when that’s possible.

The C, F77 and F90 API’s have been updated. Data is automatically compressed in NXUwritedata (currently only a part of the F90 Utility API) if there has been a call to NXUsetcompress, which defines the compression algorithm and the minimum size of data set to be compressed (it makes no sense to compress very small arrays).

The current version of the NeXus API is v1.3.0.

Wednesday, November 24, 1999:There was yet another small error in the Fortran 90 example program. The call to NXUwriteglobals did not have the correct syntax. This has prompted a change to NXUwriteglobals to make all the arguments optional, allowing the use of the F90 keyword syntax when only a few attributes are to be written.
Monday, November 22, 1999:The latest version of the ILL’s popular data analysis package LAMP is able to read and write NeXus files. Although it normally requires an IDL license, they are also distributing a run-time version for various operating systems.
Friday, November 5, 1999:The NeXus API has been re-released as version 1.2.1 under the terms of the GNU Lesser General Public License. While this maintains the freedom of use of the NeXus API available under the GNU General Public License, it allows commercial developers to incorporate the code into any software that is subsequently sold for profit. We feel that this should be beneficial to the NeXus community in the long run. If you have any comments on this decision, please send them to the NeXus mailing list.
Monday, October 18, 1999:A new version of the NeXus API has been released. It is now version 1.2.0. Check the release notes for information concerning the changes, which mostly involve minor bug fixes.
Monday, September 20, 1999:The NeXus Home Page has been redesigned to make it easier to find individual web pages. If it does not format well in your browser, please let me know.
Friday, September 10, 1999:A small (but significant) error has been corrected in the Fortran 90 example program. The “file_id” variable should be declared as the derived type NXhandle, i.e.

type(NXhandle) :: file_id

and not as a character string. Apologies if that caused any confusion.

Separate HTML files dedicated to the three language interfaces, C, F77 and F90 have been added, along with improved navigation aids within them.

Thursday, August 19, 1999:The first version of the Fortran 90 API has been installed on the FTP server and updated the API file accordingly. It includes both an F90 version of the core API and a utility API to simplify some of the NeXus file navigation. If they prove useful, we will see if they can be implemented in C and/or F77.
A simple terminal browser for a NeXus file, NXbrowse.f90, has been written. After compiling, linking, and running, type HELP at the terminal for a list of available commands (upper or lower case).

Thursday, August 12, 1999:Freddie Akeroyd has set up an archive of the NeXus mailing list.
The latest version of the NeXus API, which contains changes to the way NeXus groups are linked, has been installed. The previous method was not 100% reliable.

Some of the links to Fortner Software have been updated at their request.

Saturday, June 5, 1999:Some extra definitions to the NeXus glossary have been added e.g. definitions of NXdetector, NXcollimator, and NXattenuator. These are based on suggestions by Ron Ghosh and Chris Moreton-Smith a while ago, but I never got around to putting them on the web. Please view these definitions critically when you have need to use them.
Friday, April 2, 1999:A site map has been added so that it is easier to find some of the lower-lying web pages.


Wednesday, November 25, 1998:An explicit set of instructions for identifying plottable data has been added, since this is an important aim of the NeXus format. This issue came up in the NeXus mailing list a while ago, but I never added it to the web pages. The instructions reported here will, at some stage, be incorporated into a higher-level suite of API routines.
Friday, November 20, 1998:The first release of HDF5 v 1.0.0 is now available. Only Unix platforms are currently supported, so we will not change the NeXus API just yet. However, preliminary views of the revised HDF API suggest that we can layer the NeXus API transparently on top of HDF5 with no effect on user applications. Since HDF have not yet finalized their plans to ensure backward compatibility, we don’t know what the implications for existing NeXus files are yet. I have added some notes to the introduction to the NeXus API.
Friday, September 4, 1998:Mark Koennecke has provided an IDL 5.1 interface to the NeXus API. I have included links to it in the API section. I also updated the Status section.
Friday, April 17, 1998:The NAPI code has been updated on the FTP site to change the type specification in NXgetattr from “char *data” to “void *data”.
Tuesday, April 14, 1998:Although there have been no major changes to the NeXus web pages for several months, there has been considerable activity behind the scenes in developing the NeXus API. A CVS (Concurrent Versions System) server has been set up by Freddie Akeroyd to coordinate those involved in developing the NeXus API. The FTP site has just been updated to the latest version of the API, and we intend to provide more examples of its use very soon, in order to make the operation of NeXus easier to understand.
The new version of the API does define the NX_ datatypes so I have removed the previous instructions to use the HDF DFNT_ datatypes in the API section. From now on, we encourage the use of the NX_ datatypes to ensure compatibility with future versions of the API.

In order to ensure the most efficient reads and writes in each language, the Fortran API has been amended so that the array index order is reversed from that in C i.e. a set of time-of-flight spectra for 150 detectors with 800 time channels would be stored as S(800,150) in Fortran and S[150][800] in C i.e. the actual values are stored in the same order but addressed differently in the two languages. At the moment, this means that there would be a discrepancy in the meaning of the “axis” attribute in NXdata groups, unless the NeXus files are written and read in the same language. We have not yet decided how to address this issue, though the most likely is that the “axis” attribute will have to have different meanings in the two languages i.e. in C, axis=1 will refer to the first dimension whereas in Fortran, it will refer to the last. If you have any views on this vexed subject, please address them to the NeXus mailing list.

Thursday, February 12, 1998:The latest version of openGenie can read and write NeXus files. Check the openGenie web pages for more details.


Monday, August 25, 1997:A few minor errors in the example programs in the NeXus API section have been corrected.
Following Freddie Akeroyd’s suggestion, I have added a conversion table from C to Fortran for the subroutine arguments.

Some of the instrument descriptions have been modified to make them simpler. The aim of this section is to give the minimum required parameters for meaningful data analysis although, in general, people will want to store extra information. Installation instructions have been added to the end of the API section.

Thursday, August 14, 1997:As I warned, we have moved the FTP site to its semi-permanent location. Look for the API at <>. The web pages have been updated accordingly.
Sunday, August 10, 1997:A discussion of the storage of histograms in NXdata groups to the NeXus structure chapter has been added following some comments by Phil Seeger (LANL).
Phil Seeger also pointed out that we had omitted to specify the storage of data errors. This has been added to the NeXus glossary.

Friday August 8, 1997:The FTP URLs have been moved to <> because of some problems with the original server. This is a temporary move, so please check these pages before downloading future versions of the API.
A set of helper routines designed to simplify the base API by combining multiple function calls into a single function call ,e.g. NXmakedata, NXopendata and NXputdata, is under development. This may be ready in the next week, so watch this space.

There will be a symposium during ICNS’97 in Toronto in order to present the NeXus proposal to the neutron scattering community, and to receive feedback on its design. It will be held at 8pm on Tuesday evening in McLennan Physical Laboratories room 134, adjacent to where the poster sessions are being held.