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.

Unlike previous versions of idlutils, the SDSS-V version (v6.X.X) no longer contains a version of the Goddard utilities maintained by Wayne Landsman, or the Coyote Library maintained by David W. Fanning. However, they still require dependencies.  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

idlutils is now hosted on GitHub. On most Unix machines you should be able to execute:

git clone idlutils

This will download the master branch, where active development occurs. To retrieve recent changes after downloading the repo, use git pull.

Version 6.2.0 is recommended for use with DR18 data. To retrieve this tag use git checkout

git checkout 6.2.0

To list other available tags, use the command:

git tag

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; evilmake all

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


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.

Back to Top