ImageSharp

A modern, fully featured, fully managed, cross-platform, 2D graphics library for .NET.

Boost your projects with ImageSharp, the ultimate image processing tool for the modern .NET development stack. Its powerful, agile, and user-friendly features accelerate your workflow, ensuring seamless integration and top-notch performance.

Install anywhere

Fully Managed Code: With no native dependencies or interop code, ImageSharp simplifies your development process and can be installed anywhere that supports .NET 6+, ImageSharp can be used in device, cloud, and embedded/IoT scenarios.

PM > Install-Package SixLabors.ImageSharp

An API for everyone

ImageSharp's API is unparalleled for it's ease of use. Designed from the ground up to be flexible and extensible, the library provides API endpoints for common image processing operations and the building blocks to allow for the development of additional operations.

using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;

using Image image = Image.Load("original.jpg");
image.Mutate(x => x.Resize(image.Width / 2, image.Height / 2));
image.Save("result.jpg");

A powerful feature set

ImageSharp is brimming with features. Common operations are only a few keystrokes away.

  • Complete support for jpeg, bmp, gif, pbm, png, tga, tiff, webp, and qoi with more formats on the way.
  • Supports over 25 different pixel formats.
  • Metadata editing support (IPTC EXIF, XMP).
  • Colorspace transforms (RGB/CMYK/Grayscale/CIELab and many more).
  • Over 40 common processing operations.
  • Great performance and memory friendly; work with any dimensions (even hundreds of megapixels)
using SixLabors.ImageSharp.Formats.Gif;
using SixLabors.ImageSharp.Metadata;

using Image image = await Image.LoadAsync("original.gif");
foreach (ImageFrame frame in image.Frames)
{
  GifFrameMetadata metaData = frame.Metadata.GetGifMetadata();
  metaData.FrameDelay = 42;
  metaData.DisposalMethod = GifDisposalMethod.RestoreToBackground;
}

await image.SaveAsync("result.gif");