fitsverify(1) Test if the input file(s) conform to the FITS format


fitsverify filename ...

fitsverify @filelist.txt


This task reads one or more input FITS files and verifies that the files conform to the specifications of the FITS Standard document (known as the NASA/Science Office of Standards and Technology 'Definition of the Current FITS Standard', document number, NOST 100-2.0, available online at The input filename template may contain wildcard characters, in which case all matching files will be tested. Alternatively, the name of an ASCII text file containing a list of file names, one per line, may be entered preceded by an '@' character.


list all header keywords
quiet; print one-line pass/fail summary per file
only test for error conditions; don't issue warnings


  • Mandatory keyword not present or out of order
  • Mandatory keyword has wrong datatype or illegal value
  • END header keyword is not present
  • Sum of table column widths is inconsistent with NAXIS1 value
  • BLANK keyword present in image with floating-point datatype
  • TNULLn keyword present for floating-point binary table column
  • Bit column has non-zero fill bits or is not left adjusted
  • ASCII TABLE column contains illegal value inconsistent with TFORMn
  • Address to a variable length array not within the data heap
  • Extraneous bytes in the FITS file following the last HDU
  • Mandatory keyword values not expressed in fixed format
  • Mandatory keyword duplicated elsewhere in the header
  • Header contains illegal ASCII character (not ASCII 32 - 126)
  • Keyword name contains illegal character
  • Keyword value field has illegal format
  • Value and comment fields not separated by a slash character
  • END keyword not filled with blanks in columns 9 - 80
  • Reserved keyword with wrong datatype or illegal value
  • EXTEND not present in the primary array if there are extensions
  • BLOCKED, if present, not among the first 36 keywords
  • XTENSION keyword in the primary array
  • Column related keyword (TFIELDS, TTYPEn,TFORMn, etc.) in an image
  • SIMPLE, EXTEND, or BLOCKED keyword in any extension
  • Image WCS keywords (CTYPEn, CRPIXn, CRVALn, etc.) in a table
  • Table WCS keywords (TCTYPn, TCRPXn, TCRVLn, etc.) in an image
  • TDIMn or THEAP keyword in an ASCII table
  • TBCOLn keyword in a Binary table
  • THEAP keyword in a binary table that has PCOUNT = 0
  • XTENSION, TFORMn, TDISPn or TDIMn value contains leading space(s)
  • Index of any WCS keyword (CRPIXn, CRVALn, etc.) greater than value of WCSAXES
  • Index of any table column descriptor keyword (TTYPEn, TFORMn, etc.) greater than value of TFIELDS
  • TSCALn or TZEROn present for an ASCII, logical, or Bit column
  • TDISPn value is inconsistent with the column datatype
  • Length of a variable length array greater than the maximum length as given by the TFORMn keyword
  • Logical column contains illegal value not equal to 'T', 'F', or 0
  • Character string column contains non-ASCII text character
  • Header fill bytes not all blanks
  • Data fill bytes not all blanks in ASCII tables or all zeros in any other type of HDU
  • Gaps between defined ASCII table columns contain characters with ASCII value > 127


  • SIMPLE = F
  • Presence of deprecated keywords BLOCKED or EPOCH
  • 2 HDUs have identical EXTNAME, EXTVER, and EXTLEVEL values
  • BSCALE or TSCALn value = 0.
  • BLANK OR TNULLn value exceeds the legal range
  • TFORMn has 'rAw' format and r is not a multiple of w
  • DATE = 'dd/mm/yy' and yy is less than 10 (Y2K problem??)
  • Index of any WCS keyword (CRPIXn, CRVALn, etc.) greater than value of NAXIS, if the WCSAXES keyword is not present
  • Duplicated keyword (except COMMENT, HISTORY, blank, etc.)
  • Column name (TTYPEn) does not exist or contains characters other than letter, digit and underscore
  • Calculated checksum inconsistent with CHECKSUM or DATASUM keyword