Search code examples
jpegexifexiftool

How do I exclude basic information from exiftool output?


I have a JPEG that I think has no EXIF data and I want to see if it is possible to detect scrubbing.

When I run exiftool on it I get the output below.

Are these fields derived by exiftool, even if there are no EXIF data, or does the output necessarily indicate the presence of EXIF inside the JPEG?

Or do all JPEGs contain EXIF even if they were to be scrubbed?

Is there a way to disable output of the derived information below to enable scrubbing detection?

ExifTool Version Number         : 10.80
File Name                       : dummy.jpg
Directory                       : /home/me
File Size                       : 452 kB
File Modification Date/Time     : 2021:02:02 14:41:53+02:00
File Access Date/Time           : 2021:02:02 14:42:52+02:00
File Inode Change Date/Time     : 2021:02:02 14:41:58+02:00
File Permissions                : rw-r--r--
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
JFIF Version                    : 1.02
Resolution Unit                 : None
X Resolution                    : 1
Y Resolution                    : 1
Image Width                     : 2480
Image Height                    : 3507
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Image Size                      : 2480x3507
Megapixels                      : 8.7

Solution

  • The command you want to run is this
    exiftool -G0 -a -s dummy.jpg

    This command will show tags with duplicate names (-a (-duplicates) option) and the groups they belong to (-G (-groupNames) option). Also, the -s (short) option will give you tag names, not tag descriptions (see exiftool FAQ #2).

    The resulting output would look similar to this

    [ExifTool]      ExifToolVersion                 : 12.16
    [File]          FileName                        : Test4.jpg
    [File]          Directory                       : y:/!temp
    [File]          FileSize                        : 435 KiB
    [File]          FileModifyDate                  : 2021:01:26 08:22:03-08:00
    [File]          FileAccessDate                  : 2021:01:26 08:22:03-08:00
    [File]          FileCreateDate                  : 2021:01:05 15:39:42-08:00
    [File]          FilePermissions                 : rw-rw-rw-
    [File]          FileType                        : JPEG
    [File]          FileTypeExtension               : jpg
    [File]          MIMEType                        : image/jpeg
    [File]          ImageWidth                      : 1749
    [File]          ImageHeight                     : 1205
    [File]          EncodingProcess                 : Baseline DCT, Huffman coding
    [File]          BitsPerSample                   : 8
    [File]          ColorComponents                 : 3
    [File]          YCbCrSubSampling                : YCbCr4:2:0 (2 2)
    [JFIF]          JFIFVersion                     : 1.02
    [JFIF]          ResolutionUnit                  : inches
    [JFIF]          XResolution                     : 1
    [JFIF]          YResolution                     : 1
    [Composite]     ImageSize                       : 1749x1205
    [Composite]     Megapixels                      : 2.1
    

    The [ExifTool] group is obviously the version of exiftool used to list the data. Anything in the [File] group is a property of the file. This can include file system tags like the create date (FileCreateDate) or permissions (FilePermissions), properties of image, such as the width/height or image type, such as jpeg/tiff/png, as well as other non-editable details. Items in the [Composite] group are tags exiftool creates based upon other tags in the file. These are often created in a more human readable format or for ease of copying to other tags and/or files.

    The only embedded data in your file is the [JFIF] header, which contains no personally identifiable data.

    You can suppress output of the Composite group by adding the -e (--composite) option. Other groups can be suppressed by adding --GROUP:All to the command, i.e. adding --File:all would suppress all tags in the File group.