For an image processing library for Go, the first results are esimov/caire (Caire is a specialized Go-based image processing engine that provides advanced content-aware resizing and manipulation capabilities, making it a powerful tool for specific transformation tasks despite its focus on seam carving rather than general-purpose drawing primitives), disintegration/imaging (This library provides a comprehensive suite of native Go functions for common image manipulation tasks like resizing, cropping, and color adjustment, making it a high-performance choice for image processing workflows) and fogleman/gg (This library provides a robust set of drawing primitives and vector-to-raster rendering capabilities, making it a suitable tool for programmatic image generation and manipulation tasks in Go). anthonynsimon/bild and nfnt/resize round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
We curate open-source GitHub repositories matching “best go image processing libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Caire is a command-line image processing engine designed for content-aware resizing and batch manipulation. It utilizes seam carving algorithms to adjust image dimensions by identifying and removing low-energy pixels, allowing for the rescaling of images while preserving primary visual subjects and maintaining aspect ratios. The tool distinguishes itself through its ability to protect specific visual elements, such as human faces, from distortion during the resizing process. Users can apply custom binary masks to define regions for protection or forced removal, and the engine provides real-ti
Caire is a specialized Go-based image processing engine that provides advanced content-aware resizing and manipulation capabilities, making it a powerful tool for specific transformation tasks despite its focus on seam carving rather than general-purpose drawing primitives.
Imaging is a Go library for image processing that provides a set of functions for common image manipulation tasks. It offers capabilities for adjusting image colors, applying convolution filters, blurring, cropping, resizing, sharpening, and correcting orientation based on EXIF data. The library supports resizing images to exact dimensions or bounding boxes with aspect ratio preservation and configurable resampling filters. Color adjustments include gamma, contrast, brightness, and saturation controls, while blurring and sharpening use Gaussian-based algorithms with configurable sigma paramet
This library provides a comprehensive suite of native Go functions for common image manipulation tasks like resizing, cropping, and color adjustment, making it a high-performance choice for image processing workflows.
gg is a Go 2D graphics library and vector graphics engine designed for programmatic image generation. It provides a canvas rendering API to create custom 2D shapes, paths, and visual assets, which can be exported as PNG and JPG files. The toolkit enables the construction of complex geometry using Bezier curves and custom paths. It supports a variety of rendering operations, including filling and stroking paths, applying linear and radial gradients, and utilizing surface patterns. The library covers a broad range of capabilities, including text rendering with word wrapping and dimension measu
This library provides a robust set of drawing primitives and vector-to-raster rendering capabilities, making it a suitable tool for programmatic image generation and manipulation tasks in Go.
Bild is an image processing library implemented in the Go programming language. It provides a collection of algorithmic engines for image manipulation, including a convolution kernel engine for filtering, an image blending tool for layer composition, and a procedural noise generator for creating synthetic textures. The project is distinguished by its procedural generation capabilities, implementing Perlin, Gaussian, binary, and uniform noise algorithms to produce random pixel distributions and organic patterns. It also features a command-line interface that allows users to apply visual effect
Bild is a comprehensive image processing library written in native Go that provides a wide range of transformation, filtering, and composition tools, making it a direct fit for your image manipulation needs.
Pure golang image resizing
This library provides high-performance, pure Go image resizing and interpolation, serving as a specialized tool for a core image processing task.
This library provides high-performance image processing by acting as a Go wrapper for the libvips C library, offering extensive format support and efficient transformation capabilities.
2D rendering for different output (raster, pdf, svg)
This library provides 2D vector graphics rendering and drawing primitives for Go, making it a suitable tool for image generation and transformation tasks despite its focus on vector-based output.
nomacs is a cross-platform image viewer application used for viewing and managing a wide variety of standard and specialized image file formats. It functions as an image processing utility, a metadata inspector, and an annotation tool. The application enables side-by-side image comparison by synchronizing zooming and panning across multiple open windows. It also provides the ability to browse and view images embedded within compressed archives or document files without manual extraction. The software includes capabilities for image metadata analysis using histograms, the addition of visual m
This is a standalone cross-platform image viewer application written in C++ rather than a Go library for programmatic image processing and manipulation.
QOI is a lossless image codec and encoding standard designed for high-speed compression and decompression of raw pixel data. It provides a toolkit for translating raw image buffers into a compact format and back into pixel representations without any loss of quality. The implementation focuses on fast image encoding and decoding, enabling the rapid conversion of compressed image data back into raw pixels. It also supports image format conversion to ensure compatibility across different software systems and hardware.
This repository provides a high-performance codec for image compression and decompression, but it is a specialized format implementation rather than a general-purpose image processing library for transformation and drawing.
ImageGlass is a lightweight image viewer and editor designed for Windows environments. It provides a unified interface for displaying a wide range of file types, including raw camera files, vector graphics, and web formats, while offering tools for basic image transformation and metadata inspection. The application distinguishes itself through deep integration with the host operating system, including the ability to synchronize its internal viewing order with the file explorer's sorting state. It supports complex media by providing playback controls for multi-frame and animated files, allowin
This is a standalone Windows image viewer application rather than a Go library for developers to integrate into their own image processing workflows.
uCrop is an Android library designed for cropping, rotating, and scaling images within mobile applications. It provides a reusable interface component that allows users to manipulate photos through touch gestures, enabling precise control over visual composition and aspect ratios. The library distinguishes itself by offering extensive customization of the editing interface, allowing developers to adjust colors, frame shapes, and widget visibility to align with specific application design languages. It handles image processing tasks by managing quality, compression formats, and output dimensio
This is an Android-specific UI component for image cropping and manipulation, rather than a general-purpose Go library for image processing tasks.
Libvips is a C-based image processing library designed to manipulate large visual assets through a low-memory, parallel processing pipeline. It functions as a streaming image processor that avoids loading entire files into system memory, enabling the handling of massive images in resource-constrained environments. The library distinguishes itself through a demand-driven architecture that constructs a deferred execution plan, computing only the necessary pixels for a final output. By utilizing a cache-friendly tiled processing model and memory-mapped file access, it minimizes latency and redun
This is a high-performance C-based image processing engine rather than a native Go library, meaning it requires CGO bindings to be used within a Go project.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| esimov/caire | 10.5K | Go | mit | |
| disintegration/imaging | 5.7K | Go | MIT | |
| fogleman/gg |
| 4.8K |
| Go |
| MIT |
| anthonynsimon/bild | 4.2K | Go | MIT |
| nfnt/resize | 3K | Go | ISC |
| davidbyttow/govips | 1.5K | Go | mit |
| llgcode/draw2d | 1.2K | Go | BSD-2-Clause |
| nomacs/nomacs | 2.8K | C++ | gpl-3.0 |
| phoboslab/qoi | 7.5K | C | MIT |
| d2phap/imageglass | 12.2K | C# | other |