django-imagekit
Automated image processing for Django models.
Decision gist · record as of 2026-08-14
Yes. django-imagekit is a mature, actively maintained package (production-stable, recent commits, 2349 GitHub stars) with low install friction and no known vulnerabilities. It solves a common Django problem—automated image processing—cleanly and declaratively. The BSD license is permissive. Install it if you need to generate derived images from user uploads or other sources in a Django project.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Pillow to be installed separately for image processing; Django and a configured image storage backend are prerequisites.
- Low install friction with only two runtime dependencies (django-appconf and pilkit).
- Active maintenance with recent commits and a stable production status.
License · maintenance · safety
BSD (permissive) — BSD license permits commercial and private use with minimal restrictions—no copyleft obligations or patent clauses to navigate.
last release 2026-02-22 (173 days) · last repo commit 2026-07-12 · 2,349 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 521,390 downloads/mo, #6,207 on PyPI
Alternatives
Verify before relying
pip install django-imagekit
from django.db import models
from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill
class Profile(models.Model):
avatar = models.ImageField(upload_to='avatars')
avatar_thumbnail = ImageSpecField(
source='avatar',
processors=[ResizeToFill(100, 50)],
format='JPEG',
options={'quality': 60}
)
profile = Profile.objects.first()
print(profile.avatar_thumbnail.url)- Whether generated images are cached or regenerated on each access
- Storage backend options beyond the default file system
- Performance characteristics with large image volumes or concurrent processing
What it is and what it does
django-imagekit is a Django app that automates image processing by letting you define image transformations declaratively on your models. Instead of manually resizing, cropping, or converting images in views or signals, you specify what you want—a thumbnail, a black-and-white version, a resized copy—using image specs, and ImageKit generates and serves them on demand. It works by attaching ImageSpecField or ProcessedImageField to your Django models, each backed by a set of processors (resize, crop, format conversion, etc.) that transform a source image into a derived one.
The package comes with built-in processors for common tasks like resizing and cropping, and you can write custom processors for specialized transformations. Image specs can be defined on models for automatic generation, used directly in views for programmatic control, or registered and invoked from templates. The generated images are typically cached so repeated requests don't re-process the source. It depends on pilkit for the actual image manipulation and django-appconf for Django settings integration.
Use it for
- Generate and serve user avatar thumbnails automatically when a profile image is uploaded.
- Create multiple derived image sizes (mobile, tablet, desktop) from a single source upload.
- Convert uploaded images to a standard format or quality level without storing the original.
- Build image galleries that display resized previews without manual pre-processing.
- Apply consistent image transformations (crop, rotate, filter) across a Django app from template tags.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
django-imagekit is a mature, actively maintained package (production-stable, recent commits, 2349 GitHub stars) with low install friction and no known vulnerabilities. It solves a common Django problem—automated image processing—cleanly and declaratively. The BSD license is permissive. Install it if you need to generate derived images from user uploads or other sources in a Django project.
Install
django-imagekit on PyPI
Before you install
Low install friction with only two runtime dependencies (django-appconf and pilkit). Active maintenance with recent commits and a stable production status.
Requires Pillow to be installed separately for image processing; Django and a configured image storage backend are prerequisites.
License in practice
BSD license permits commercial and private use with minimal restrictions—no copyleft obligations or patent clauses to navigate.
Quickstart
pip install django-imagekit
from django.db import models
from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill
class Profile(models.Model):
avatar = models.ImageField(upload_to='avatars')
avatar_thumbnail = ImageSpecField(
source='avatar',
processors=[ResizeToFill(100, 50)],
format='JPEG',
options={'quality': 60}
)
profile = Profile.objects.first()
print(profile.avatar_thumbnail.url)
Verify before relying
- Whether generated images are cached or regenerated on each access
- Storage backend options beyond the default file system
- Performance characteristics with large image volumes or concurrent processing
Package facts
| License | BSD permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesdjango-appconfpilkit |
| Maintenance | Actively maintained 173 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 521,390 / month, #6,207 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: DjangoIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Utilities |
Evidence: django_imagekit-6.1.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “django image processing”
- django-imagekitAutomated image processing for Django models—generates thumbnails,…
- django-versatileimagefieldExtends Django's ImageField with flexible image variant generation,…
- sorl-thumbnailGenerates and caches image thumbnails for Django applications, with…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also easy-thumbnails · imagekitio · sorl-thumbnail · pilkit · django-versatileimagefield · django-cloudinary-storage · python-resize-image · libthumbor · django-cleanup · ExifRead