A simple CLI tool for web image resizing, using image-rs.
cargo install reimgYou can also download the prebuilt binary from the release page
reimg uses stdin/stdout to read and write image data.
reimg -w 512 -h 512 --cover -f avif < input.jpg > output.avifYou can use reimg as a sub-command in your app. For example, resize and transform images in Bun:
const out = await Bun.$`reimg -w ${512} -h ${512} --cover -f avif < ${Bun.file("input.jpg")}`.quiet()
const res = new Response(out.arrayBuffer(), {
headers: {
"Content-Type": "image/avif"
}
})$ reimg
Usage: reimg [OPTIONS] < input_image_file > output_image_file
Options:
-w, --width <width> Set the width of the output image
-h, --height <height> Set the height of the output image
--fit <fit> Set the fit mode for the resize operation [possible values: cover, contain, scale-down]
--cover Resize the image to fill the given dimensions, cropping if necessary
--contain Resize the image to fit the given dimensions
--scale-down Resize the image to fit the given dimensions, but not larger than the original
-q, --quality <quality> Set the quality of the output image [default: 85]
-f, --format <format> Set the format of the output image [possible values: jpeg, png, webp, avif, ico]
-i, --info Show image metadata
MIT