is there any lightweight command line batch image cropping tool(Linux or Windows) which can handle a variety of the formats ?
-
Is there anything else about your system you'd like to tell us? for example, which OS? – pavium Dec 12 '09 at 12:20
-
Either Linux or Windows.I have both on my little netbook – iceman Dec 12 '09 at 12:22
8 Answers
In Linux you can use
mogrify -crop {Width}x{Height}+{X}+{Y} +repage image.png
for CLI image manipulation
-
2homebrew makes short work of this in Mac OS X also. `brew install imagemagick` Then to see your new goodies... `ls -lrt /usr/local/bin/` – Bruno Bronosky Jul 17 '12 at 06:18
-
Note that this doesn't _actually_ crop the image _data_, it only blanks the area sorrounding the cropping rectangle and writes the new dimensions+offsets into image metadata, but the 'physical' dimensions of the image will not be changed. Because of this, this method doesn't work well with GIFs for example. – kralyk Aug 30 '13 at 01:48
-
5P.S. to _actually_ crop the image in the sense in which this operation is commonly understood, use the `+repage` argument along with the crop operator. – kralyk Aug 30 '13 at 01:51
-
2Additionally: trying this I got very confused, until I figured out that the image was actually rotated and the image viewer autorotated it upright. (The right orientation is contained in metadata/exif data I think.) To fix this, I used this: `mogrify -alpha on -auto-orient *.jpg` – Luc Sep 04 '15 at 18:30
-
2
-
3NOTE that `mogrify` will overwrite the image, while `convert` will write to a new one – Ciprian Tomoiagă Mar 17 '17 at 17:44
Imagemagick's convert does the trick for me (and much more than cropping):
convert -crop +100+10 in.jpg out.jpg
crops 100 pixels off the left border, 10 pixels from the top.
convert -crop -100+0 in.jpg out.jpg
crops 100 pixels off the right, and so on. The Imagemagick website knows more:

- 805
- 6
- 7
-
8Worth mentioning that ImageMagick's `convert` also offers autocrop/autocropping, throug the `-trim` option. – Skippy le Grand Gourou Nov 20 '15 at 10:16
-
`-trim` is terrific! It cuts out all the white margins automatically. – Yan King Yin Aug 17 '18 at 14:49
Imagemagick is what you want -- tried and true.

- 6,557
- 2
- 28
- 41
-
4Thought I would share this, I tried pasting the link in MSN messenger to a friend and no matter what it seems it's on a blacklist of MSN. I had to make tinyurl in order to share it. Strange. – ScottN Jul 09 '13 at 23:23
-
6
-
1Haha, well, I use Pidgin and it still uses the protocol that MSN had, I believe. Strange the domain would be blocked though. – ScottN Jul 10 '13 at 18:40
-
4This answer doesn't mention any concrete reason for why they would want it nor how to specifically use it for cropping. – metarmask Oct 15 '17 at 15:38
for f in final/**/*;
do
convert -crop 950x654+0+660 "$f" "${f%.jpg}".jpg
done
This script loops through all the sub-folders and crops the .jpg files.

- 61
- 1
- 3
macOS has sips
image processing tool integrated. Cropping functions available are:
-c, --cropToHeightWidth pixelsH pixelsW
--cropOffset offsetY offsetH

- 1,108
- 9
- 14
Easy with sips: just set the offset to start the cropping:
sips --cropOffset 1 1 -c <height> <width> -o output.png input.png

- 21
- 1
I have scanned some pages and all ~130 pages needs the lower ~1/8 of the page cut off.
Using mogrify
didn't work for me,
a@a-NC210-NC110:/media/a/LG/AC/Learn/Math/Calculus/Workshop/clockwise/aa$ mogrify -quality 100 -crop 2592×1850+0+0 *.jpg
mogrify.im6: invalid argument for option `2592×1850+0+0': -crop @ error/mogrify.c/MogrifyImageCommand/4232.
However convert
did:
a@a-NC210-NC110:~/Pictures/aa$ convert '*.jpg[2596x1825+0+0]' letter%01d.jpg
a@a-NC210-NC110:~/Pictures/aa$
I learnt this here under the Inline Image Crop section.
Notice my syntax: I had to put my geometry in brackets: []
.
Using the successful syntax above but with mogrify simply didn't work, producing:
a@a-NC210-NC110:~/Pictures/aa$ mogrify '*.jpg[2596x1825+0+0]' letter%01d.jpg
mogrify.im6: unable to open image `letter%01d.jpg': No such file or directory @ error/blob.c/OpenBlob/2638.
Linux a-NC210-NC110 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 i686 i686 GNU/Linux
Lubuntu 14.04 LTS