What websites expose the camera body serial numbers from the original image EXIF?

Flickr is a photo sharing website that exposes lots of photo metadata (from the EXIF data) and even make it easy to access thanks to the Flickr API. Google's Picasaweb also offers some information from the EXIF but not the serial number.

Are there any other sites that may help me?

As a bit of background on what I'm doing, I'm trying to collate a database of camera serial numbers and the URLs of the images where they were found. This is just me doing something for free in the hope that we can catch some of the people that steal our precious cameras! I hope this isn't too off-topic as I'm not trying to sell anything, just trying to do some good!

Disclaimer: I'm the author of stolencamerafinder ;)

Update - As requested by fbuchinger, here's a quick update to the project status:

Many sites (including facebook unfortunately) strip the makernotes out of the EXIF. So far, I've found the richest source of serial numbers to be Flickr. I suppose it's because people often upload full-size (read "unedited") images. On my site (stolencamerafinder.com) I offer a java webstart app that harvests flickr data through its API. Since there is a cap on the rate at which I make API calls, I've written it so that the work is shared between the number of web start clients, thus reducing bandwidth and CPU on the clients the more people that run it. If you're reading this and you have, say, admin access to a server at work that doesn't do much, why not leave it running on there ;)

I have also written a Google Chrome plugin that just keeps an eye out for images on websites that have a serial number embedded. I don't expect a very high yield from this app, the main idea was to discover what websites may be good sources to write bespoke spidering tools for and then crawl them.

I've publicised my API for stolencamerafinder and am looking for other programmers to help me write programs that may serve as web crawlers.

I've collected lots of interesting data in doing this project that I will put on the website soon such as which camera models do and don't write useful serial numbers. The Nikon D50 for example just writes "D50" as its serial number!

I would be extremely grateful for any feedback (good or bad!) you may have on my project.


  • 8
    \$\begingroup\$ Possibly more useful, and marketable, would be to offer a service to track where "your" photos have been (re)used, potentially without licence. \$\endgroup\$ Jul 27, 2010 at 11:58
  • \$\begingroup\$ i updated my answer \$\endgroup\$
    – fbuchinger
    Feb 15, 2011 at 8:50

3 Answers 3


I love the idea of a thief-catcher. ;)

I have noticed that DeviantArt.com seems to "capture" all of the EXIF metadata that is embedded in any uploaded images. It does not show all of it, however there are some parts of the site (many of them only for paying members) that show more detailed information about an uploaded image, and I've seen full tag data listed.

I guess, technically speaking, if you could do something similar to TinEye.com (Reverse Image Search) that indexes images and searches by content similarity. TinEye is handy in that it matches images by content, but it has its limitations. Photomanipulations created with someones copyrighted photo are difficult to identify. Searching by serial number would provide an alternative, complimentary approach.

You could technically get any exif data that is embedded in the images uploaded to the Internet. If the camera serial number is embedded, you would have what you are looking for. You would need to scrape a copy of each image from the sites you index, extract any EXIF (or other tag data) from the indexed images, and track the information with a link back to the source. You could probably also use major search engines like Bing and Google to find images to index (basic keyword image searches, such as photographer names, locations, etc. might be sufficient.) You probably wouldn't need to keep the image around (and doing so might involve legal issues anyway), but at least you would have an index of EXIF/IPTC tag data, possibly a serial number, and a source link.

  • 1
    \$\begingroup\$ One catch is, if the photo is manipulated in any way the EXIF is very likely removed or reduced. Availability of EXIF data on a photo-sharing site and general images searches is entirely dependent on the uploaded image meta-content. Yet, looking for the possibility of meta that can be used for searching stolen camera is a good idea in itself. \$\endgroup\$
    – nik
    Jul 29, 2010 at 2:27
  • \$\begingroup\$ @nik: True, you would be at the mercy of whatever is uploaded... Its too bad that workflows in most tools, like Photoshop, Lightroom, etc. do not preserve tag data across saves and modifications. \$\endgroup\$
    – jrista
    Jul 29, 2010 at 2:54
  • \$\begingroup\$ Thanks for pointing out tineye. They're up to 1.6 billion images making my 0.3 million look pretty rubbish! But if they can do it so can I! I'll get to work on writing a more generic web crawler to spider all websites... \$\endgroup\$
    – matt burns
    Jul 29, 2010 at 14:18
  • \$\begingroup\$ @matt: True, they have 1.6 billion, but they don't search by serial number. If you could search by both content and serial number, you'd have an edge on them. ;P \$\endgroup\$
    – jrista
    Jul 29, 2010 at 16:17
  • \$\begingroup\$ Note that on many sites you cannot reach the original file unless you have some membership status or connection to the user which uploaded it. So you may only be able to download a scaled down version which most often has EXIF striped. Upload tools sometimes do that too, sending the file with only copyright information. Subnote: Facebook strips all of it, even copyright from EXIF and has gotten a lot of heat from photographers for that. \$\endgroup\$
    – Itai
    Feb 14, 2011 at 14:10


Thanks for the project status update! First of all the approach with the java webstart app is interesting - do you use different flickr api keys for each webstart instance or does flickr cap the api requests based on a api key/ip-address combination?

I ran your webstart app and it yielded 0 serial numbers after scanning 50 photos. I haven't looked at your source code, but you should be aware that only a tiny minority of cams (mostly dslrs) write serial numbers into the exif metadata.

I'd recommend to download the sample images from Phil Harvey's Meta Information Repository and run exiftool on it to see which models actually yield serial numbers. You can then narrow down your webstart app search to these models and thus improve the success ratio highly.

I stumbled upon your question when I just started to explore photo.stackexchange.com.

2 years ago, I had a very similar idea to stolencamerafinder and actually started implementing it in python. However I stoped it due to various reasons:

  • The most of the camera serialnumbers stored in the EXIF data are editable and thus fakeable (at least with exiftool) --> risk of false alerts or "serial number spam" (at least when the service starts to get popular)

  • Most people use image uploaders that resize their images and thereby often discard all or many parts of the EXIF data (Remember that the serialnumber is always stored in some proprietary exif makernote that is often dropped during image conversions) --> low ratio of inspected images: extracted serial numbers.

however I'm curious how your project has developed... could you give a short status summary?

  • \$\begingroup\$ Hi. I've just added an update in the main question above. If you have any questions/suggestions I'd love to hear them. -Matt \$\endgroup\$
    – matt burns
    Feb 15, 2011 at 5:16
  • \$\begingroup\$ I use only one API key, but each webstart instance communicates through the website to load-balance the work so that quota is not exceeded. \$\endgroup\$
    – matt burns
    Feb 16, 2011 at 12:14
  • \$\begingroup\$ I'm concerned why the webstart app did not work for you. It should find serials in about 1/4 of all photos scanned. Are there any messages in the java console logs? I downloaded those sample images a short whole back and wrote a python script to generate some statistics. I'll post them online soon as others may find it interesting. \$\endgroup\$
    – matt burns
    Feb 16, 2011 at 12:17

As my first answer is more focused on technical details, I decided to open a second answer to give you some overview on my original "camerafinder" idea dubbed "C.A.T.T." (Camera Anti Theft Tool). Feel free to use my ideas, but please credit me proberly...

Contrary to stolencamerafinder, C.A.T.T. works on an opt-in-basis. As the owner of a camera, you sign up at the C.A.T.T. site, create a user profile and then register your cameras.

To do so, you are required to take a picture of some randomly generated QRCode displayed on the screen. Then you upload the unmodified photo to the C.A.T.T. site. When the upload is complete, the server reads the metadata of the photo and checks for an embedded serial number. It also tries to decode the QRCode from the picture and compares it against a stored hash. This is to prevent that somebody can register your camera by just uploading an arbitrary photo taken with that camera.

When your camera gets stolen, you login at the C.A.T.T. site and mark that device as stolen. To trace the stolen cameras, we planned a client-side exif serial number parser in javascript as mozilla greasemonkey script (similar to your chrome extension). It should only execute on flickr pages containing original images (thanks to greasemonkey's url pattern support) in order not to slow down the browser too much. The script would contact the C.A.T.T. server on a regular basis to fetch a list of stolen cam serials. If the serial of the currently displayed image shows a match, it would display an alert.

I saw that your chrome extension follows a similar approach (although it just seems to collect the serials). In your case I would leverage the extension with the W3C File Api (currently Firefox and Chrome), so that the user can also inspect locally stored photos and not just those embedded in webpages. This will surely increase your "serial number harvest", because no "man-in-the-middle" (flickr facebook etc) will strip out the exif data.

Here is an interesting Mozilla demo on Exif Extraction with the W3C File API.

  • \$\begingroup\$ Thanks so much for this, some great info and ideas. The QRCode is v. clever. I'm not sure I understand how the File API is that helpful to me in the way you mention (who would allow local file access and have images from a stolen camera) but it is exactly what I'm looking for to write a simple serial extraction tool for the homepage of my website. Instead of "Enter your serial number" I can just allow people to search with an image they already have (it also prevents mistakes). Another advantage is that I sometimes have to use the internal serial number as an ID, not the one on the camera box. \$\endgroup\$
    – matt burns
    Feb 16, 2011 at 12:28
  • \$\begingroup\$ Incidentally, that demo page only worked for me in firefox, not Chrome. I'm also starting to think this page isn't ideal for discussing all this but it'll do for now! ps. I'm travelling through Asia at the moment so don't be offended if I ever take a few days (/weeks) to reply, your comments have been very helpful to me, thanks. \$\endgroup\$
    – matt burns
    Feb 16, 2011 at 12:31
  • \$\begingroup\$ the exif reader demo works in chrome > 5, the error is caused by a non-essential logging function (check in the chrome console and redefine it as empty func). Happy travelling! \$\endgroup\$
    – fbuchinger
    Feb 16, 2011 at 16:21
  • \$\begingroup\$ About the local file use case: I think we mean the same thing - a js cam serial extraction for local files that is part of your stolencamerafinder website, not necessarily of the extension. It could be used to determine the cam status based on some sample photo (e.g. taken during the purchase of a used cam to make sure it wasn't stolen from someone else). BTW: did you extend Jacob Seidelin's Exif parser on your own or was the serial number extraction his work? \$\endgroup\$
    – fbuchinger
    Feb 17, 2011 at 12:03
  • \$\begingroup\$ I extended his parser myself but only have managed to get it reading Canon and Panasonic makernote sections so far. (my knowledge of the IFD format is poor at best). I need to give him proper credit for his work on my site since it is mostly his work. When I am happy with my edits I will send it back to him as a possible improvement/alternative version. \$\endgroup\$
    – matt burns
    Feb 20, 2011 at 16:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.