jpeginfo - Man Page
prints information and tests integrity of JPEG/JFIF files.
Synopsis
jpeginfo [ options ] [ filenames ]
Description
jpeginfo is used to generate informative listings of jpeg files, and also to check jpeg files for errors. Program also supports automatic deletion of broken jpegs.
Output Formats
jpeginfo supports several different output formats. Default formats are meant to be displayed on screen, while there is also CSV and JSON formats that are easier to parse by another program.
While CSV and JSON formats always display all "columns", other formats don't display columns that do not have any data. For example if -c option is not used to check JPEG integrity, then the `status` (and `details`) columns won't be displayed.
Similarly if MD5/SHA-2 checksum (hash) is not calculated, then that column will not be shown.
Default Format
Default output format:
<filename> <image_width> x <image_height> <colordepth> <progressive_vs_normal> <markers> <size>
Example:
$ jpeginfo *.jpeg
IMG_1439.jpeg 3282 x 3024 24bit N JFIF,Exif 2961607
IMG_1560.jpeg 3815 x 2862 24bit N JFIF 1045063
IMG_2520.jpeg 3964 x 2900 24bit N JFIF,Exif,ICC 4712099
Extra information format
Additional information can be displayed using -i option:
<filename> <image_width> x <image_height> <colordepth> <progressive_vs_normal> <markers> <extra_info> <size>
Example:
$ jpeginfo -i *.jpeg
IMG_1439.jpeg 3282 x 3024 24bit N JFIF,Exif Huffman,300dpi 2961607
IMG_1560.jpeg 3815 x 2862 24bit N JFIF Huffman,300dpi 1045063
IMG_2520.jpeg 3964 x 2900 24bit N JFIF,Exif,ICC Huffman,300dpi 4712099
Ls command style output format
Option -l moves filename to be last column, resulting output that is bit like output from `ls -l` command:
<image_width> x <image_height> <colordepth> <progressive_vs_normal> <markers> <size> <filename>
Example:
$ jpeginfo -l *.jpeg
3282 x 3024 24bit N JFIF,Exif 2961607 IMG_1439.jpeg
3815 x 2862 24bit N JFIF 1045063 IMG_1560.jpeg
3964 x 2900 24bit N JFIF,Exif,ICC 4712099 IMG_2520.jpeg
Options
Options may be either the traditional POSIX one letter options, or the GNU style long options. POSIX style options start with a single “-”, while GNU long options start with “--”.
Options offered by jpeginfo are the following:
- -c, --check
Check files also for errors. (default is just to read the headers).
- -C, --comments
Display file comments (from COM markers).
- -d, --delete
Delete files that have errors. (default is not to delete any files).
- -f<filename>, --file<filename>
Read filenames to process from given file. To use standard input (stdin) use '-' as a filename. This is alternative to default where filenames are given as parameters to the program.
- -h, --help
Display short usage information and exits.
- -H, --header
Display column names header in output.
- -2, --sha256
Calculates SHA-256 checksum for each file.
- --sha512
Calculates SHA-512 checksum for each file.
- -5, --md5
Calculates MD5 checksum for each file.
- -i, --info
Displays even more information about each picture. Prints image coding (Huffman/Arithmetic), density (in dpi/dpc), and whether CCIR601 sampling was used or not.
- -j, --json
JavaScript Object Notation (JSON) output format.
- -l, --lsstyle
Uses alternate listing format (ls -l style).
- -v, --verbose
Enables verbose mode (positively chatty).
- --version
Displays program version.
- -q, --quiet
Quiet mode, output just the jpeg infos.
- -s, --csv
Comma separated values (CSV) output format.
- -m<mode>, --mode=<mode>
Sets the delete mode, meaningful only when used with -d flag. Mode can be one of the following:
- all
Files containing any type of errors/warnings, not necessary preventing the decoding. (default)
- erronly
Only files with serious errors (i.e. cannot be decoded at all).
- -, --stdin
Read input from standard input (instead of a file).
Known JPEG Markers
jpegoptim scans through application (APP) markers in the JPEG image and will display information about "well known" markers found in the image. Markers found in image are listed in the "markers" column.
Known Application Markers
Currently jpegoptim recognizes following common application markers found in JPEG images:
Marker Name | Description |
JFIF | JPEG File Interchange Format |
JFXX | JFIF Extension |
Exif | Exchangeable Image File Format |
XMP | Extensible Metadata Platform (Adobe) |
ICC | ICC Color Profile |
IPTC | IPTC (Adobe Photoshop) |
Adobe | Adobe |
AdobeCM | Adobe Color Management |
CIFF | Canon Raw |
AVI1 | AVI Video |
QVCI | Casio QVCI |
FLIR | FLIR |
FPXR | Kodak FlashPix |
MPF | CIPA Multi-Picture Format |
Meta | Kodak Meta |
Stim | CIPA Stereo Still Image |
JPS | JPEG Stereo Image |
Scalado | Scalado |
RMETA | Ricoh Meta |
EPPIM | Toshiba PrintIM |
NITF | National Imagery Transmission Format |
GoPro | GoPro |
SPIFF | JPEG Still Picture Interchange File Format |
AROT | Apple |
HDR | JPEG-HDR |
Other Markers
If image contained any unrecognized application (APP) markers then "UNKNOWN" is added to the list of found markers.
Additionally if image contained any comment (COM) markers then "COM" is added to the list of found markers.
Exit Status
Program returns 0 on successful run. Non-zero exit status is returned if there were any errors.
When using --check (or -c) option return value is non-zero if one or more of the files checked had any errors.
See Also
Author
Timo Kokkonen (tjko@iki.fi)
Copying
Copyright (C) 1995-2023 Timo Kokkonen
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.