idlutils is a collection of IDL utilities useful for astronomical applications, developed by an assortment of folks over the years. Various pipelines for the Sloan Digital Sky Survey and other projects rely on tools from this product.

Also included within idlutils is a version of the Goddard utilities maintained by Wayne Landsman, copied here for convenience but also to establish versioning. Many thanks to the intrepid authors of those utilities!

If you want to read the documentation for individual routines, please follow the instructions for building the documentation below.

Download Instructions

To download the latest tagged version of idlutils, use svn ('subversion'). On most Unix machines you should be able to execute:

svn export idlutils

Version v5_5_36 is recommended for use with DR17 data, has the most up-to-date Goddard utilities and supports Mac OS ≥ 10.7 (Lion). To list other available tags, use the command:

svn ls

If you want to keep up-to-date on the latest, evolving version (the 'trunk' in SVN parlance), then execute:

svn co idlutils

Afterward, an 'svn up' in the idlutils directory will update your working copy.

These access points are read-only! If you want to develop or add to the idlutils software you must be an SDSS collaborator.



  1. You do not need to install IDL, buy a license, etc. to install idlutils. However, you do need a copy of IDL's export.h file. If you already have IDL installed, set the environment variable IDL_DIR to the directory containing the external directory. The external directory should contain the export.h file. If you do not have IDL installed, but do have an export.h file, then you can place that file in a directory called external then place that directory in any directory you want and set IDL_DIR to the directory containing external.
  2. You need both a C compiler and a Fortran compiler.
  3. If you want to build the documentation, you must have IDL installed, and the executable idl must live somewhere in your PATH. Note that some IDL installations define the executable idl as a shell alias, and thus it will not be in your PATH.


After exporting or checking out the code, set the environmental variable IDLUTILS_DIR to the location of your idlutils directory. Then set the variables:


Of course, you should put those commands into your .bash_profile or (suitably modified) into your .tcshrc file where appropriate.

To build the code, execute:

cd $IDLUTILS_DIR; evilmake all

This will build all of the C libraries.

To build the documentation (see the Prerequisites above), execute:

cd $IDLUTILS_DIR; make doc

idlutils is also compatible with sdss4install, which is mostly used internally by the SDSS collaboration.

Development version

You may have noticed that the SDSS organisation in GitHub contains a repository for idlutils. That repository is primarily intended for SDSS-V development and the code contains breaking changes; for example, the Goddard utilities are not included with idlutils anymore, and we use semantic versioning. Additional breaking changes are expected in the near future.

At this point we do not recommend using the GitHub repository for working with SDSS-IV data.


A version of idlutils exists for Python as a part of the PyDL package. See the pydl.pydlutils module, which mostly ports idlutils functions and routines. Also see the related Github repo for code maintenance.

Don't Blame Us

No warranty is expressed or implied or anything regarding this software.