easy-thumbnails
Easy thumbnails for Django
What it is and what it does
Easy Thumbnails is a Django application that automates image thumbnail generation and caching. It wraps pillow to handle resizing, cropping, and quality adjustment of images stored in Django file fields or uploaded through forms. The package supports predefined thumbnail aliases in settings, allowing templates and Python code to reference thumbnails by name rather than repeating size and crop parameters. It also includes a ThumbnailerImageField for model integration and experimental support for SVG thumbnailing via a PIL-compatible emulation layer.
The package is designed to reduce boilerplate in Django projects that need multiple thumbnail sizes of the same image. Thumbnails are cached after generation, avoiding repeated processing. Recent versions added support for animated formats and improved ICC profile preservation, making it suitable for photography and media-heavy applications.
Use it for:
- Generate user avatar thumbnails at fixed sizes in Django user profile systems
- Create multiple thumbnail sizes for product images in e-commerce applications
- Cache and serve responsive image variants for different page layouts
- Preserve SVG images while providing thumbnail metadata for template rendering
- Manage thumbnail cleanup and regeneration via Django management commands
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Generates and manages thumbnail images for Django applications, supporting multiple formats with configurable cropping, scaling, and quality options.
Yes. Easy Thumbnails is actively maintained, supports current Django and Python versions, has no known vulnerabilities, and solves a common Django problem with low install friction. The permissive BSD license poses no restrictions. Install it if you need thumbnail generation in a Django project and want to avoid writing custom image-processing logic.
Install
easy-thumbnails on PyPI
pip
pip install easy-thumbnailsuv
uv add easy-thumbnailspoetry
poetry add easy-thumbnailsInstalling easy-thumbnails
Before you install
Low friction installation as a pure Python wheel. Actively maintained with recent Django 5.2 support added in version 2.10.1 (2025-08-17). Repository shows 1410 stars and recent commits.
License in practice
Licensed under BSD (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
pip install easy-thumbnails
# Add to Django INSTALLED_APPS, then run: manage.py migrate easy_thumbnails
from easy_thumbnails.files import get_thumbnailer
options = {'size': (50, 50), 'crop': True}
thumb_url = get_thumbnailer(image_file).get_thumbnail(options).url
Requires Django 4.2+ and Python 3.9+. Pillow is a runtime dependency for image processing.
Verify before relying
- Whether SVG support via the [svg] extra is production-ready beyond the stated 'experimental' status
- Performance characteristics when processing large batches of images or very large source files
- Compatibility with all Django storage backends beyond the documented 4.2 storages support
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — django, pillow |
| Maintenance | actively maintained — 362 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 526,181/month — #6,180 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: easy_thumbnails-2.10.1-py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
django-imagekitAutomated image processing for Django…
permissive · top 15,000 on PyPI
sorl-thumbnailGenerates and caches image thumbnails for…
permissive · top 15,000 on PyPI
django-versatileimagefieldExtends Django's ImageField with flexible image…
permissive · top 15,000 on PyPI
pyobjc-framework-QuickLookThumbnailingProvides Python bindings to macOS's…
permissive · top 15,000 on PyPI
libthumborlibthumbor generates encrypted URLs for the…
permissive · top 15,000 on PyPI
django-picklingSpeeds up Django model pickling by 2-3 times…
permissive · top 15,000 on PyPI
django-qr-codeGenerates QR codes as embedded SVG or PNG…
permissive · top 15,000 on PyPI
exifRead, modify, and write EXIF metadata in image…
permissive · top 15,000 on PyPI
sphinxcontrib-imagesA Sphinx extension that replaces standard image…
permissive · top 15,000 on PyPI
cloudinaryCloudinary Python SDK provides image and video…
permissive · top 5,000 on PyPI