Exif Viewer


Welcome to the home page for the Exif Viewer, a Mozilla Firefox/Pale Moon/Google Chrome extension that extracts and displays the EXIF (Exchangeable Image File), IPTC-NAA/IIM (International Press Telecommunications Council - Newspaper Association of America / Information Interchange Model), and IPTC Core (Adobe XMP (Extensible Metadata Platform)) metadata, as stored by digital still cameras, in JPEG/JPG images.

There currently exist two versions of the the Viewer, a “legacy” version that runs in Firefox 56- and Pale Moon, and a WebExtensions version that runs in Firefox 57+ and Chrome (though see below). The Mozilla group has decided to switch to a new framework for browser addons, known as WebExtensions, that is mostly compatible with the framework for Google Chrome browser. Addons such as the Exif Viewer that were written for the old framework (XUL + XPCOM) will no longer work once Mozilla removes the legacy support. I plan on continuing to support both the old and new frameworks, as the bulk of the code works for both.

“Legacy” Version

This version works for both local and remote JPEG images, and has a more complicated interface, allowing you to browse to a local file and to specify several options. The extension adds an “Exif Viewer” item to the Tools browser menu, and also adds “View EXIF Data” items to the “Link” and “Image” parts of the browser context menu (right-click pop-up), to make it easier to invoke the Exif Viewer from Firefox.

WebExtensions Version

This version also now works for both local and remote JPEG images; an “Exif Viewer” item is added to every image context menu (right-click popup). Note that the entire image must be downloaded before any processing can start, so there may be a significant delay after the display window opens before the EXIF metadata is shown.

Google Chrome

Bad news: the Google Chrome Store is rejecting my extension with a completely uninformative error message. Since they also want me to pay for the privilege of making my free extension available on their website, and since it may not be possible to install the extension without using the Store, Chrome users may be out of luck.

If you are feeling brave, you can download the WebExtensions XPI from the Firefox addons site, open it with your favourite ZIP archive utility, and extract the files into a local directory. Then, go to Customize > More Tools > Extensions, click on the “Load unpacked extension…” button, and select the local directory. You may have to run the Viewer in “Developer mode” and “Allow incognito”, and the Google Chrome Store may be unhappy with you, but it should (may?) run.


A user has reported that both the legacy and WebExtensions versions of the Exif Viewer work with the Basilisk browser; I have verified the latter.

Screen Snapshots

Legacy version:
Typical EXIF metadata in list format

WebExtensions version:
Typical EXIF metadata in table format

WebExtensions version:
Typical RGB and HSL colour histograms

EXIF Metadata

The metadata includes camera and picture settings, GPS (Global Positioning System) information if applicable, etc. that digital still cameras embed in their JPEG digital photographs. This information is stored in EXIF format according to the TIFF specification, and may be found in JPEG, TIFF, PNG, MIFF, and DNG images. The EXIF meta information is organized into different Image File Directories (IFDs) within an image; manufacturers can also optionally include proprietary information in the “Maker Note” field.

The Exif Viewer interprets the stored information according to the EXIF 2.2 standard, and can also understand some of the maker note information from various manufacturers (such as Canon, Casio, Fujifilm, Nikon, Olympus, and Panasonic). Additional manufacturers and more details for existing ones may be added in subsequent releases.

Development History

Went to Europe. Took lots of digital photographs. Developed a Windows Desktop slide show that displayed random images with various transition effects. Got tired of turning my head 90 degrees to view rotated images. Wondered if there was a way to determine the picture orientation and display it properly. Found a C program that retrieved the orientation data from JPEGs and translated it into JavaScript/ActiveX under Internet Explorer. Modified the slide show appropriately, making my neck very happy. Realized that there was a lot more interesting data that could be extracted from JPEGs. Extended my code to do so in IE under Windows. Pondered the wisdom of confining myself to that browser and operating system. Thought of Firefox extensions. Went through a simple tutorial on extension-writing, played around with a couple of samples, modified the one involving a pop-up window. Kept modifying it until it could display the EXIF data for local files. Released it on an unsuspecting public via addons.mozilla.org. Received lots of feedback, bug reports, suggestions, etc. Modified it to work on remote files, modified it to work with attachments in Thunderbird, modified it to extract Adobe XMP and IPTC metadata.

Supported Languages

Currently English, German, Czech, Chinese, and Russian are fully supported in both the user interface (including the Firefox menus) and the displayed EXIF data; French is partially supported and only for the user interface. If you would like to provide a translation into other languages, please contact me using the email address provided below.

I have to point out that there are a few other people who have volunteered to do the translation into other languages; I have never heard from them since…

Also, please let me know if you decide to perform a translation, or if you later change your mind and decide not to, so that I am aware of ths situation. Thanks.


New key/value pairs have been added to exif.properties / messages.json

The following values may need to be translated:

	nonASCII=(non-ASCII characters detected)
	domParsingError=Sorry, an error was encountered while parsing the generated HTML.

	# xA001 data
	uncalibrated (-1)=uncalibrated (-1)
	uncalibrated (4294967295)=uncalibrated (4294967295)
	closeLink=Close Exif Viewer
	completeWithoutErrors=Output complete without errors.
	basicText=Basic only
	tagText=Show tag IDs
	mnoteText=Show Maker Note
	histText=Show histograms
	histHeaderText=Colour Histograms
	rgbHistText=RGB: Red, green, blue, and grey histograms (0-255)
	hslHistText=HSL: Hue (0-360°, greys on the far right), saturation (0-100%), and luminosity (0-100%) histograms
	rgbTitle=Red / Green / Blue / Grey

“Legacy” Version

For the user interface, this process would involve modifying two files that contain entries like: <!ENTITY local.label "Local File">
<!ENTITY remote.label "Remote URL">
and changing the English text into its equivalent. After that, you would have the option of changing the actual EXIF output, which is a much larger problem due to the amount of information and its technical nature. I can send the first two files to you, or you can just copy them from the locale/en-CA directory within the XPI file (a ZIP archive); the file names are overlay.dtd and exif.dtd. The technical EXIF text is located in exif.properties.

Just make copies of the existing (English, locale/en-CA, if that’s what’s being displayed now) files as backups, edit and save the original files to replace the English text with your language, and then restart Firefox and the Viewer; your translations should be displayed. Once you are satisfied, send the updated files to me, I will incorporate them into the Viewer, and then send the complete package to you for final verification.

WebExtensions Version

There is now only a single localization file for each language, messages.json. Extract the _locales/en_CA/messages.json file from the XPI file (a ZIP archive) and just change "messages": "English text" as required.


Usage Instructions

“Legacy” Version

The Exif Viewer can be invoked by right-clicking on a JPEG image and selecting the “View Image EXIF Data” context (popup) menu item; you can also right-click on a link to a JPEG image and select the “View Link EXIF Data” item. I have also added a simple facility for rotating images; select the “View Rotated Image (Exif)” or “View Rotated Link Image (Exif)” item.

The Exif Viewer can also be started manually via the “Tools > Exif Viewer” menu item, at which point you can enter or select a local file or enter a remote URL; click on the “Display EXIF Data” button to see the image metadata.

In either case, the “View… > Toggle Controls” menu item can be used to hide or show the controls at the top of the window, to maximize the available space for the display of the EXIF metadata.

WebExtensions Version

The Exif Viewer can be invoked by right-clicking on a JPEG image and selecting “Exif Viewer”. You can resize the Viewer window and change the information that should be displayed and its format (list or table); these settings will persist across invocations of the Viewer.

Contact the Author

My name is Alan Raskin and I can be contacted via email at [email protected] if you have any bug reports, comments, suggestions, or complaints regarding the Viewer; I will be happy to fix any bugs that you encounter or look into adding any features that you think would be useful.