How to create a thumbnail in pillow

share link

by vsasikalabe dot icon Updated: Aug 29, 2023

technology logo
technology logo

Solution Kit Solution Kit  

PIL is the Python Imaging Library. It provides interpreters with image editing options. The Image module creates a class with the same name. The PIL image builder uses it.  


This module also makes many factory functions. This functions to load images from files and to create new images. Image.thumbnail() Make our Image into a thumbnail. This method changes the Image to contain a thumbnail version. This is no larger than the given size. This manipulates an appropriate thumbnail size to preserve the Image's aspect. It calls the draft() method to configure the file reader. Finally, resize the Image.   


Import the Python Image Library (Pillow or PIL) to our Project. It has many rich features for programmatic image processing. The thumbnail method takes an image, width, and height. Display the outputs with the Image scaled and centered to fit on the tile without cropping. It will support image file formats such as PNG, JPEG, PPM, GIF, TIFF, and BMP. 


We can open and display an image using the Python Pillow module. Import the Image module by installing it and open the Image as follows. The ImageDraw module is a simple-to-use API for working with 2D graphics. This also takes a two-integer tuple argument. It represents the maximum width and maximum height of the thumbnail.   


We use the convert function to convert the sample image from RGB to L (luminance) mode. This will result in a grayscale image. The method takes a box tuple. It defines the position and size of the cropped region. It returns an object representing the cropped Image. Then, we use a tuple. It represents the width and height of the output image as an argument containing the new size. People use the Pillow library to convert images between different pixels. 


RGBA images also have an alpha value. It contains information about the transparency of each pixel. An Image object loaded with the Image Saves it to a new file. The Pillow checks if the file extension is PNG. So, it converts it to PNG before saving it to a file. With this library, we can edit images in many ways. We can crop, resize, add text, rotate, and grayscale them. Three numbers denote each pixel in a color image. It corresponds to that pixel's red, green, and blue values.  

Preview of the output that you will get on running this code from your IDE.


In this solution, we used the Pillow library.


Follow the steps carefully to get the output easily.

  1. Download and Install the PyCharm Community Edition on your computer.
  2. Open the terminal and install the required libraries with the following commands.
  3. Install Pillow - pip install Pillow.
  4. Create a new Python file on your IDE.
  5. Copy the snippet using the 'copy' button and paste it into your python file.
  6. Write your image path in line no 2.
  7. Write at the end of the code.
  8. Run the current file to generate the output.

I hope you found this useful. I have added the link to dependent libraries, and version information in the following sections.

I found this code snippet by searching for ' Python - Pillow thumbnail creation error' in Kandi. You can try any such use case!

Environment Tested

I tested this solution in the following versions. Be mindful of changes when working with other versions.

  1. The solution is created in PyCharm 2022.3.
  2. The solution is tested on Python 3.11.1
  3. Pillow version- 10.0.0

Using this solution, we are able to create a thumbnail in a pillow with simple steps. This process also facilitates an easy-way-to use, hassle-free method to create a hands-on working version of code which would help us to create a thumbnail in pillow.

Dependent Libraries

Pillowby python-pillow

Python doticonstar image 10903 doticonVersion:9.5.0doticon
License: Others (Non-SPDX)

Python Imaging Library (Fork)


            Pillowby python-pillow

            Python doticon star image 10903 doticonVersion:9.5.0doticon License: Others (Non-SPDX)

            Python Imaging Library (Fork)

                      If you do not have the Pillow library that is required to run this code, you can install it by clicking on the above link.

                      You can search for any dependent library on Kandi like Pillow.


                      1. For any support on kandi solution kits, please use the chat
                      2. For further learning resources, visit the Open Weaver Community learning page.


                      1. How can we use the Python Image Library to process images?   

                      PIL is a Python Imaging Library (open-source library) for image processing. It requires Python programming language. PIL can do tasks on an image, such as reading, rescaling, and saving in different image formats.  


                      You can also use PIL for Image archives, processing, and display. The library has basic image-processing functionality. It includes point operations, filtering, and color space conversions.   


                      2. How do I import an image using the Image module in PIL?   

                      We import the image module from the pillow to load the Image. We call the, passing the image filename. Instead of calling the Pillow module, we may call the PIL module. It is to make it backward compatible with an older Python Imaging Library (PIL) module.   


                      3. What is a thumbnail size for images, and why is it important?   

                      The YouTube thumbnail size is 1280 × 720 pixels. The aspect ratio is 16:9, which is great for visibility on screens and devices. The width of our thumbnail should be at least 640 pixels. Anything less than that might result in low image quality.   


                      4. How does changing an image's aspect ratio affect its appearance?   

                      Suppose a rendered image has an aspect ratio. That's different from the aspect ratio in its source file (the natural aspect ratio). The rendered Image may look distorted. It is creating an unpleasant user experience.   


                      5. What are the most commonly used image file formats for thumbnail work?   

                      Common image formats are on the web: JPEG, PNG, WebP, SVG, and GIF. 

                      See similar Kits and Libraries