Image thumbnails
Kirby's built-in thumb creator lets you resize and crop any image on the fly in your templates. You can not only resize and crop images from the content folder, but also from the assets folder directly.
With Kirby's Thumbnail API, thumbs are generated asynchronously. This makes thumb creation feel a lot faster and creates less memory issues, which could easily become an issue with many images or when creating many different images sizes to serve responsive images.
A new set of plugin extensions can be used to hook into the thumbnail API or the thumbnail URLs, see core components.
In a default setup, thumbnails are stored in the /media
folder.
The thumb()
method
With the thumb method, you can perform multiple image manipulations at once: resizing, cropping, changing the image format, converting to grayscale, and blurring. If you wanted to do everything at once, the code would look like this:
In the Reference: $file->thumb()
Shortcut methods
Most of the time, you don't want to use all options though. On top, the thumb method is quite verbose. Luckily, Kirby comes with a set of shortcuts methods: resize()
, crop()
, grayscale()
, and blur()
. Additionally, you can define default settings in your config file. But one step after the other.
Here are some examples for using the shortcut methods, more details with all options in the Reference:
Resizing images
In the Reference: $file->resize()
Cropping images
In the Reference: $file->crop()
Blur
The blur
method applies a blur filter to an image. You can modify the intensity of the blur effect by passing an integer. The default value is 10.
In the Reference: $file->blur()
Grayscale
The grayscale method converts an image to grayscale.
In the Reference: $file->grayscale()
Configuring your thumbnails
Options for thumbnails are set with the thumbs
key in Kirby's configuration:
In the Reference: All thumbs options
Presets
You can define option presets for thumbs in your config.php
:
Then you can use these presets e.g. in your templates:
Responsive images
You can use Kirby's $image->srcset()
method to easily create the srcset
attribute for responsive images. Learn more ›
Check out our cookbook recipe Responsive images to learn more.
Image formats
You can use the format
option to convert an existing JPEG, GIF or PNG into a WebP or AVIF file with the thumb()
method.
The format option can also be used in srcset definitions.
Be aware that not all browsers support the new formats yet.
Responsive images
With Kirby's thumb engine, you can resize, crop and otherwise manipulate images. Here are the links to relevant resources: