Skip to content

thumbor

An HTTP server that crops, resizes and filters images on demand via URL parameters.

Stars
10.5k
Forks
861
Licence
MIT
Language
Python
Last update
4 days ago
Type
App

What it is

thumbor is an image service you run yourself. You request an image through a URL that describes the size and edits you want, and it returns the transformed picture on the fly. It can detect faces and features to pick a sensible crop, and it supports many storage backends such as local disk and AWS S3. Websites use it to serve correctly sized images without storing every variant.

  • Generate a 300x200 smart-cropped thumbnail by changing the URL path
  • Serve resized product or article images from an S3 bucket
  • Run thumbor in Docker to provide image transformations to a website
  • Add custom filters or loaders through its extension points

Great for

  • Web teams that need many image sizes generated on demand
  • Sites serving user uploads in multiple thumbnail sizes
  • Developers who want image resizing hosted on their own infrastructure
  • Projects that store images in S3 or similar storage

Not ideal for

  • People who only need to resize a few images once (a desktop image editor is simpler)
  • Teams that do not want to run and secure a server themselves
  • Anyone needing a fully managed hosted service, since the README describes a self-hosted server
Step-by-step guide: how to use thumborInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Python (version not specified in the README excerpt) · pip, or Docker if using the container image

    Install with pip

    pip install thumbor

    Run the Docker image

    docker run -p 8888:8888 ghcr.io/thumbor/thumbor:latest
  2. 2

    Run it

    • Install thumbor with pip or start the Docker image
    • Run the thumbor command to start the server
    • Open http://localhost:8888/unsafe/ followed by an image URL in your browser
    • If something fails, run thumbor-doctor to diagnose the setup
  3. 3

    Get the most out of it

    • Use a thumbor.conf file to configure storage and behavior
    • Use smart cropping by including the smart keyword in the URL path
    • Explore awesome-thumbor for filters, storages and loaders
    • Use thumbor-doctor with -c thumbor.conf when troubleshooting

Downloads

Strengths

  • Transforms are described in the URL, so one original image can yield many variants
  • Supports many storage options and common image formats per the README
  • Open-source under the MIT license with an active project and a large star count

Trade-offs

  • You must install, host and maintain the server yourself
  • Smart cropping relies on detection features whose quality and setup the README does not detail
  • Some optional features depend on extra installs such as OpenCV

How it compares

ProjectStarsTypeLevelUpdatedBest for
thumbor (this)10.5kAppintermediate4 days agoWeb teams that need many image sizes generated on demand
SDWebImage25.6kLibraryintermediate7 months agoiOS or macOS app developers who need to show remote images in lists or grids
blind_watermark14.8kLibraryintermediate8 months agoPython developers who want to add a hidden ownership or tracing mark to images
traefik65.4kAppintermediate4 days agoTeams running many microservices in Docker, Swarm, or Kubernetes
full-stack-fastapi-template46.1kFrameworkintermediate4 days agoDevelopers starting a new full-stack web app with a Python backend and React frontend
FlareSolverr16.1kAppintermediate12 days agoDevelopers whose scripts are blocked by Cloudflare challenges on pages they are allowed to access

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.