A Note on ExifTool for XnViewMP Users
Moderators: helmut, XnTriq, xnview
A Note on ExifTool for XnViewMP Users
I wanted to provide people with a tip regarding ExifTool that they might not know, that can help to improve performance in XnViewMP.
ExifTool is a utility the XnView bundles as part of the package to extract and view EXIF information in the application. You can find the exiftool.exe (the name on Window) program in the AddOn directory of your XnViewMP installation.
The version of Exiftool (12.85) that is distributed with XnViewMP is somewhat older version, and more recent versions of ExifTool have changed in an important way.
ExifTool is a Perl-based application, and requires a Perl interpreter and library to run. To simplify distribution, older versions of Exiftool were distributed as a standalone .EXE file, which was actually a self-extracting archive: every time the Exiftool.exe program was run (which for XnViewMP means every time it looks at an image) Exiftool had to extract all its component parts into a temporary directory before it could actually execute. This took time. The extraction and decompression code had to run, and files had to be written to disk.
Newer versions of ExifTool (v13.33 is current as of this date) do away with this mechanism entirely. They consist of an Exiftool.EXE along with an accompanying "exiftool_files" folder, which contains all the needed components for ExifTool to run. By changing to this model, startup speed for Exiftool is greatly increased. No decompression is performed, and no files need be written to disk; Exiftool processing can start immediately.
When I replaced XnViewMP's default exiftool.exe with the new version, the time to process a directory full of files (I use labels that contain Makernotes, and thus require a call to Exiftool to display) was cut in half.
Exiftool is constantly updated. The current version incorporates fixes and supports more MakerNotes than the version that is distributed with XnViewMP.
You can download the current version of ExifTool here:
https://exiftool.org/
To make it work with XnViewMP, simply replace the exiftool.exe in the AddOn directory with the one you download from the site, and also copy the exiftool_files folder to the AddOn directory.
I've been using the 13.33 version and it seems to work fine with XnViewMP.
I'd like to suggest Pierre start bundling this new version of Exiftool with the application. It will be better for everyone.
ExifTool is a utility the XnView bundles as part of the package to extract and view EXIF information in the application. You can find the exiftool.exe (the name on Window) program in the AddOn directory of your XnViewMP installation.
The version of Exiftool (12.85) that is distributed with XnViewMP is somewhat older version, and more recent versions of ExifTool have changed in an important way.
ExifTool is a Perl-based application, and requires a Perl interpreter and library to run. To simplify distribution, older versions of Exiftool were distributed as a standalone .EXE file, which was actually a self-extracting archive: every time the Exiftool.exe program was run (which for XnViewMP means every time it looks at an image) Exiftool had to extract all its component parts into a temporary directory before it could actually execute. This took time. The extraction and decompression code had to run, and files had to be written to disk.
Newer versions of ExifTool (v13.33 is current as of this date) do away with this mechanism entirely. They consist of an Exiftool.EXE along with an accompanying "exiftool_files" folder, which contains all the needed components for ExifTool to run. By changing to this model, startup speed for Exiftool is greatly increased. No decompression is performed, and no files need be written to disk; Exiftool processing can start immediately.
When I replaced XnViewMP's default exiftool.exe with the new version, the time to process a directory full of files (I use labels that contain Makernotes, and thus require a call to Exiftool to display) was cut in half.
Exiftool is constantly updated. The current version incorporates fixes and supports more MakerNotes than the version that is distributed with XnViewMP.
You can download the current version of ExifTool here:
https://exiftool.org/
To make it work with XnViewMP, simply replace the exiftool.exe in the AddOn directory with the one you download from the site, and also copy the exiftool_files folder to the AddOn directory.
I've been using the 13.33 version and it seems to work fine with XnViewMP.
I'd like to suggest Pierre start bundling this new version of Exiftool with the application. It will be better for everyone.
Re: A Note on ExifTool for XnViewMP Users
Thank you, jkm 

I support this request.jkm wrote: Tue Aug 12, 2025 9:54 pmI'd like to suggest Pierre start bundling this new version of Exiftool with the application. It will be better for everyone.
Re: A Note on ExifTool for XnViewMP Users
For reference:
XnTriq wrote: Fri Mar 19, 2010 4:30 amFYI: On Windows, the contents of the PKZIP-SFX file (ActivePerl)…
… are extracted to…
- %PROGRAMFILES%\XnViewMP\AddOn\exiftool.exe
… when you click on the EXIFTool tab in the Preview/Info pane of XnVewMP.
- %TEMP%\par-{username}\cache-exiftool-{version}\
IIRC, ExifTool GUI does this too.
Re: A Note on ExifTool for XnViewMP Users
All applications that bundle older versions of Exiftool (the behavior existed until quite recently) behaved this way. Any copy of exiftool.exe on your computer that does NOT have the exiftool_files folder is the old, self-extracting version and does this. If you look in your TEMP directory, you may well find many unpacked instances of it from when execution aborted without cleanup.
ExiftoolGUI can use the exiftool.exe that's in your PATH, however. So replace that exiftool.exe with the new one, and ExifToolGUI will be "fixed" too.
Likewise, the new version should be a drop-in-replacement for the exiftool.exe bundled with any old piece of software. Phil occasionally changes things in the output, however, so absolute identical behavior is not guaranteed, which might surprise host applications that expect very particular things. I have not encountered any such problems.
Re: A Note on ExifTool for XnViewMP Users
yes will be better, but i'm not sure about licenses for Strawberry Perl and too many files...
Do you know apps that use new exiftool package?
Do you know apps that use new exiftool package?
Pierre.
Re: A Note on ExifTool for XnViewMP Users
You'd have to ask Phil about redistribution of Exiftool. But Exiftool is GPL, and this is how he distributes it now. The old single-file version is deprecated, and updated versions of ExifTool are no longer released that way. So if you ever again want an updated version of ExifTool, that's it. It has been this way since July of 2024.
A lot of Canon, Sony, and Olympus/OM updates have happened since then, plus XMP bugfixes, a fix to a bug that corrupted Iphone files, etc so using the old version is not really sustainable for many people. I needed the new version so Olympus tags would decode properly.
Strawberry Perl, like Perl 5, is GPL & Artistic License. It appears to be freely distributable, but check for yourself.
When downloading the portable version of Strawberry Perl, the zip contains a licenses directory, which has the individual licenses, and an overall License.rtf file which describes the situation in detail. But you don't actually need that distro; ExifTool comes with what it needs.
But I would just rely on Phil. He wouldn't be redistributing those files if he wasn't allowed to do so.
A lot of Canon, Sony, and Olympus/OM updates have happened since then, plus XMP bugfixes, a fix to a bug that corrupted Iphone files, etc so using the old version is not really sustainable for many people. I needed the new version so Olympus tags would decode properly.
Strawberry Perl, like Perl 5, is GPL & Artistic License. It appears to be freely distributable, but check for yourself.
When downloading the portable version of Strawberry Perl, the zip contains a licenses directory, which has the individual licenses, and an overall License.rtf file which describes the situation in detail. But you don't actually need that distro; ExifTool comes with what it needs.
But I would just rely on Phil. He wouldn't be redistributing those files if he wasn't allowed to do so.
Re: A Note on ExifTool for XnViewMP Users
So it's a problem, if i understand correctly the GPL license i can't distribute in a closed source application.But Exiftool is GPL, and this is how he distributes it now.
Sorry but what do you means, Perl is in the ExifTool package.jkm wrote: Sun Aug 24, 2025 7:30 am But you don't actually need that distro; ExifTool comes with what it needs.
Pierre.
Re: A Note on ExifTool for XnViewMP Users
You understand wrongly about distributing GPL code with your application. The important distinction is that your are merely distributing their code, nothing more. You should read their license.
The Perl DLLs have always been distributed with Exiftool; the old EXE was a self-extracting archive. The new package does away with the self extracting archive. So you have been distributing Perl code for years with XnViewMP.
The important part, and what I mean, is you are not modifying GPL or Artistic code, nor are you incorporating GPL or Artistic code into your application. XnViewMP is a separate work, and is not covered by the terms of their license. You are distributing their files as "verbatim" copies, which is explicitly allowed by their license. As long as you do not modify their code, and do not incorporate their code into yours, there are no restrictions on distribution, except you cannot charge for their product and you must provide their licensing info. You are allowed to charge for YOUR product, which is a separate product, and keep your product closed source, even though you distribute their product for free. All you are required to do is provide the license, copyright, and source info for the open source product, which you will be doing automatically because that info is contained in the ExifTool distribution files - just don't remove the licensing files included in the ExifTool distribution. You can include a simple text file that directs users to Exiftool.org or StrawberryPerl.com to obtain those distributions directly. Nothing more is required.
XnViewMP and code in the Exiftool package remain "separate works" under the terms of the licenses, because you are merely invoking the main function of the Exiftool program and waiting for it to return the standard information it returns to any user who invokes it from the command line. As separate works, the GPL and Artistic licenses make no demands on the source code of licensing of your product.
I suggest you ask your question directly to Phil on the Exiftool forum if this is not clear or if you want more confidence. You can also read the GNU FAQ at https://www.gnu.org/licenses/gpl-faq.en.html
Does this help?
The Perl DLLs have always been distributed with Exiftool; the old EXE was a self-extracting archive. The new package does away with the self extracting archive. So you have been distributing Perl code for years with XnViewMP.
The important part, and what I mean, is you are not modifying GPL or Artistic code, nor are you incorporating GPL or Artistic code into your application. XnViewMP is a separate work, and is not covered by the terms of their license. You are distributing their files as "verbatim" copies, which is explicitly allowed by their license. As long as you do not modify their code, and do not incorporate their code into yours, there are no restrictions on distribution, except you cannot charge for their product and you must provide their licensing info. You are allowed to charge for YOUR product, which is a separate product, and keep your product closed source, even though you distribute their product for free. All you are required to do is provide the license, copyright, and source info for the open source product, which you will be doing automatically because that info is contained in the ExifTool distribution files - just don't remove the licensing files included in the ExifTool distribution. You can include a simple text file that directs users to Exiftool.org or StrawberryPerl.com to obtain those distributions directly. Nothing more is required.
XnViewMP and code in the Exiftool package remain "separate works" under the terms of the licenses, because you are merely invoking the main function of the Exiftool program and waiting for it to return the standard information it returns to any user who invokes it from the command line. As separate works, the GPL and Artistic licenses make no demands on the source code of licensing of your product.
I suggest you ask your question directly to Phil on the Exiftool forum if this is not clear or if you want more confidence. You can also read the GNU FAQ at https://www.gnu.org/licenses/gpl-faq.en.html
Does this help?
Re: A Note on ExifTool for XnViewMP Users
Sorry I wanted to write "i can't use with a closed source application". LGPL allows to call LGPL component from no GPL/LGPL app, but GPL doesn't allow, it's why libraries are in LGPL.
I'll ask Phil.
In next version, i'l add a setting to set ExifTool path, so you'll able to change easily the exiftool package used...
I'll ask Phil.
In next version, i'l add a setting to set ExifTool path, so you'll able to change easily the exiftool package used...
Pierre.
Re: A Note on ExifTool for XnViewMP Users
It's good that you ask Phil.
But a couple of points:
1. Perl and derivative works are GPL1 (not GPL3 unless you wish to use those terms) or Artistic License.
You seem to be misinterpreting a part of the GPL and incorrectly applying it to this situation, when you say "GPL doesn't allow [call GPL component from no GPL app]; it's why libraries are in LGPL."
2. What you are doing with ExifTool is not the same as dynamically linking a library, and exchanging complex data structures. You are distributing a separate product, ExifTool, verbatim, whole and intact and unmodified. Your software executes that product to produce output. You are allowed by the GPL to do this. You are NOT combining your software with ExifTool, and so you are NOT creating a derivative work. Anything your XnViewMP does with ExifTool.exe, a user could do with ExifTool.exe from the command line.
Here's a quote from GPL3 (which only applies if you want it to):
And from the Artistic License:
But a couple of points:
1. Perl and derivative works are GPL1 (not GPL3 unless you wish to use those terms) or Artistic License.
You seem to be misinterpreting a part of the GPL and incorrectly applying it to this situation, when you say "GPL doesn't allow [call GPL component from no GPL app]; it's why libraries are in LGPL."
2. What you are doing with ExifTool is not the same as dynamically linking a library, and exchanging complex data structures. You are distributing a separate product, ExifTool, verbatim, whole and intact and unmodified. Your software executes that product to produce output. You are allowed by the GPL to do this. You are NOT combining your software with ExifTool, and so you are NOT creating a derivative work. Anything your XnViewMP does with ExifTool.exe, a user could do with ExifTool.exe from the command line.
Here's a quote from GPL3 (which only applies if you want it to):
And from GPL1A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
...
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
...
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
Note that "the corresponding source code" refers to the GPL product (ExifTool) not your produce. The Exiftool download itself contains these references, and your text file can direct people to the ExifTool site.3. You may copy and distribute the Program (or a portion or derivative of
it, under Paragraph 2) in object code or executable form under the terms of
Paragraphs 1 and 2 above provided that you also do one of the following:
a) accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of
Paragraphs 1 and 2 above; or,
b) accompany it with a written offer, valid for at least three
years, to give any third party free (except for a nominal charge
for the cost of distribution) a complete machine-readable copy of the
corresponding source code, to be distributed under the terms of
Paragraphs 1 and 2 above; or,
c) accompany it with the information you received as to where the
corresponding source code may be obtained. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form alone.)
And from the Artistic License:
Bottom line is: The GPL (any version) is not an obstacle for what you are doing, what you have been doing, or what I suggest you do. You would not be required to make XnViewMP GPL, nor would you be required to make the source of XnViewMP available.4. You may distribute the programs of this Package in object code or
executable form, provided that you do at least ONE of the following:
a) distribute a Standard Version of the executables and library files,
together with instructions (in the manual page or equivalent) on where
to get the Standard Version.