phpThumb()

The PHP thumbnail creator

SourceForge Logo
Donate to phpThumb()
download changelog project page demo links pTCL support

phpThumb() uses the GD library to create thumbnails from images (JPEG, PNG, GIF, BMP, etc) on the fly. The output size is configurable (can be larger or smaller than the source), and the source may be the entire image or only a portion of the original image. True color and resampling is used if GD v2.0+ is available, otherwise paletted-color and nearest-neighbour resizing is used. ImageMagick is used wherever possible for speed. Basic functionality is available even if GD functions are not installed (as long as ImageMagick is installed). One demo file uses portions of Javascript API by James Austin.

System Requirements:
Your website hosting provider must support:
  • PHP (v4.0.6 is bare minimum; v4.3.3 recommended; v5.0.0+ adds some additional filtering capabilities).
  • PHP GD library, ideally the bundled version that comes with PHP v4.3.0 or higher. Partially optional if ImageMagick is available.
  • ImageMagick. Partially optional if PHP-GD is available.

Supported source image formats:
  • JPEG (via GD or ImageMagick)
  • PNG (via GD or ImageMagick)
  • GIF (via GD, ImageMagick, or phpthumb.gif.php)
  • BMP (via ImageMagick or phpthumb.bmp.php)
  • any image format ImageMagick can read
Supported output image formats:
  • JPEG (via GD or ImageMagick)
  • PNG (via GD or ImageMagick)
  • GIF (via GD or ImageMagick)
  • BMP (via ImageMagick or phpthumb.bmp.php)
  • ICO (via ImageMagick or phpthumb.ico.php)
Image processing features:
  • Source image can be a physical file on the local server, remote file over HTTP, or can be retrieved from a database.
  • GIFs are supported on all versions of GD (even if GD does not have native GIF support) thanks to the GIF Util class by Fabien Ezber, or by ImageMagick.
  • BMP source images can be used even if ImageMagick is not available.
  • ImageMagick (if available) can be called to generate thumbnails for source images larger than PHP's memory limitation would allow a GD-only thumbnailer to do, or for image formats that GD does not support.
  • phpThumb's basic features will work even if the server has no GD support, as long as ImageMagick is installed
  • HTTP thumbnail creation can be limited to the current (or other list of) domain to prevent other sites from using your server to create their thumbnails.
  • Linking to thumbnails from another domain can be prevented or watermarked.
  • Thumbnails can be cached for less server load. Mulitple sizes of any source image can be cached seperately. Thumbnails are automatically updated when (local) source image is modified.
  • Embedded EXIF thumbnails (if available) can be extracted as-is, or used as the source image for thumbnailing if the real source image would take more memory than PHP has available.
  • Images can be rotated, either by an arbitary angle or auto-rotated to either portrait or landscape.
  • Images can be cropped, either by a specified number of pixels or by a percentage of original image.
  • Output is antialiased into the alpha channel where appropriate when PNG output is selected.
  • Quality can be auto-adjusted to fit a certain output byte size.
  • A number of filters can be applied (most require GD v2.0+ and/or PHP v4.3+, or ImageMagick):
    • A watermark image or text can be applied over the thumbnail in one of 10 positions or tiled.
    • A border or frame can be applied.
    • Thumbnails can be a fixed dimension regardless of source aspect ratio and background filled with configurable color. Border corners can optionally be rounded (independant horizontal & vertical radius)
    • Unsharp Mask sharpening can be applied thanks to Torstein Hønsi's phpUnsharpMask function.
    • Other filters:
      • Alpha channel mask from mask file
      • Auto Contrast / Levels
      • Bevel edge
      • Blur
      • Brightness
      • Colorize to target color by amount
      • Contrast
      • Drop shadow
      • Edge Detect
      • Flip Horizontal / Vertical
      • Gamma
      • Grayscale
      • Mean Removal
      • Negative color
      • Reduce Color Depth
      • Rounded Corners
      • Saturation
      • Sepia
      • Smooth
      • Threshold
      • White Balance
See the demo page for examples.

Download phpThumb()

Download current development version from Github
Previous archived releases:
Latest version: 1.7.15-202004301145 (released Apr 30, 2020)
HTTP (Github) | HTTP (SourceForge) | .torrent | torrent (magnet) | ed2k



Browse the source files and documentation files at https://github.com/JamesHeinrich/phpThumb/



phpThumb() front-ends, add-ons and similar

Want your project listed here? - [email protected]



Licensed pTCL (phpThumb Commercial License) users

This is the official list of licensed phpThumb Commercial Licensees: Use of phpThumb by anyone not in the above list must abide by the terms of the GNU Public License (GPL). You can report any suspected violations to [email protected].

Purchase a phpThumb Commercial License (pTCL)