zecojbox

a slacker's rants

Canon EOS 20d shutter count

31.01.2007, development, miscellaneous, by .

Ok, so I got a used DSLR. What I didn’t pay attention to was the fact that the shutter has a certain life cycle. According to sources on…google, the EOS 20D has a life expectancy of 100,000 shots. Small number I thought. So I searched and searched, and after a while with good keywords comes this guide.

For the EOS Canon users. You can see how many times the shutter actuated using a hex editor and a RAW file.

Tools needed:
- Hex Editor (XVI32 Preferred You can download it here FOR FREE!)
- RAW Image file from your camera

Baiscly what your doing is getting the number located at 95D and 95E and converting it from HEX to DECIMAL. If you do not know exactly how to do this. I will show you below

Step By Step Documentation using Xvi32.

1.) Load Xvi32
2.) Go to Tools>Options>Data Inspector (it’s a TAB)
3.) Click “big-endian (MOTOROLA)”
4.) Click “OK” Button to exit out of the options
5.) Go to File>Open>”CHOOSE YOUR RAW IMAGE FILE” then click open
6.) Go to Address>Goto (Or CTRL+G)
7.) Click “Hexadecimal” then TYPE “95D” into the box below
8.) Click “OK”
9.) Then go to TOOLS>DECODE NUMBER
10.) LOOK at “XX XX As Word” (XX Being your numbers located in 95D,E).
11.) The number next to it is your Actuation number.

Good deal, so I took a picture, copied the raw file over gphoto2, fired up xxd and do some processing. And I got 10414 as my shutter count. Subtracting around one thousand shots I’ve taken since I bought the camera, I thought I got a pretty good deal ;)

Some people say life’s too short to worry about shutter break-down. But it’s nice to know where you’re at anyways. So, if you have a 20d and run Linux, try this at home
echo $((0x`xxd YOUR_RAW_FILE_HERE.CR2|head -150|grep "0000950:"|cut --characters=42,43,45,46`))

PS: There are some guides said you can just read the EXIF tag off the JPEG file from some reader and/or flickr but from personal experiences I do not find this to be correct. I tried with two consecutive files and the shutter counts differ greatly. So be warned :)

11 Responses to Canon EOS 20d shutter count

  1. He he, mine is 13364 :-)

    Try to make it 20K next year :-)

    Cheers

    Reply
  2. Thanks for this! Worked prefectly. Showed me 17K accuations.

    Reply
  3. Thanks for the article, if the information from RAW is accurate, my 20D already gave 35k shot …

    Reply
  4. I used the hex technique, my 20D actuation number is 50088.

    Reply
  5. It said I have taken 3.3k as of last week. I have 3.6k registering being taken with the 20D in LR4. And there is no way I’ve only taken 3k. And plus I bought it used…

    Reply
  6. thanks for providing the exact shutter count for my camera.

    Reply
  7. 2012-09-12 at 09:05 Emmanuel C. Helene

    Works fine, i got 32399 :D

    Reply
  8. 2012-12-28 at 00:56 Martin

    Hi! Do you have any idea to check Canon 5D MK1?

    Reply
  9. Sorry, but is not working for 20D!!! For older files it is show me like 25xxx but for fresh just shot photo it is show me 23xxx. Numbers are with no sens!

    Reply
  10. 2013-01-24 at 15:46 J San Juan

    Not working at all. Here’s the data

    Using RAW (CR2) file
    00 as shortint: 0
    00 03 as word: 3
    00 03 as integer: 3
    00 03 00 00 as longint: 196608
    00 03 00 00 as 32 bit IEEE single: 2.75506488473974E-40
    00 03 00 00 00 00 00 00 as 64 bit IEEE double: 4.172013484701E-309

    Using JPEG file
    07 as shortint: 7
    07 00 as word: 1792
    07 00 as integer: 1792
    07 00 03 00 as longint: 117441280
    07 00 03 00 as 32 bit IEEE single: 9.6305313426993E-35
    07 00 03 00 00 00 01 00 as 64 bit IEEE double: 5.78085292708622E-275

    Reply
  11. 2013-07-26 at 11:20 sander

    I’m affraid it is not working: Did the test with 2 canon 20D camera’s. Shot 2 RAW’s with camera 1, imported and formatted the sd card, shot 2 RAW’s with camera 2, imported and the result was
    25499
    25500
    25501
    25502
    I tried this on OSX so i had to alter the code a little bit:
    echo $((0x`xxd FILENAME.CR2|head -150|grep “0000950:”|cut -c42,43,45,46`))

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>