# coobird/thumbnailator

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/coobird-thumbnailator).**

5,420 stars · 797 forks · Java · MIT

## Links

- GitHub: https://github.com/coobird/thumbnailator
- awesome-repositories: https://awesome-repositories.com/repository/coobird-thumbnailator.md

## Topics

`fluent-interface` `image-processing` `image-resizer` `java` `thumbnails`

## Description

Thumbnailator is a Java image thumbnailing library designed for generating resized images with aspect ratio preservation and high-quality scaling. It serves as a toolkit for rotating, cropping, and adjusting the opacity of images within Java applications.

The library is distinguished by its ability to function as an Exif-aware image processor, automatically rotating thumbnails based on embedded orientation metadata. It also provides specialized utilities for digital watermarking, allowing secondary images and branding markers to be overlaid with adjustable transparency.

Core capabilities cover a broad range of image processing tasks, including focal point cropping, dimension resizing, and the addition of image borders. The project also handles the export of processed images to files or streams using configurable naming schemes and compression settings.

## Tags

### Graphics & Multimedia

- [Dimension Resizing](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-processing/dimension-resizing.md) — Provides core capabilities for adjusting pixel dimensions of images to create smaller versions. ([source](https://github.com/coobird/thumbnailator/wiki/Examples))
- [Thumbnail Generators](https://awesome-repositories.com/f/graphics-multimedia/thumbnail-generators.md) — Provides a comprehensive library for generating high-quality image thumbnails with aspect ratio preservation.
- [EXIF Metadata Handling](https://awesome-repositories.com/f/graphics-multimedia/exif-metadata-handling.md) — Automatically reads and applies Exif orientation metadata to ensure images are rotated correctly.
- [Orientation Corrections](https://awesome-repositories.com/f/graphics-multimedia/exif-metadata-handling/orientation-corrections.md) — Automatically corrects image orientation by reading the Exif orientation tag.
- [Image Manipulation Toolkits](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-editors/image-manipulation-toolkits.md) — Provides a versatile toolkit for rotating, cropping, and adjusting image opacity in Java.
- [Image Scaling](https://awesome-repositories.com/f/graphics-multimedia/image-output-configurations/image-scaling.md) — Resizes images using width, height constraints, and scaling factors to meet specific size requirements. ([source](https://github.com/coobird/thumbnailator/wiki/Changes))
- [Java Image Processing Libraries](https://awesome-repositories.com/f/graphics-multimedia/java-image-processing-libraries.md) — Provides a specialized toolkit for image rotation, cropping, and resizing within Java applications.
- [Thumbnailing Libraries](https://awesome-repositories.com/f/graphics-multimedia/thumbnailing-libraries.md) — Provides a high-quality Java library specifically for generating aspect-ratio preserved thumbnails.
- [Orientation-Aware Resizers](https://awesome-repositories.com/f/graphics-multimedia/exif-metadata-handling/orientation-aware-resizers.md) — Functions as an orientation-aware resizer that uses Exif metadata to correct image rotation.
- [Image Rotation](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/coordinate-viewport-transformations/affine-transformation-matrices/image-geometric-transformations/image-rotation.md) — Provides functionality to turn images clockwise by specified degrees during processing. ([source](https://github.com/coobird/thumbnailator/wiki/Examples))
- [Image Layer Compositing](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/tile-map-renderers/raster-and-vector-tile-renderers/layer-based-composition/image-layer-compositing.md) — Implements a layering system to overlay watermarks and borders onto the primary image.
- [Image Cropping Tools](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-editors/image-cropping-tools.md) — Extracts specific source regions or crops resized results to maintain the correct aspect ratio. ([source](https://github.com/coobird/thumbnailator/wiki/Changes))
- [Focal Point Cropping](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-editors/image-cropping-tools/focal-point-cropping.md) — Extracts image portions based on a focal point to fit dimensions without distorting the aspect ratio. ([source](https://github.com/coobird/thumbnailator/wiki/Examples))
- [Interpolation Scaling Strategies](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-editors/image-cropping-tools/random-crop-and-flip-augmentations/multi-strategy-resizing/interpolation-scaling-strategies.md) — Offers configurable scaling strategies to optimize the balance between image quality and performance.
- [Scaling Strategies](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-processing/dimension-resizing/scaling-strategies.md) — Allows selection of specific scaling strategies based on dimensions to optimize visual quality. ([source](https://github.com/coobird/thumbnailator/wiki/Changes))
- [In-Memory Image Buffers](https://awesome-repositories.com/f/graphics-multimedia/in-memory-image-buffers.md) — Performs all image processing and filtering operations directly using Java in-memory image buffers.

### User Interface & Experience

- [Image Watermark Overlays](https://awesome-repositories.com/f/user-interface-experience/content-rendering-components/image-overlays/media-watermarking-tools/image-watermark-overlays.md) — Allows overlaying secondary images and branding markers as watermarks with adjustable transparency.
- [Aspect Ratio Preserving Resizing](https://awesome-repositories.com/f/user-interface-experience/resizable-panes/dimension-controllers/minimum-dimension-calculators/image-bounding-boxes/aspect-ratio-preserving-resizing.md) — Provides high-quality resizing of images to fit specific dimensions while maintaining the original aspect ratio.

### Development Tools & Productivity

- [Batch Image Processors](https://awesome-repositories.com/f/development-tools-productivity/batch-image-processors.md) — Enables automated programmatic workflows for applying rotations, borders, and opacity changes to collections of images.

### Software Engineering & Architecture

- [Fluent Configuration APIs](https://awesome-repositories.com/f/software-engineering-architecture/fluent-configuration-apis.md) — Uses a fluent API builder pattern to declaratively configure image transformation parameters.

### Part of an Awesome List

- [Imagery and Video](https://awesome-repositories.com/f/awesome-lists/media/imagery-and-video.md) — Fluent interface for efficient thumbnail processing.
