JPEGINFO(1)

πŸ“¦
version 1.7.1 Β· 3 versions
, in debian trixie, epel 10, epel 9, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– JPEGINFO πŸ’–

okay bestie, welcome to jpeginfo β€” she lives in section 1 of the general commands manual and she is literally your new fave. periodt ✨


✨ NAME ✨

jpeginfo β€” prints information and tests integrity of JPEG/JFIF files. πŸ–ΌοΈπŸ’…


🌸 SYNOPSIS 🌸

jpeginfo [ options ] [ filenames ]

πŸ¦‹ DESCRIPTION πŸ¦‹

so jpeginfo is the girl who does two things and does them flawlessly: she generates informative listings of jpeg files, and she checks jpeg files for errors. no cap. she also supports automatic deletion of broken jpegs, which is giving "we don't keep toxic files in this house" πŸ’€βœ‚οΈ


πŸŽ€ OUTPUT FORMATS πŸŽ€

jpeginfo supports several different output formats, because she contains multitudes. πŸ’– The default formats are meant to be displayed on screen, while there's also CSV and JSON formats that are easier to parse by another program. iykyk 🧚

While CSV and JSON formats always display all "columns", the other formats don't display columns that do not have any data. for example, if the -c option is not used to check JPEG integrity, then the status (and details) columns won't be displayed. πŸ™ˆ

Similarly, if the MD5/SHA-2 checksum (hash) is not calculated, then that column will not be shown. it's giving "if you didn't ask for it, you don't get it." πŸ’…

⭐ Default Format ⭐

the default output format, bestie:

<filename> <image_width> x <image_height> <colordepth> <progressive_vs_normal> <markers> <size>

Example, because visuals matter:

$ 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 info can be displayed using the -i option, because sometimes you want the lore:

<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 the filename to be the last column, resulting in output that's a bit like output from the ls -l command (iconic behavior honestly):

<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 πŸ’…

okay so 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 --. both are valid, both are slaying. ✨

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). yes she will actually delete them bestie πŸ’€
  • -f<filename>, --file<filename> β€” read filenames to process from the given file. to use standard input (stdin), use - as a filename. this is the alternative to the 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 the -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 the image are listed in the "markers" column. ✨

ngl the original page says jpegoptim here and we are keeping it exactly as written, bestie. no edits, no notes, that's the vibe. πŸ’–

🌸 Known Application Markers 🌸

currently jpegoptim recognizes the following common application markers found in JPEG images:

  • 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 the image contained any unrecognized application (APP) markers, then UNKNOWN is added to the list of found markers. πŸ‘€

additionally, if the image contained any comment (COM) markers, then COM is added to the list of found markers. πŸ’¬


⭐ EXIT STATUS ⭐

the program returns 0 on a successful run. non-zero exit status is returned if there were any errors. not a slay.

when using the --check (or -c) option, the return value is non-zero if one or more of the files checked had any errors. 🚨


πŸ’– SEE ALSO πŸ’–

jpegoptim(1)


πŸ‘‘ 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/>.


and that's the whole page bestie, we ate and left no crumbs πŸ“πŸ§š

4th Berkeley Distribution Β· 15 Jan 2023 Β· JPEGINFO(1) β€” mwah, love u, go check ur jpegs πŸ’–βœ¨πŸ¦‹