How to overlay metadata over JPEG image

So i just downloaded RT, but was wondering if there was anyway to put a list of things like focal length, shutter speed and so on used to take the picture on the exported .JPG other than copying the data and adding it after in Photoshop?

Why Photoshop?

Have fun!
Claes in Lund, Sweden

Just generic name for me, like Hoover.

I get the viewing of the data but is there any way to export pictures with the metadata visible, burnt-in, on the picture itself


digiKam, XnViewMP, ImageMagick/GraphicsMagick.

1 Like

Thank you

Yes, it’s possible, with IrfanView!
When using “Add overlay text” to image, you can select almost any possible metadata item to be outputted onto the image! In a single image, or in a batch.
(or choose “Add watermark” in combination with the above overlay text)

The list of possible parameter is almost endless:
Available placeholders for file/image properties:

Placeholder Tag name/function

$D - file directory/folder (whole path)
$d - file directory/folder (last subfolder only)
$F - file name (with extension)
$N - file name (without extension)
$O - file extension
$S - file size
$T - file date/time (see Appendix A (scroll down) for additional examples)
$U - current system date/time (see Appendix A (scroll down) for additional examples)
$X - file directory index
$M - page index in a multipage image
$m - number of megapixels
$Z - actual zoom size (for full screen/slideshow)
$W - image width
$H - image height
$B - image bits per pixel
$p - image DPI
$R - image aspect ratio (width / height)
$Q - “correct” file extension, if possible (for files with wrong file extension)
$P - print size, from Image->Info dialog
$C - JPG/Webshots image comment, if available
$I - all IPTC data
$Ix - value of the JPG IPTC tag x, if available (x is a number, see below) (IPTC PlugIn required)
$E - all EXIF data
Ex - value of the JPG EXIF tag x, if available (x is a number, see below) (EXIF PlugIn required) | - new line | - add ‘|’ character
$$ - add one '' character # - add one ‘#’ character (otherwise is # used for numbers/counters)
[A-B] - in combination with $D, $d, $F and $N; get range/partial text from position A to B
example: $N[0-5] => get first 5 characters from the file name

Important/interesting IPTC tags/placeholders, according to IPTC specification:

Placeholder Tag name/function

$I5 - Object Name (Document Title)
$I7 - Edit Status
$I10 - Priority
$I15 - Category
$I20 - Supplemental Category
$I25 - Keywords
$I30 - Release Date (see Appendix A for additional examples)
$I35 - Release Time
$I40 - Special Instructions
$I45 - Reference Service
$I47 - Reference Date
$I50 - Reference Number
$I55 - Created Date (see Appendix A for additional examples)
$I60 - Created Time
$I65 - Originating Program
$I70 - Program Version
$I75 - Object Cycle
$I80 - Byline (Author)
$I85 - Byline Title
$I90 - City
$I92 - Sublocation
$I95 - Province State
$I100 - Country Code
$I101 - Country
$I103 - Original Transmission Reference
$I105 - Headline
$I110 - Credit
$I115 - Source
$I116 - Copyright
$I120 - Caption
$I121 - Local Caption
$I122 - Caption Writer

Important/interesting EXIF tags/placeholders (if visible in the EXIF dialog), according to EXIF specification:
Placeholder Tag name/function

$E270 - ImageDescription
$E271 - Make
$E272 - Model
$E274 - Orientation
$E282 - XResolution
$E283 - YResolution
$E296 - ResolutionUnit
$E305 - Software
$E306 - DateTime (see Appendix A for additional examples)
$E315 - Artist
$E318 - WhitePoint
$E531 - YCbCrPositioning
$E532 - ReferenceBlackWhite
$E33432 - Copyright
$E33434 - ExposureTime
$E33437 - FNumber
$E34850 - ExposureProgram
$E34855 - ISOSpeedRatings
$E36864 - ExifVersion
$E36867 - DateTimeOriginal (see Appendix A for additional examples)
$E36868 - DateTimeDigitized (see Appendix A for additional examples)
$E37121 - ComponentsConfiguration
$E37122 - CompressedBitsPerPixel
$E37377 - ShutterSpeedValue
$E37378 - ApertureValue
$E37379 - BrightnessValue
$E37380 - ExposureBiasValue
$E37381 - MaxApertureValue
$E37382 - SubjectDistance
$E37383 - MeteringMode
$E37384 - LightSource
$E37385 - Flash
$E37386 - FocalLength
$E37510 - UserComment
$E37520 - SubsecTime
$E37521 - SubsecTimeOriginal
$E37522 - SubsecTimeDigitized
$E40091 - XP Title
$E40092 - XP Comment
$E40093 - XP Author
$E40094 - XP Keywords
$E40095 - XP Subject
$E40960 - FlashPixVersion
$E40961 - ColorSpace
$E40962 - ExifImageWidth
$E40963 - ExifImageHeight
$E41483 - FlashEnergy
$E41486 - FocalPlaneXResolution
$E41487 - FocalPlaneYResolution
$E41488 - FocalPlaneResolutionUnit
$E41492 - SubjectLocation
$E41493 - ExposureIndex
$E41495 - SensingMethod
$E41728 - FileSource
$E41729 - SceneType
$E41985 - CustomRendered
$E41986 - ExposureMode
$E41987 - WhiteBalance
$E41988 - DigitalZoomRatio
$E41989 - FocalLengthIn35mmFilm
$E41990 - SceneCaptureType
$E41991 - GainControl
$E41992 - Contrast
$E41993 - Saturation
$E41994 - Sharpness
$E41995 - DeviceSettingDescription
$E41996 - SubjectDistanceRange
$E42032 - Owner Name
$E42033 - Camera Serial Number
$E42034 - Lens Info
$E42035 - Lens Make
$E42036 - Lens Model
$E42037 - Lens Serial Number
$E400 - GPSVersionID
$E401 - GPSLatitudeRef
$E402 - GPSLatitude
$E403 - GPSLongitudeRef
$E404 - GPSLongitude
$E405 - GPSAltitudeRef
$E406 - GPSAltitude
$E407 - GPSTimeStamp
$E416 - GPSImgDirectionRef
$E417 - GPSImgDirection
$E429 - GPSDateStamp
$E499 - returns GPSLatitude and GPSLongitude values in one line, OK for e.g. Google Maps for HTML-Export feature

Note: You can also use special EXIF tags from vendor specifications (Nikon, Canon, Fuji, Casio, Olympus).
Here is the list of tags for Nikon cameras (many models):
Placeholder Tag name/function

$E1 - Data Version
$E2 - ISO Setting
$E3 - Color Mode
$E4 - Image Quality
$E5 - White Balance
$E6 - Image Sharpening
$E7 - Focus Mode
$E8 - Flash Setting
$E9 - Flash Mode
$E10 - Digital Zoom
$E11 - White Balance Adjustment
$E12 - White Balance RB
$E14 - Exposure Adjustment
$E15 - ISO Selection
$E18 - Flash Compensation
$E19 - ISO 2
$E29 - Serial number
$E30 - Colorspace
$E37 - ISO Expansion
$E128 - Image Adjustment
$E129 - Tone Compensation
$E130 - Auxiliary Lens
$E131 - Lens Type
$E132 - Lens
$E133 - Manual Focus Distance
$E134 - Digital Zoom
$E135 - Flash Used
$E136 - AF Focus Position
$E137 - Bracketing
$E140 - Contrast Curve
$E141 - Color Mode
$E143 - Scene Mode
$E144 - Light Type
$E146 - Hue Adjustment
$E148 - Saturation Adjustment
$E149 - Noise Reduction
$E167 - Total Pictures
$E169 - Optimization
$E171 - Vari Program
$E3585 - Editor data
$E3593 - Editor version

Here is the list of tags for Canon cameras (many models):
Placeholder Tag name/function
$E1 - Macro mode
$E2 - Self timer
$E3 - Quality
$E4 - Flash mode
$E5 - Sequence mode
$E7 - Focus mode
$E10 - Image size
$E11 - Easy shooting mode
$E12 - Digital zoom
$E13 - Contrast
$E14 - Saturation
$E15 - Sharpness
$E16 - ISO Value
$E17 - Metering mode
$E18 - Focus type
$E19 - AF point selected
$E20 - Exposure mode
$E25 - Focal length
$E28 - Flash activity
$E29 - Flash details
$E32 - Focus mode 2
$E40 - White Balance
$E41 - Sequence number
$E42 - AF point used
$E43 - Flash bias
$E44 - Subject Distance
$E47 - Camera Temperature
$E60 - Image Type
$E70 - Firmware Version
$E80 - Image Number
$E90 - Owner Name
$E93 - File Number
$E120 - Camera Serial Number

Here is the list of tags for Panasonic cameras (some special tags):
Placeholder Tag name/function
$E101 - Title
$E105 - Country
$E107 - Region
$E109 - City
$E111 - Landmark
$E128 - County

Appendix A
By default, all date/time placeholders deliver full text including date and time. If you want to get only specific values, you can use additional placeholder options (ANSI C function: strftime):

%Y - year, 4 numbers
%y - year, 2 numbers (00-99)
%m - month
%d - day
%H - hour
%M - minute
%S - second
%a - short weekday name
%A - full weekday name
%b - short month name
%B - full month name

Examples for file, EXIF or system date: Year: 2005, month: 11, day: 29
Placeholder Result text

$T(%d.%m.%Y) 29.11.2005
$T(%Y%m%d) 20051129
$T(%d%m%y) 291105
$E36868(%Y_%m_%d) 2005_11_29
$T(%d_%m_%Y) 29_11_2005
$T(day:%d, month:%m, year: %Y) day: 29, month: 11, year: 2005

I use Image::ExifTool (a perl module on the commandline), see - lots of documentation and examples on the web, although most searches end up linking to questions about how to delete all EXIF information.

With exiftool some of the fields are composite/not-editable (e.g. certain bit positions might not be documented), but for a limited subset of cmaeras and fields it’s do-able in a bash script. My emperience with orf and rw2 files has led to me preferring the camera’s own jpeg as the source of the EXIF data, but YMMV.