Python Imaging Library

Pillow

Pillow adds powerful image processing capabilities to your Python interpreter — open, edit, and save many different image file formats with a simple, well-documented API.

Pillow logo

Project

Documentation

Our documentation is hosted by Read the Docs and includes installation instructions, handbook, API reference and release notes.

Discussion

Discussion about Pillow development, programming and technical issues occurs on GitHub, Stack Overflow and Gitter.

Source Code

Our source code is hosted by GitHub and tested on GitHub Actions and Codecov, and uploaded to the Python Package Index.

For Enterprise

Sonar logo

Available as part of the Sonar Subscription.

The maintainers of Pillow and thousands of other packages are working with Sonar (formerly Tidelift) to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use.

Learn More

Powering the Python ecosystem

Pillow is a dependency of thousands of packages. Here are a few well-known open source projects that rely on it for image processing.

Django

The Django web framework uses Pillow to validate and introspect uploaded images for its built-in ImageField.

Wagtail

Wagtail, the popular Django-based CMS, depends on Pillow to generate the image renditions and thumbnails used throughout its admin and templates.

Home Assistant

Home Assistant uses Pillow to process camera snapshots and generate thumbnails across its smart home integrations.

Matplotlib

Matplotlib, the widely used plotting library, uses Pillow to read and write image formats such as JPEG when saving figures.

From PIL to Pillow

Pillow is a fork of the Python Imaging Library (PIL), but after more than a decade of active development it has effectively become the Python Imaging Library.

1995

Fredrik Lundh, aka Effbot, releases the Python Imaging Library (PIL).

2010

Jeffrey ‘Alex’ Clark forks the project and renames it to Pillow to add setuptools support. A community of contributors soon joins in.

2013

Development of the original PIL has stopped, with no releases since 2009. Pillow is adopted as its replacement in Linux distributions including Debian and Ubuntu.

2020

Following the PEP 541 package abandonment process, PyPI moderators declare the original PIL package officially abandoned, confirming Pillow as its de facto successor.

Today

Pillow is maintained by a global community of contributors and is a dependency of thousands of Python projects worldwide.

In memory of Fredrik Lundh

Pillow 9.0.0 was dedicated to the memory of Fredrik Lundh, aka Effbot, who died in November 2021. Fredrik created PIL in 1995 and was instrumental in the early success of Python.