Github Actions Status Coverage Status Latest Version

A drop-in replacement for django’s ImageField that provides a flexible, intuitive and easily-extensible interface for creating new images from the one assigned to the field.

Click here for a quick overview of what it is, how it works and whether or not it’s the right fit for your project.


  • Python:
    • 3.6
    • 3.7
    • 3.8
    • 3.9
  • Django:
    • 2.0.x
    • 2.1.x
    • 2.2.x
    • 3.0.x
    • 3.1.x
    • 3.2.x

NOTE: Python 3.6 does not have support for Django <= 1.x.

NOTE: The 1.4 release dropped support for Django 1.5.x & 1.6.x.

NOTE: The 1.7 release dropped support for Django 1.7.x.

NOTE: The 2.1 release dropped support for Django 1.9.x.


Full documentation available at Read the Docs.


django-versatileimagefield is hosted on github.

Running Tests

If you’re running tests on Mac OSX you’ll need libmagic installed. The recommended way to do this is with homebrew:

$ brew install libmagic

Note: Some systems may also be necessary to install the non-python Pillow build dependencies.

You’ll also need tox:

$ pip install tox

To run the entire django-versatileimagefield test matrix, that is, run all tests on all supported combination of versions of python, django and djangorestframework:

$ tox

If you just want to run tests against a specific tox environment first, run this command to list all available environments:

$ tox -l

Then run this command, substituting {tox-env} with the environment you want to test:

$ tox -e {tox-env}