Exif Jpeg header manipulation tool

Version 2.82   Updated April 3 2008

Usage documentation

Things jhead can extract from an Exif jpeg file
  • Time and date picture was taken
  • Camera make and model
  • Integral low-res Exif thumbnail
  • Shutter speed
  • Camera F-stop number
  • Flash used (yes/no)
  • Distance camera was focused at
  • Focal length and calculate 35 mm equivalent focal length
  • Image resolution
  • GPS info, if stored in image
  • IPTC header
  • XMP data
Things jhead can modify in an exif jpeg file
  • Up-right images according to rotation tag using jpegtran
  • Set or relative adjust internal exif timestamps
  • Fix date / time offsets in large batches of images
  • Re-name or date stamp files according to exif timestamp
  • Transfer exif headers between images
  • Replace thumbnails inside Exif headers
  • Edit jpeg comments (but not the Exif comments)
  • Delete exif or comment sections from jpeg images
  • Create new minimal exif header containing date and thumbnail
The files coming out of a pretty much all Digital cameras are in the Exif flavour of Jpeg files. Exif files are for the most part Jpeg files, but start with a different header block, and contain additional data sections with camera settings, as well as a preview thumbnail picture as part of the Exif header. Many image browsers today make use of this integral thumbnail when browsing, while other browsers make their own thumbnails based on the image as a whole.

Because I am interested in photography, I am always curious just exactly what settings my fully automatic digital camera actually did end up using. There's a few programs out there that can parse some of these headers, but when I started this tool back in 1999, I couldn't find a program that would consistently display the settings, nore one that could be compiled into a simple executable. I have since added many more features to jhead, many of them the result of suggestions or code contributions.

Sample jhead output:

    File name    : 0805-153933.jpg
    File size    : 463023 bytes
    File date    : 2001:08:12 21:02:04
    Camera make  : Canon
    Camera model : Canon PowerShot S100
    Date/Time    : 2001:08:05 15:39:33
    Resolution   : 1600 x 1200
    Flash used   : No
    Focal length :  5.4mm  (35mm equivalent: 36mm)
    CCD Width    : 5.23mm
    Exposure time: 0.100 s  (1/10)
    Aperture     : f/2.8
    Focus Dist.  : 1.18m
    Metering Mode: center weight
    Jpeg process : Baseline
    

The program also has a lot of other command line options for manipulating Exif files, such as options to manipulate the date in the header, renaming image files, or coordinating running Jpegtran and Mogrify to manipulate whole directory trees of images.

Here's the program files. Just right click and save as. The source archives should end in .tar.gz (as in jhead-2.7.tar.gz). Windows browsers have the annoying habit of renaming files on saving, so you may have to rename the file back to what is shown for programs to recognize them properly. You can use WinZip to open .tar.gz files.

For novice Linux/Unix/OS-X users: Don't forget to set the executable bit after downloading the pre-built executables. Type "chmod +x jhead" at a shell window after downloading it to do this. Head revision (source only):

  jhead-latest.tar.gz


Releases
Current release version: 2.82 (April 3 2008)
Pre-built Windows executable jhead.exe (106 k)
Pre-built Linux executable (built on Ubuntu) jhead (65 k)
Pre-built OS-X Intel executable jhead (61 k)
Pre-built OS-X PPC executable jhead (74 k)
Pre-built freebsd executable jhead (58 k)
Source tarball jhead-2.82.tar.gz (62 k)
Linux binary RPM (Fedora 3) jhead-2.82-0.i386.rpm (47 k)
Linux source RPM (Fedora 3) jhead-2.82.7-0.src.rpm (68 k)
Previous Version
Source tarball jhead-2.8.tar.gz (61 k)
Older Versions
Linux binary RPM (RedHat 9) jhead-2.7-0.i386.rpm (45 k)
Linux source RPM jhead-2.7-0.src.rpm (63 k)
Source tarballs jhead-2.7.tar.gz (59 k)
jhead-2.6.tar.gz (56 k)
jhead-2.5.tar.gz (55 k)
jhead-2.4.tar.gz (47 k)

There's also a change log

The software is public domain. A program this small is not worth bothering restricting anybody with, and I'm too lazy to look into the ramifications of GPL or BSD licenses. Besides, I hope more people integrate this sort of functionality into their programs, free or not free.

I originally got my information on the Exif format from:
http://park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif-e.html

More on exif at
http://www.exif.org

and at:
http://www.kodak.com/global/plugins/acrobat/en/service/digCam/exifStandard2.pdf

Got questions? Read the manual. If that doesn't answer your questions, you can contact me at:

The address is in the PNG file so no robot can pick it up (Please respect do not post my email address in machine readable forms on the web anywhere)

Other handy free utilities by Matthias Wandel:

    Ftpdmin A minimal install-free windows FTP server for ad-hoc file transfers

    Finddupe Identify and eliminate duplicate files. Useful when organizing other people's photos.


Also check out my Home page, or my Woodworking website