New key/value pairs have been added to exif.properties
The following values may need to be translated:
(thumbnail) 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)
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.
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.
This version currently works only for remote (http: and https:) JPEG image and has a much simpler interface. In particular, an “Exif Viewer” item is added to every image context menu (right-click popup), with subitems for the complete and basic EXIF metadata. 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.
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.
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.
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.
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.
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.
Version 3.0 - September 26, 2017
Reorganized and modularized the code in anticipation of the transition to the WebExtensions framework, fixing a couple of minor bugs and replacing references to innerHTML with DOM node manipulation. Isolated the framework-specific parts of the code and implemented the WebExtensions equivalents to the legacy XUL+XPCOM file retrieval and localization code. Determined that the Google Chrome and Firefox versions of WebExtensions are almost but not quite the same, and added the required browser-detection code (*sigh*). Converted all the old .properties localization files into the JSON files required by WebExtensions, then reconverted them after determining that Chrome is much more restrictive in which characters are allowed in keys (*sigh*). Tested the code in Firefox, Chrome, and Pale Moon using my suite of test JPEGs and iteratively fixed all the minor bugs that were thereby revealed (*sigh*). Regretted my decisions to create the Exif Viewer and convert it to WebExtensions, and cursed the Mozilla and Chrome developers—and their families, ancestors, and descendants—for all eternity.
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.
The Exif Viewer can be invoked by right-clicking on a JPEG image and selecting “Exif Viewer > View image EXIF data” or “> View image EXIF data (basic)”.
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.