Skip to content

Flexible Image Transport System (.fits)

.fits file signature | application/fits

Flexible Image Transport System (FITS), Version 3.0file

Safe

Magic Bytes

Offset 0
53 49 4D 50 4C 45 20 20 3D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54

Sources: Apache Tika, Wikipedia, Gary Kessler

All Known Signatures

2 signature variants are documented for .fits files across multiple sources.

Hex Signature Offset Sources
53 49 4D 50 4C 45 20 20 3D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 0 Apache Tika, Wikipedia, Gary Kessler
53 49 4D 50 4C 45 20 20 3D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 0 Apache Tika

Extension

.fits

MIME Type

application/fits

Byte Offset

0

Risk Level

Safe

Validation Code

How to validate .fits files in Python

Python
def is_fits(file_path: str) -> bool:
    """Check if file is a valid FITS by magic bytes."""
    signature = bytes([0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x20, 0x20, 0x3D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54])
    with open(file_path, "rb") as f:
        return f.read(30) == signature

How to validate .fits files in Node.js

Node.js
function isFITS(buffer: Buffer): boolean {
  const signature = Buffer.from([0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x20, 0x20, 0x3D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54]);
  return buffer.subarray(0, 30).equals(signature);
}

How to validate .fits files in Go

Go
func IsFITS(data []byte) bool {
    signature := []byte{0x53, 0x49, 0x4D, 0x50, 0x4C, 0x45, 0x20, 0x20, 0x3D, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54}
    if len(data) < 30 {
        return false
    }
    return bytes.Equal(data[:30], signature)
}

API Endpoint

GET /api/v1/fits
curl https://filesignature.org/api/v1/fits

See the full API documentation for all endpoints and parameters.

Frequently Asked Questions

What is a .fits file?

A .fits file is a Flexible Image Transport System file. Flexible Image Transport System (FITS), Version 3.0file

What are the magic bytes for .fits files?

The magic bytes for Flexible Image Transport System files are 53 49 4D 50 4C 45 20 20 3D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 at byte offset 0. These bytes uniquely identify the file format regardless of the file extension.

How do I validate a .fits file?

To validate a .fits file, read the first bytes of the file and compare them against the known magic bytes (53 49 4D 50 4C 45 20 20 3D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54) at offset 0. This is more reliable than checking the file extension alone, as extensions can be renamed.

What is the MIME type for .fits files?

The primary MIME type for .fits files is application/fits.

Is it safe to open .fits files?

Flexible Image Transport System (.fits) files are generally safe to open. They are classified as low risk because they primarily contain data rather than executable code. However, always ensure files come from a trusted source.