trez
A fast image resizer
T-REZ: an image resizer in Go built for speed
A Go image resizer that strips metadata like IPTC, EXIF, and ColorSync profiles in exchange for throughput, with a stated benchmark of over a thousand images per second.
A resizer that trades metadata for speed
T-REZ keeps image quality while being built for speed, which is the whole design brief. To get there it strips out image information such as IPTC, EXIF, and ColorSync profiles. The README is careful to call the benchmark illustrative, and notes the code is derived from a production version that processes more than 1000 images per second on a single machine. The trade is explicit: some metadata and a bit of quality go away to raise throughput.
Native dependencies
Building from source needs a few native libraries. OpenCV is required, along with libjpeg with jpeg turbo suggested, and libpng is optional if you want to read png files. The Go package leans on these for the actual image processing.
The resizing options
The feature list stays small. There is a fit resize algorithm, a fill resize algorithm, background color support, gravity in the case of fit, and a JPEG quality setting that defaults to 95. That set covers the common scaling cases without making the API bigger than it needs to be.
The license
The README includes a permissive license text granting permission to use, copy, modify, and distribute the software and its documentation. The notice has to stay in all copies, and the software is provided as is, without warranty of any kind.
Editorial conclusion
The interesting part of T-REZ is the honesty about the tradeoff. Most resizer docs lead with quality. This one leads with speed, admits it strips metadata, and labels its benchmark as illustrative. For batch resizing, that is the right priority.
Community notes