Python Imaging Library

Library for the Python programming language


title: "Python Imaging Library" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["graphics-libraries", "python-(programming-language)-libraries"] description: "Library for the Python programming language" topic_path: "general/graphics-libraries" source: "https://en.wikipedia.org/wiki/Python_Imaging_Library" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0

::summary Library for the Python programming language ::

::data[format=table title="Infobox software"]

FieldValue
namePython Imaging Library
authorFredrik Lundh
developerSecret Labs AB
released
latest release version1.1.7
latest release date
latest preview version1.2a0
latest preview date
frequently updated
programming languagePython, C
genreLibrary for image processing
licenseHistorical Permission Notice and Disclaimer
website
::

| name = Python Imaging Library | logo = | screenshot = | caption = | collapsible = | author = Fredrik Lundh | developer = Secret Labs AB | released = | latest release version = 1.1.7 | latest release date = | latest preview version = 1.2a0 | latest preview date = | frequently updated = | programming language = Python, C | operating system = | platform = | size = | language = | status = | genre = Library for image processing | license = Historical Permission Notice and Disclaimer | website =

| name = Pillow | logo = | screenshot = | caption = | collapsible = | author = Jeffrey A. Clark (Alex) | developer = | released = | latest release version = 11.1.0 | latest release date = | frequently updated = | programming language = Python, C | operating system = | platform = | size = | language = | status = | genre = Library for image processing | license = Historical Permission Notice and Disclaimer | website =

Python Imaging Library is a free and open-source additional library for the Python programming language that adds support for opening, manipulating, and saving many different image file formats. It is available for Windows, Mac OS X and Linux. The latest version of PIL is 1.1.7, was released in September 2009 and supports Python 1.5.2–2.7.

Development of the original project, known as PIL, was discontinued in 2011. Subsequently, a successor project named Pillow forked the PIL repository and added Python 3.x support. This fork has been adopted as a replacement for the original PIL in Linux distributions including Debian and Ubuntu (since 13.04).

Capabilities

PIL offers several standard procedures for image manipulation. These include:

  • per-pixel manipulations,
  • masking and transparency handling,
  • image filtering, such as blurring, contouring, smoothing, or edge finding,
  • image enhancing, such as sharpening, adjusting brightness, contrast or color,
  • adding text

File formats

Supported file formats include PPM, PNG, JPEG, GIF, TIFF, and BMP. PIL is extensible, allowing users to create custom decoders for any file format.

Programming examples

::code[lang=python] import os from PIL import Image

def convert_jpegs_to_pngs(folder_path): # Checks if the provided path is a folder if not os.path.isdir(folder_path): print(f"Error: {folder_path} is not a valid folder.") return

# Iterates over all files in the folder
for filename in os.listdir(folder_path):
    # Checks if the file has a .jpg or .jpeg extension
    if filename.lower().endswith(".jpg") or filename.lower().endswith(".jpeg"):
        # Full path of the file
        jpeg_path = os.path.join(folder_path, filename)
        # Path for the converted file
        png_path = os.path.join(folder_path, os.path.splitext(filename)[0] + ".png")

        try:
            # Opens the JPEG image
            with Image.open(jpeg_path) as img:
                # Converts and saves as PNG
                img.save(png_path, "PNG")
                print(f"Converted {jpeg_path} to {png_path}")
        except Exception as e:
            print(f"Error converting {jpeg_path}: {e}")

::

References

References

  1. "Python Imaging Library".
  2. "effbot / pil-2009-raclette".
  3. "Software License".
  4. "Release Notes".
  5. "Pillow: a modern fork of PIL".
  6. "Details of package python-imaging in sid". [[Software in the Public Interest]].
  7. "Details of package python-imaging in raring". [[Canonical Ltd.]].
  8. "PyAccess Module".
  9. "ImageFilter Module".
  10. "ImageColor Module".
  11. "D. Writing Your Own File Decoder". Effbot.org.

::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::

graphics-librariespython-(programming-language)-libraries