High-performance dynamic image server in Java

Cantaloupe is an open-source dynamic image server for on-demand generation of derivatives of high-resolution source images. With available operations including cropping, scaling, and rotation, it can support deep-zooming image viewers, as well as on-the-fly thumbnail generation. Compliance with the IIIF Image API enables it to work with a growing number of client applications.


  • Get started in minutes. A web server is built right in, or deploy to a container, if you want.
  • One human-friendly configuration file with extensive inline help.


  • Fully conformant to all IIIF Image API versions through 2.1.1.


  • Dynamic, selective image and text watermarking with fine-grained controls.
  • On-the-fly redaction of image regions.
  • Built-in support for HTTPS and HTTP Basic authentication.
  • Supports arbitrary authorization policies for integration into diverse infrastructures, and tiered access to dynamically degraded images.


  • Drive deep-zooming image viewers and create thumbnails for images, PDFs, and videos on-the-fly.
  • Serve images from multiple sources, with different settings, via the same application instance.
  • HTTP methods for common management functions like purging the cache and updating the configuration.


  • Selectable resample filters, sharpening levels, and compression levels to optimize output for speed or quality.


  • Pluggable sources for retrieving images from a variety of places—including filesystems, databases, remote web servers, and cloud storage—with optional scriptable "hooks" to enable dynamic source selection and image lookup.
  • Pluggable processors to support a variety of source image formats—as well as still-frame extraction from videos in a variety of formats.
  • Pluggable caches with customizable strategies and available automatic maintenance.


  • Optimized JPEG2000 and TIFF readers capable of excellent performance with massive images.
  • Available filesystem, database, Redis, in-memory, and cloud storage caches to speed up response times and reduce server load.
  • In-memory image metadata and delegate result caches to boost performance for frequently-accessed resources.

Get Started


Upgrading? Review and in the downloaded file for important info.


Requires Java 8+

Optional components, such as particular processors, may have other dependencies; see the user manual.

Download an Older Version

  1. The distribution archive bundles a sample configuration file, named Make a copy and open it in a text editor.
  2. Set FilesystemSource.BasicLookupStrategy.path_prefix to a folder path containing some images.

From a command prompt:

java -Dcantaloupe.config=/path/to/ -Xmx2g -jar cantaloupe-x.x.x.war

From a command prompt:

java -Dcantaloupe.config=C:\path\to\ -Xmx2g -jar cantaloupe-x.x.x.war

Now, assuming you have an image named image.tif, try accessing:

Get Help

For questions, bug reports, and other issues, please file a GitHub issue. Feature requests and any other feedback are also welcome.