Organize EXIF data into groups

Would it be possible to organize and sort EXIF data into groups? Right now, there is no order to them so it makes it hard to actually find useful info. Something like how exiftool displays tags in groups would be useful.

Example:

---- EXIF ----
Make                            : FUJIFILM
Model                           : X-T3
XResolution                     : 240
YResolution                     : 240
ResolutionUnit                  : inches
Software                        : Adobe Photoshop Lightroom Classic 12.5 (Macintosh)
ModifyDate                      : 2023:08:27 20:00:09
ExposureTime                    : 1/80
FNumber                         : 2.8
ExposureProgram                 : Aperture-priority AE
ISO                             : 640
SensitivityType                 : Standard Output Sensitivity
ExifVersion                     : 0231
DateTimeOriginal                : 2023:08:26 19:11:19
CreateDate                      : 2023:08:26 19:11:19
OffsetTime                      : -07:00
OffsetTimeOriginal              : -07:00
OffsetTimeDigitized             : -07:00
ShutterSpeedValue               : 1/80
ApertureValue                   : 2.8
BrightnessValue                 : 1.83
ExposureCompensation            : -0.67
MaxApertureValue                : 1.4
MeteringMode                    : Multi-segment
LightSource                     : Unknown
Flash                           : No Flash
FocalLength                     : 23.0 mm
ColorSpace                      : sRGB
FocalPlaneXResolution           : 2655.343201
FocalPlaneYResolution           : 2655.343201
FocalPlaneResolutionUnit        : cm
SensingMethod                   : One-chip color area
FileSource                      : Digital Camera
SceneType                       : Directly photographed
CustomRendered                  : Normal
ExposureMode                    : Auto
WhiteBalance                    : Auto
FocalLengthIn35mmFormat         : 35 mm
SceneCaptureType                : Standard
Sharpness                       : Normal
SubjectDistanceRange            : Unknown
SerialNumber                    : 94A52658
LensInfo                        : 23mm f/1.4
LensMake                        : FUJIFILM
LensModel                       : XF23mmF1.4 R
LensSerialNumber                : 88A26196
GPSVersionID                    : 2.3.0.0
GPSLatitudeRef                  : North
GPSLongitudeRef                 : West
GPSAltitudeRef                  : Above Sea Level
GPSTimeStamp                    : 01:39:13
GPSSpeedRef                     : km/h
GPSSpeed                        : 0
GPSMapDatum                     : WGS-84
GPSDateStamp                    : 2023:08:27
Compression                     : JPEG (old-style)
ThumbnailOffset                 : 1284
ThumbnailLength                 : 13755
ThumbnailImage                  : (Binary data 13755 bytes, use -b option to extract)
---- Photoshop ----
DisplayedUnitsX                 : inches
DisplayedUnitsY                 : inches
PhotoshopThumbnail              : (Binary data 13755 bytes, use -b option to extract)
IPTCDigest                      : bf680dffcdef6671635f7ca7150dbed1
---- IPTC ----
CodedCharacterSet               : UTF8
ApplicationRecordVersion        : 4
TimeCreated                     : 19:11:19-07:00
DigitalCreationDate             : 2023:08:26
DigitalCreationTime             : 19:11:19-07:00
1 Like

Sure, I can give this a go! I’m a total EXIF novice, but I’m assuming that there’s at least some standardization of data labels between manufacturers? Also, since this will be a custom setup, we can do pretty much whatever we want — if there are specific groupings you’d want to see, feel free to suggest them here!

I believe most tags are standardized. Though, from what I can tell its not super easy to parse what group they belong to since there are 1000s of tags. If you used exiftool or something similar when the data is extracted that would probably make it a lot easier. I’d be mainly concerned with the “EXIF” group since it contains basic camera settings. Things like XMP data contain settings from the photo editor used and probably isn’t as useful to most people. Plus, some editors add a ton of data.

I attached an image and the output from exiftool as an example of how it groups different kinds of data. It can export data in different formats (including JSON).

exiftool -s -g -j {input file}
[{
  "SourceFile": "/Users/joanna/Desktop/Exports/GWABN - The Cats Regrade/DSCF0111.jpg",
  "ExifTool": {
    "ExifToolVersion": 12.60
  },
  "File": {
    "FileName": "DSCF0111.jpg",
    "Directory": "/Users/joanna/Desktop/Exports/GWABN - The Cats Regrade",
    "FileSize": "3.7 MB",
    "FileModifyDate": "2023:08:27 20:00:09-07:00",
    "FileAccessDate": "2023:09:11 20:54:16-07:00",
    "FileInodeChangeDate": "2023:08:27 20:00:24-07:00",
    "FilePermissions": "-rw-r--r--",
    "FileType": "JPEG",
    "FileTypeExtension": "jpg",
    "MIMEType": "image/jpeg",
    "ExifByteOrder": "Little-endian (Intel, II)",
    "CurrentIPTCDigest": "bf680dffcdef6671635f7ca7150dbed1",
    "ImageWidth": 4746,
    "ImageHeight": 3206,
    "EncodingProcess": "Baseline DCT, Huffman coding",
    "BitsPerSample": 8,
    "ColorComponents": 3,
    "YCbCrSubSampling": "YCbCr4:4:4 (1 1)"
  },
  "EXIF": {
    "Make": "FUJIFILM",
    "Model": "X-T3",
    "XResolution": 240,
    "YResolution": 240,
    "ResolutionUnit": "inches",
    "Software": "Adobe Photoshop Lightroom Classic 12.5 (Macintosh)",
    "ModifyDate": "2023:08:27 20:00:09",
    "ExposureTime": "1/80",
    "FNumber": 2.8,
    "ExposureProgram": "Aperture-priority AE",
    "ISO": 640,
    "SensitivityType": "Standard Output Sensitivity",
    "ExifVersion": "0231",
    "DateTimeOriginal": "2023:08:26 19:11:19",
    "CreateDate": "2023:08:26 19:11:19",
    "OffsetTime": "-07:00",
    "OffsetTimeOriginal": "-07:00",
    "OffsetTimeDigitized": "-07:00",
    "ShutterSpeedValue": "1/80",
    "ApertureValue": 2.8,
    "BrightnessValue": 1.83,
    "ExposureCompensation": -0.67,
    "MaxApertureValue": 1.4,
    "MeteringMode": "Multi-segment",
    "LightSource": "Unknown",
    "Flash": "No Flash",
    "FocalLength": "23.0 mm",
    "ColorSpace": "sRGB",
    "FocalPlaneXResolution": 2655.343201,
    "FocalPlaneYResolution": 2655.343201,
    "FocalPlaneResolutionUnit": "cm",
    "SensingMethod": "One-chip color area",
    "FileSource": "Digital Camera",
    "SceneType": "Directly photographed",
    "CustomRendered": "Normal",
    "ExposureMode": "Auto",
    "WhiteBalance": "Auto",
    "FocalLengthIn35mmFormat": "35 mm",
    "SceneCaptureType": "Standard",
    "Sharpness": "Normal",
    "SubjectDistanceRange": "Unknown",
    "SerialNumber": "94A52658",
    "LensInfo": "23mm f/1.4",
    "LensMake": "FUJIFILM",
    "LensModel": "XF23mmF1.4 R",
    "LensSerialNumber": "88A26196",
    "Compression": "JPEG (old-style)",
    "ThumbnailOffset": 1284,
    "ThumbnailLength": 13755,
    "ThumbnailImage": "(Binary data 13755 bytes, use -b option to extract)"
  },
  "Photoshop": {
    "XResolution": 240,
    "DisplayedUnitsX": "inches",
    "YResolution": 240,
    "DisplayedUnitsY": "inches",
    "PhotoshopThumbnail": "(Binary data 13755 bytes, use -b option to extract)",
    "IPTCDigest": "bf680dffcdef6671635f7ca7150dbed1"
  },
  "IPTC": {
    "CodedCharacterSet": "UTF8",
    "ApplicationRecordVersion": 4,
    "DateCreated": "2023:08:26",
    "TimeCreated": "19:11:19-07:00",
    "DigitalCreationDate": "2023:08:26",
    "DigitalCreationTime": "19:11:19-07:00"
  },
  "ICC_Profile": {
    "ProfileCMMType": "Linotronic",
    "ProfileVersion": "2.1.0",
    "ProfileClass": "Display Device Profile",
    "ColorSpaceData": "RGB ",
    "ProfileConnectionSpace": "XYZ ",
    "ProfileDateTime": "1998:02:09 06:49:00",
    "ProfileFileSignature": "acsp",
    "PrimaryPlatform": "Microsoft Corporation",
    "CMMFlags": "Not Embedded, Independent",
    "DeviceManufacturer": "Hewlett-Packard",
    "DeviceModel": "sRGB",
    "DeviceAttributes": "Reflective, Glossy, Positive, Color",
    "RenderingIntent": "Perceptual",
    "ConnectionSpaceIlluminant": "0.9642 1 0.82491",
    "ProfileCreator": "Hewlett-Packard",
    "ProfileID": 0,
    "ProfileCopyright": "Copyright (c) 1998 Hewlett-Packard Company",
    "ProfileDescription": "sRGB IEC61966-2.1",
    "MediaWhitePoint": "0.95045 1 1.08905",
    "MediaBlackPoint": "0 0 0",
    "RedMatrixColumn": "0.43607 0.22249 0.01392",
    "GreenMatrixColumn": "0.38515 0.71687 0.09708",
    "BlueMatrixColumn": "0.14307 0.06061 0.7141",
    "DeviceMfgDesc": "IEC http://www.iec.ch",
    "DeviceModelDesc": "IEC 61966-2.1 Default RGB colour space - sRGB",
    "ViewingCondDesc": "Reference Viewing Condition in IEC61966-2.1",
    "ViewingCondIlluminant": "19.6445 20.3718 16.8089",
    "ViewingCondSurround": "3.92889 4.07439 3.36179",
    "ViewingCondIlluminantType": "D50",
    "Luminance": "76.03647 80 87.12462",
    "MeasurementObserver": "CIE 1931",
    "MeasurementBacking": "0 0 0",
    "MeasurementGeometry": "Unknown",
    "MeasurementFlare": "0.999%",
    "MeasurementIlluminant": "D65",
    "Technology": "Cathode Ray Tube Display",
    "RedTRC": "(Binary data 2060 bytes, use -b option to extract)",
    "GreenTRC": "(Binary data 2060 bytes, use -b option to extract)",
    "BlueTRC": "(Binary data 2060 bytes, use -b option to extract)"
  },
  "XMP": {
    "XMPToolkit": "Adobe XMP Core 7.0-c000 1.000000, 0000/00/00-00:00:00        ",
    "CreatorTool": "Adobe Photoshop Lightroom Classic 12.5 (Macintosh)",
    "ModifyDate": "2023:08:27 20:00:09-07:00",
    "CreateDate": "2023:08:26 19:11:19-07:00",
    "MetadataDate": "2023:08:27 20:00:09-07:00",
    "FujiRatingAlreadyApplied": true,
    "SerialNumber": "94A52658",
    "LensInfo": "23mm f/1.4",
    "Lens": "XF23mmF1.4 R",
    "LensSerialNumber": "88A26196",
    "LateralChromaticAberrationCorrectionAlreadyApplied": true,
    "VignetteCorrectionAlreadyApplied": true,
    "LensModel": "XF23mmF1.4 R",
    "DateCreated": "2023:08:26 19:11:19-07:00",
    "DocumentID": "xmp.did:a74c9461-7849-4577-a653-7ff045353412",
    "PreservedFileName": "DSCF0111.RAF",
    "OriginalDocumentID": "5B055C0D407106AC7164F0C43163E60B",
    "InstanceID": "xmp.iid:a74c9461-7849-4577-a653-7ff045353412",
    "Format": "image/jpeg",
    "RawFileName": "DSCF0111.RAF",
    "Version": 15.5,
    "CompatibleVersion": 251658240,
    "ProcessVersion": 15.4,
    "WhiteBalance": "Custom",
    "ColorTemperature": 30210,
    "Tint": -3,
    "Exposure2012": 0.00,
    "Contrast2012": 0,
    "Highlights2012": -38,
    "Shadows2012": "+18",
    "Whites2012": 0,
    "Blacks2012": 0,
    "Texture": 0,
    "Clarity2012": 0,
    "Dehaze": 0,
    "Vibrance": 0,
    "Saturation": 0,
    "ParametricShadows": 0,
    "ParametricDarks": 0,
    "ParametricLights": 0,
    "ParametricHighlights": 0,
    "ParametricShadowSplit": 25,
    "ParametricMidtoneSplit": 50,
    "ParametricHighlightSplit": 75,
    "Sharpness": 40,
    "SharpenRadius": "+1.0",
    "SharpenDetail": 25,
    "SharpenEdgeMasking": 0,
    "LuminanceSmoothing": 0,
    "ColorNoiseReduction": 25,
    "ColorNoiseReductionDetail": 50,
    "ColorNoiseReductionSmoothness": 50,
    "HueAdjustmentRed": 0,
    "HueAdjustmentOrange": 0,
    "HueAdjustmentYellow": 0,
    "HueAdjustmentGreen": 0,
    "HueAdjustmentAqua": 0,
    "HueAdjustmentBlue": 0,
    "HueAdjustmentPurple": 0,
    "HueAdjustmentMagenta": 0,
    "SaturationAdjustmentRed": 0,
    "SaturationAdjustmentOrange": 0,
    "SaturationAdjustmentYellow": 0,
    "SaturationAdjustmentGreen": 0,
    "SaturationAdjustmentAqua": 0,
    "SaturationAdjustmentBlue": 0,
    "SaturationAdjustmentPurple": 0,
    "SaturationAdjustmentMagenta": 0,
    "LuminanceAdjustmentRed": 0,
    "LuminanceAdjustmentOrange": 0,
    "LuminanceAdjustmentYellow": 0,
    "LuminanceAdjustmentGreen": 0,
    "LuminanceAdjustmentAqua": 0,
    "LuminanceAdjustmentBlue": 0,
    "LuminanceAdjustmentPurple": 0,
    "LuminanceAdjustmentMagenta": 0,
    "SplitToningShadowHue": 0,
    "SplitToningShadowSaturation": 0,
    "SplitToningHighlightHue": 0,
    "SplitToningHighlightSaturation": 0,
    "SplitToningBalance": 0,
    "ColorGradeMidtoneHue": 0,
    "ColorGradeMidtoneSat": 0,
    "ColorGradeShadowLum": 0,
    "ColorGradeMidtoneLum": 0,
    "ColorGradeHighlightLum": 0,
    "ColorGradeBlending": 50,
    "ColorGradeGlobalHue": 0,
    "ColorGradeGlobalSat": 0,
    "ColorGradeGlobalLum": 0,
    "AutoLateralCA": 1,
    "LensProfileEnable": 0,
    "LensManualDistortionAmount": 0,
    "VignetteAmount": 0,
    "DefringePurpleAmount": 0,
    "DefringePurpleHueLo": 30,
    "DefringePurpleHueHi": 70,
    "DefringeGreenAmount": 0,
    "DefringeGreenHueLo": 40,
    "DefringeGreenHueHi": 60,
    "PerspectiveUpright": "Off",
    "PerspectiveVertical": 0,
    "PerspectiveHorizontal": 0,
    "PerspectiveRotate": 0.0,
    "PerspectiveAspect": 0,
    "PerspectiveScale": 100,
    "PerspectiveX": 0.00,
    "PerspectiveY": 0.00,
    "GrainAmount": 0,
    "PostCropVignetteAmount": -16,
    "PostCropVignetteMidpoint": 50,
    "PostCropVignetteFeather": 50,
    "PostCropVignetteRoundness": 0,
    "PostCropVignetteStyle": "Highlight Priority",
    "PostCropVignetteHighlightContrast": 0,
    "ShadowTint": 0,
    "RedHue": 0,
    "RedSaturation": 0,
    "GreenHue": 0,
    "GreenSaturation": 0,
    "BlueHue": 0,
    "BlueSaturation": 0,
    "ConvertToGrayscale": false,
    "OverrideLookVignette": false,
    "ToneCurveName2012": "Linear",
    "CameraProfile": "Camera CLASSIC CHROME v2",
    "CameraProfileDigest": "88BFCF93C4E5711D6C50FEC9661EE75F",
    "HasSettings": true,
    "CropTop": 0.024674,
    "CropLeft": 0.15706,
    "CropBottom": 0.79533,
    "CropRight": 0.917652,
    "CropAngle": 0,
    "CropConstrainToWarp": 0,
    "HasCrop": true,
    "AlreadyApplied": true,
    "HistoryAction": ["derived","saved"],
    "HistoryParameters": "converted from image/x-fuji-raw to image/jpeg, saved to new location",
    "HistoryInstanceID": "xmp.iid:a74c9461-7849-4577-a653-7ff045353412",
    "HistoryWhen": "2023:08:27 20:00:09-07:00",
    "HistorySoftwareAgent": "Adobe Photoshop Lightroom Classic 12.5 (Macintosh)",
    "HistoryChanged": "/",
    "DerivedFromDocumentID": "5B055C0D407106AC7164F0C43163E60B",
    "DerivedFromOriginalDocumentID": "5B055C0D407106AC7164F0C43163E60B",
    "ToneCurvePV2012": ["0, 0","255, 255"],
    "ToneCurvePV2012Red": ["0, 0","255, 255"],
    "ToneCurvePV2012Green": ["0, 0","255, 255"],
    "ToneCurvePV2012Blue": ["0, 0","255, 255"],
    "MaskGroupBasedCorrWhat": "Correction",
    "MaskGroupBasedCorrAmount": 1,
    "MaskGroupBasedCorrActive": true,
    "MaskGroupBasedCorrCorrectionName": "Mask 1",
    "MaskGroupBasedCorrCorrectionSyncID": "347F6ED332914CF788384C7E2D669421",
    "MaskGroupBasedCorrExposure": 0,
    "MaskGroupBasedCorrHue": 0,
    "MaskGroupBasedCorrSaturation": 0,
    "MaskGroupBasedCorrContrast": 0,
    "MaskGroupBasedCorrClarity": 0,
    "MaskGroupBasedCorrSharpness": 0,
    "MaskGroupBasedCorrBrightness": 0,
    "MaskGroupBasedCorrToningHue": 0,
    "MaskGroupBasedCorrToningSaturation": 0,
    "MaskGroupBasedCorrExposure2012": -0.112847,
    "MaskGroupBasedCorrContrast2012": 0,
    "MaskGroupBasedCorrHighlights2012": 0,
    "MaskGroupBasedCorrShadows2012": 0,
    "MaskGroupBasedCorrWhites2012": 0,
    "MaskGroupBasedCorrBlacks2012": 0,
    "MaskGroupBasedCorrClarity2012": 0,
    "MaskGroupBasedCorrDehaze": 0,
    "MaskGroupBasedCorrLuminanceNoise": 0,
    "MaskGroupBasedCorrMoire": 0,
    "MaskGroupBasedCorrDefringe": 0,
    "MaskGroupBasedCorrTemperature": 0,
    "MaskGroupBasedCorrTint": 0,
    "MaskGroupBasedCorrTexture": 0,
    "MaskGroupBasedCorrLocalGrain": 0,
    "MaskGroupBasedCorrLocalCurveRefineSaturation": 100,
    "MaskGroupBasedCorrMaskWhat": "Mask/Image",
    "MaskGroupBasedCorrMaskMaskActive": true,
    "MaskGroupBasedCorrMaskMaskName": "Background 1",
    "MaskGroupBasedCorrMaskMaskBlendMode": 0,
    "MaskGroupBasedCorrMaskMaskInverted": false,
    "MaskGroupBasedCorrMaskMaskSyncID": "F3612F0596F34D0DA493A49AD98D4701",
    "MaskGroupBasedCorrMaskValue": 1,
    "MaskGroupBasedCorrMaskMaskVersion": 1,
    "MaskGroupBasedCorrMaskMaskSubType": 0,
    "MaskGroupBasedCorrMaskMaskSubCategoryID": 22,
    "MaskGroupBasedCorrMaskReferencePoint": "0.252134 0.639417",
    "MaskGroupBasedCorrMaskInputDigest": "6F86127075907E7F33CD3C82AA558C1E",
    "MaskGroupBasedCorrMaskInputDigestVersion": 2,
    "MaskGroupBasedCorrMaskMaskDigest": "FE9951A0E5DF26A8FAC67AB8B261B436",
    "MaskGroupBasedCorrMaskWholeImageArea": "0/1,0/1,1920/1,2880/1",
    "MaskGroupBasedCorrMaskOrigin": "0,0",
    "MaskGroupBasedCorrMaskModelVersion": 251659306
  },
  "APP14": {
    "DCTEncodeVersion": 100,
    "APP14Flags0": "[14], Encoded with Blend=1 downsampling",
    "APP14Flags1": "(none)",
    "ColorTransform": "YCbCr"
  },
  "Composite": {
    "Aperture": 2.8,
    "ImageSize": "4746x3206",
    "Megapixels": 15.2,
    "ScaleFactor35efl": 1.5,
    "ShutterSpeed": "1/80",
    "SubSecCreateDate": "2023:08:26 19:11:19-07:00",
    "SubSecDateTimeOriginal": "2023:08:26 19:11:19-07:00",
    "SubSecModifyDate": "2023:08:27 20:00:09-07:00",
    "GPSAltitude": "137 m Above Sea Level",
    "GPSDateTime": "2023:08:27 01:39:13Z",
    "GPSLatitude": "37 deg 12' 49.07\" N",
    "GPSLongitude": "121 deg 59' 17.08\" W",
    "DateTimeCreated": "2023:08:26 19:11:19-07:00",
    "DigitalCreationDateTime": "2023:08:26 19:11:19-07:00",
    "CircleOfConfusion": "0.020 mm",
    "FOV": "54.4 deg",
    "FocalLength35efl": "23.0 mm (35 mm equivalent: 35.0 mm)",
    "HyperfocalDistance": "9.57 m",
    "LightValue": 6.6,
    "LensID": "XF23mm F1.4 R"
  }
}]
1 Like