Phototools - Interactive Editing Of JPG-Comments

This tool helps me (MHo) organizing my ever growing collection of digital photos (JPEGs only) by supporting me in commenting them efficiently.

Meanwhile, the tool has evolved to a starpack standalone executable for windows. The GUI looks as follows:

I will add some more descriptive info later.

You can download the program at the following address: (no adress right now - just send a mail to reverse(net gmx at matthias underscore hoffmann)). Just unzip it somewhere. Calling it with -? or -doc shows some instructions (for now, in the german or english language only). Be warned - use it at your own risk!!!

Currently (as of 2020, March 04) at version 0.73.

 (Why did the source of this page is right, but the wiki displays the previous version?)

For a history, download the program and call it with the -doc switch or press F1 within the running program. Everybody should upgrade to the latest available version as soon as possible, because at the current stage it's likely that newer version contain less bugs...

Martyn Smith This looks interesting, are you considering an English/Bilingual version for non German speakers it is not easy to use ! MHo Translation nearly done. Sure I missed something, or some translations are odd. Let me know.

The tools for indexing and searching a jpeg photo collection are not yet integrated into jpegcomment.

See: Phototools - Interactive Editing Of JPG-Comments - Old Version

JOB I have just one question please: Currently only an executable for win is available. Is it planned to publish the sources as well to take benefit / participate / contribute to your work (there might be users out here using different OS's).

MHo It was not really planned up until now, as I still doing about 90% of my daily computer work on ms windows. But I did a quick look at the sources and see that there's no binary module included, so there is at least a chance to make it run e.g. under linux without too much modifications. Very interesting - I could quickly produce a starkit (instead of a starpack) and test it under my SuSE-Linux. But you can do it for yourself - just grab a copy of sdx and unwrap the executable - you'll get the whole source tree then... JOB Thank you Matthias for your explanations - I wasn't aware that is is possible to "disassemble" an executable again (sdx qwrap, I suppose). MHo: Try sdx unwrap... MHo 2010-01-12: I was totally wrong saying that there's no windows dependend stuff included; indeed it is (xphoto.dll, jpeg*.dll), where at least xphoto is replacable.

MartinKN - 2013-03-31 20:17:20

Hi ...

great tool ... I'm using it with no problems under Linux (at the moment openSUSE 12.3 x86_64) on my Asus Notebook :-) searching for a tool like this to browse jpg/jpeg and edit the commentfile in a table with not saving complete file one by one :-)

One problem ... the directory tree if one branch is entered is not sorted :-( ... I think it is displayed like it is given back from physical order ... any big problem to sort it?

Thx for your great work.

Is there a chance for sourcecode to make a linux binary?


escargo - 2013-03-31 If you are going to allow for separate sorting, sorting by file name, size, and modification date would be great.


  • The list of files on the right is sortable by clicking on the table headers. I just looked into the code to understand how I build the tree on the left, but I don't ;-) I'll have to take a deeper look if I have more time...
  • To make a linux binary, several .DLLs have to be replaced by there linux counterparts, if they exist (which I think is the case for jpegtcl etc., but not for xphoto.dll). Vague plans exist to migrate parts of the code to pixane, which definitely is portable, but I think I'll never find the time for this.

AK 2013-04-02: Could crimp help ?

MHo: Don't know. I have to look into it. Meanwhile I added a new rc-file option named dirTreeSortOpts. If specified, the value is treated as a list of options for lsort, and the directory entries are sorted accordingly. I never needed this, because in my environment the folders are inserted in ascending order automatically (maybe a windows feature of glob...).

2014-03-23: By default, the program uses German. For those who don't understand any German at all, it may be hard to glean from the help text that the English version appears if and only if the environment variable LC_ALL is set to en. From the English help text: "To switch to a language other than the default one, set env var LC_ALL to en, de etc. before the program starts."

MHo 2014-03-24: The locale could be enforced by specifying locale xx in the .RC-file, as could be the timezone. The defaults for this are [mclocale] and :localtime. The environment variable tcl_tz is initialized with the timezone.