jpegtran

Perform lossless transformation of JPEG files.

TLDR

Mirror an image horizontally or vertically

$ jpegtran -flip [horizontal|vertical] [path/to/image.jpg] > [path/to/output.jpg]
copy

Rotate an image 90, 180 or 270 degrees clockwise

$ jpegtran -rotate [90|180|270] [path/to/image.jpg] > [path/to/output.jpg]
copy

Transpose the image across the upper left to lower right axis

$ jpegtran -transpose [path/to/image.jpg] > [path/to/output.jpg]
copy

Transverse the image across the upper right to lower left axis

$ jpegtran -transverse [path/to/image.jpg] > [path/to/output.jpg]
copy

Convert the image to grayscale

$ jpegtran -grayscale [path/to/image.jpg] > [path/to/output.jpg]
copy

Crop the image to a rectangular region of width W and height H from the upper left corner, saving the output to a specific file

$ jpegtran -crop [W]x[H] -outfile [path/to/output.jpg] [path/to/image.jpg]
copy

Crop the image to a rectangular region of width W and height H, starting at point X and Y from the upper left corner

$ jpegtran -crop [W]x[H]+[X]+[Y] [path/to/image.jpg] > [path/to/output.jpg]
copy

Copied to clipboard
free 100$ digital ocean credit