93

NumPy array file signature

Magic number at the start of the file · .NUMPY

93 4E 55 4D 50 59

A NumPy .npy file begins with the byte 0x93 and the ASCII text NUMPY, followed by a version and a header describing the array's dtype and shape before the raw data.

Hex signature
93 4E 55 4D 50 59
Offset
0 (start of file)
ASCII
.NUMPY
Length
6 bytes

What this magic number means

A magic number is a short, fixed run of bytes at a known position that tells a program what a file really is, no matter what the filename says. If a file starts with the bytes 93 4E 55 4D 50 59 (the text .NUMPY), it is a NumPy array file.

Formats that use the 93 4E 55 4D signature

These file types in our database carry this signature:

How to check a file's signature

You can read the first bytes of any file yourself. The magic bytes are shown in hex, the same way this page lists them.

Linux & macOS

  • xxd -l 16 example.npy
  • hexdump -C -n 16 example.npy
  • file example.npy

Windows (PowerShell)

  • Format-Hex -Path example.npy -Count 16

Python

  • open("example.npy","rb").read(6).hex()

In your browser

Frequently asked questions

What is the NumPy array file signature?

NumPy array files start with the hex bytes 93 4E 55 4D 50 59 (.NUMPY in ASCII). This magic number identifies the format regardless of the file's name or extension.

How do I check a file's magic number?

Open the file in a hex editor, or run a command such as xxd -l 16 example.npy on Linux or macOS, or Format-Hex -Path example.npy -Count 16 in Windows PowerShell, and read the first bytes.

Can a file fake the NumPy array signature?

Renaming a file does not change its bytes, so the extension can lie but the signature usually cannot. A genuine NumPy array file has these exact bytes; a file with the wrong bytes is not really NumPy array, whatever its name says.

Related signatures

Sources