bimg is a Go image-processing library that exposes high-level operations through the fast libvips C library. It is designed to minimize memory use while processing images efficiently in production applications. Developers can resize, crop, rotate, zoom, watermark, convert, and manipulate image metadata through a compact API. JPEG, PNG, and WebP are supported natively, while properly configured libvips builds add formats such as TIFF, PDF, GIF, SVG, and AVIF. Transparent conversion between supported output formats is also available. The library was inspired by the Node.js package sharp and serves as the processing engine behind Imaginary. It is best suited to Go services that need direct programmatic image manipulation without running a separate HTTP server.
Features
- Fast libvips-powered image processing
- Resize, crop, rotate, zoom, and watermark tools
- JPEG, PNG, WebP, and AVIF support
- Image format conversion with transparency
- Metadata inspection and manipulation
- Compact Go API for production services