How to decrypt MakerNote in Nikon NEF files: where is the mileage information hidden?

Engineering educational program: How to examine a NEF file under a microscope

When you open a regular `.NEF` image in the built-in viewer, the system sees the standard EXIF header (TIFF structure): date, shutter speed, aperture and camera model. But where is the data about the development of mechanics hidden?

The operating time data is hidden in a closed binary container **MakerNote**.

Where is the mileage tag physically located?

If we open the `.NEF` file in a hexadecimal HEX editor (for example, HxD), we will see a service header with the signature `Nikon\x00\x02`:

  1. Tag 0x00A7 (Shutter Count):This is a 4-byte integer in Little-Endian or Big-Endian format. This is where the EXPEED processor firmly enters the sequence number of each frame.
  2. Tag 0x001d (Serial Number):Hardwired encrypted serial number of the system board and case.
  3. Tag 0x00a8 (Flash Info):Counter of the number of flashes of the built-in or external slave flash.

Why do simple online services crash on NEF files?

Because depending on the generation of the EXPEED processor (EXPEED 1 in the D90 and EXPEED 7 in the Z9), Nikon changed offset of bit fields in the MakerNote structure.

Simple crooked scripts look for an offset at a fixed address and read garbage bytes, producing a “0” as a result. or the number "4,294,967,295". Our web service is based on a custom parser that correctly parses the byte structure any generations of Nikon!

Tag byte address table in MakerNote Nikon

Tag ID (Hex) Tag name What is stored in bytes?
0x00A7 ShutterCount Accurate shutter firing counter (4 bytes)
0x001D SerialNumber Factory serial number of the carcass
0x00A8 FlashInfo Pulsed light trigger statistics

Don't want to dig through the HEX code manually?

Just drag and drop your .NEF or .JPG file onto our website - our algorithm will instantly pull out the data of tag 0x00A7!

Decrypt MakerNote Nikon online →