resize - Pure golang image resizing

  •        144

Image resizing for the Go programming language with common interpolation methods.Which of these methods gives the best results depends on your use case.



Related Projects

bimg - Small Go package for fast high-level image processing powered by libvips C library

Small Go package for fast high-level image processing using libvips via C bindings, providing a simple, elegant and fluent programmatic API.bimg was designed to be a small and efficient library supporting a common set of image operations such as crop, resize, rotate, zoom or watermark. It can read JPEG, PNG, WEBP natively, and optionally TIFF, PDF, GIF and SVG formats if libvips@8.3+ is compiled with proper library bindings.

imaging - Simple Go image processing package

Package imaging provides basic image manipulation functions (resize, rotate, flip, crop, etc.). This package is based on the standard Go image package and works best along with it.Image manipulation functions provided by the package take any image type that implements image.Image interface as an input, and return a new image of *image.NRGBA type (32bit RGBA colors, not premultiplied by alpha).

imaginary - Fast, simple, stateless HTTP microservice for high-level image processing with first-class support for Docker & Heroku

Fast HTTP microservice written in Go for high-level image processing backed by bimg and libvips. imaginary can be used as private or public HTTP service for massive image processing with first-class support for Docker & Heroku. It's almost dependency-free and only uses net/http native package without additional abstractions for better performance.Supports multiple image operations exposed as a simple HTTP API, with additional optional features such as API token authorization, gzip compression, HTTP traffic throttle strategy and CORS support for web clients.

bild - A collection of parallel image processing algorithms in pure Go

A collection of parallel image processing algorithms in pure Go.The aim of this project is simplicity in use and development over high performance, but most algorithms are designed to be efficient and make use of parallelism when available. It is based on standard Go packages to reduce dependency use and development abstractions.

picfit - An image resizing server written in Go

picfit is a reusable Go server to manipulate (resize, thumbnail, etc.) images built on top of gin.It will act as a proxy of your storage engine and will be served ideally behind an http cache system like varnish.


GraphicsMagick is the swiss army knife of image processing. It provides a robust and efficient collection of tools and libraries which support reading, writing, and manipulating an image in over 88 major formats including important formats like DPX, GIF, JPEG, JPEG-2000, PNG, PDF, PNM, and TIFF.


ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (over 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.

gift - Go Image Filtering Toolkit

Package gift provides a set of useful image processing filters.Pure Go. No external dependencies outside of the Go standard library.

ImageFlow: image processing activity library for Windows Workflow v4

This is an activity library for Windows Workflow Foundation v4 which allows a developer to build image processing worklows in an very easy way. Some of the available acitivities: resize, crop, watermark, brightness, contrast, etc.

Flyimg - Microservice to resize and crop images on the fly

Image resizing, cropping and compression on the fly with the impressive MozJPEG compression algorithm. One Docker container to build your own Cloudinary-like service.You pass the image URL and a set of keys with options, like size or compression. Flyimg will fetch the image, convert it, store it, cache it and serve it. The next time the request comes, it will serve the cached version.

geopattern - Create beautiful generative image patterns from a string in golang.

Create beautiful generative image patterns from a string in golang.Go port of Jason Long's awesome GeoPattern library.

Scrimage - Scala image processing library

Scrimage is a consistent, idiomatic, and immutable scala library for manipulating and processing of images. The aim of the this library is to provide a quick and easy way to do the kinds of image operations that are most common, such as scaling, rotating, converting between formats and applying filters. It is not intended to provide functionality that might be required by a more "serious" image processing application - such as face recognition or movement tracking.

Magick.NET - The .NET library for ImageMagick

ImageMagick is a powerful image manipulation library that supports over 100 major file formats (not including sub-formats). With Magick.NET you can use ImageMagick in your C#/VB.NET/.NET Core application without having to install ImageMagick on your server or desktop.For examples on how to install and use Magick.NET visit the documentation page. For more information about ImageMagick go to:

ruby-vips - Ruby extension for the libvips image processing library.

This gem provides a Ruby binding for the libvips image processing library. Programs that use ruby-vips don't manipulate images directly, instead they create pipelines of image processing operations building on a source image. When the end of the pipe is connected to a destination, the whole pipeline executes at once, streaming the image in parallel from source to destination a section at a time.

svgo - Go Language Library for SVG generation

The library generates SVG as defined by the Scalable Vector Graphics 1.1 Specification ( Output goes to the specified io.Writer.

ln - 3D line art engine.

ln is a vector-based 3D renderer written in Go. It is used to produce 2D vector graphics (think SVGs) depicting 3D scenes.The output of an OpenGL pipeline is a rastered image. The output of ln is a set of 2D vector paths.


The Orfeo Toolbox is a C++ library for high resolution remote sensing image processing. It is developped by CNES in the frame of the ORFEO program. More information is available at It is based on the medical image processing library ITK and offers particular functionalities for remote sensing image processing in general and for high spatial resolution images in particular. Targeted algorithms for high resolution optical images (SPOT, Quickbird, Worldview, Landsat, Iko

gg - Go Graphics - 2D rendering in Go with a simple API.

gg is a library for rendering 2D graphics in pure Go.There are lots of examples included. They're mostly for testing the code, but they're good for learning, too.

Thumbnailator - A thumbnail generation library for Java

Thumbnailator is a thumbnail generation library for Java. Learning how to use the Image I/O API, Java 2D API, image processing, image scaling techniques etc is fairly difficult task. Thumbnailator will take care of all those things for you. Thumbnailator is a single JAR file with no dependencies to external libraries, making development and deployment simple and easy. It also provides support to watermark, rotate, fluent API.