A Go wrapper for libvips providing lightning-fast image processing and resizing with type-safe bindings.
Govips is a high-performance Go library that wraps the libvips image processing engine, exposing its operations through first-class Go types. It enables developers to build extremely fast and concurrent image processors, making it ideal for web services and applications that require efficient image manipulation. The library is generally 4-8x faster than alternatives like GraphicsMagick and ImageMagick.
Go developers building web services, applications, or tools that require high-performance, concurrent image processing, such as generating thumbnails, converting formats, or applying filters at scale.
Developers choose govips for its exceptional speed, leveraging libvips for processing that is 4-8x faster than GraphicsMagick and ImageMagick, combined with type-safe Go bindings that cover 193+ operations for safety and ease of use in concurrent environments.
A lightning fast image processing and resizing library for Go
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages libvips for processing that is 4-8x faster than GraphicsMagick and ImageMagick, making it ideal for high-throughput web services and concurrent applications.
Auto-generated bindings cover 193+ operations across 9 categories, including resizing, cropping, format conversion, and more, providing extensive image manipulation capabilities.
Smart thumbnail functions like NewThumbnailFromFile decode only necessary pixels, reducing memory usage and speeding up processing for media-heavy applications.
Mutable image methods allow natural chaining of multiple operations, such as thumbnail, sharpen, and export, simplifying complex workflows.
Requires libvips and a C compiler, adding setup complexity and portability issues, especially on Windows where it's not regularly tested.
GLib memory fragmentation in multi-threaded environments necessitates manual tuning, like setting MALLOC_ARENA_MAX or using jemalloc, which can be cumbersome.
Lacks a recommended native setup and is not in CI/CD, making Windows deployments challenging without WSL, as admitted in the README.
govips is an open-source alternative to the following products: