🌱 The next big step: Kirby 4 Beta Learn more
Skip to content

CloudConvert

Plugin to convert your files to other file types (i.e. mov to animated gif), using cloudconvert.com

Related plugins

Heroicons

by Adam Kiss

Plugin that provides heroicons as snippets to embed, customisable with a class argument.

ImageOptim

by Bruno Meilick

Thumb component to optimize images using the ImageOptim Api

Imgix

by diesdas.digital

If this plugin gets activated, it will serve all images via imgix.

Convert JPG and PNG to WEBP

by Felix Häberle

This plugin converts JPG, JPEG and PNG into much smaller WEBP – speed up your website!

Tiles

by hana+nils

Tiles is a plugin to serve basic vector map tiles (.mbtiles). The plugin provides routes for styles, tilejson and vector tiles that can be …

WebP

by Hash&Salt

A snippet and Kirby tag for using WebP images in templates and within textareas. This plugin will convert uploaded files to WebP on the …

Blurry Placeholder

by Johann Schopplich

Blurry image placeholders and progressive image loading for better UX

Autofavicon

by Thomas Günther

Automatically generates an SVG favicon
return [
    'medienbaecker.autoresize' => [
        'maxWidth' => 2000,
        'maxHeight' => 2000,
        'quality' => 90
    ]
];

Autoresize

by Thomas Günther

Automatically resize images on upload

Autofocus

by Sylvain Julé

Content aware image cropping

BlurHash

by Tobias Möritz

Optimized image placeholders with the BlurHash algorithm

ImageMagick Extended

by Tobias Möritz

Extend Kirby's built-in ImageMagick driver, work better with GIFs and APNGs

ThumbHash

by Tobias Möritz

Smarter image placeholders with the ThumbHash algorithm – supports transparency!
return [
  'werbschaft.uploadExtended' => [
    'rename'            => true,
    'excludeCharacters' => ['_','__'],
    'tinyPng'           => true,
  ]
];

Upload Extended

by Werbschaft

More options when uploading files like name changes, resizing via Kirby or compression and optional resizing via TinyPNG.

Other plugins by Bruno Meilick

Kirby::plugin('bnomei/example', [
    'blueprints' => autoloader(__DIR__)
                      ->blueprints(),
    'snippets' => autoloader(__DIR__)
                      ->snippets(),
    // other extensions
]);

Autoloader

by Bruno Meilick

Helper to automatically load various Kirby extensions in a plugin
'bnomei.boost.cache' => [
    'type'     => 'apcu',
],
'cache' => [
    'uuid' => [
        'type' => 'apcu',
    ],
],

Boost

by Bruno Meilick

Boost the speed of Kirby by having content files of pages cached and a fast lookup based on uuids
$mostPopularPage = $kirbyCollection
    ->sortBy('viewcount')->last()
    ->viewcount()->toInt();

// with collect plugin    
$mostPopularPage = $kirbyCollection
    ->collect()->max('content.viewcount');

Collect

by Bruno Meilick

Adds support for Laravel collections to Kirby
return [
    'bnomei.securityheaders.headers' => [
        'X-Frame-Options'        => 'SAMEORIGIN',
        'X-XSS-Protection'       => '1; mode=block',
        'X-Content-Type-Options' => 'nosniff',
        ...
    ]
];

Content Security Policy

by Bruno Meilick

Simplify the content security policy headers setup for your website
env('APP_DEBUG');

DotEnv

by Bruno Meilick

Store project credentials and environment variables in a .env file and access them in Kirby
page('blog')->children()->feed([
    'title'       => 'Latest articles',
    'link'        => 'blog'
]);

Feed and Sitemap

by Bruno Meilick

Generate a RSS or JSON-Feed or XML-Sitemap from a collection of pages
<?= $page->thumbsUp()->ecco('👍', '👎') ?>

Field Ecco

by Bruno Meilick

Field method to echo strings based on the boolean value of a field
$page->file('ukulele.pdf')->fingerprint();

Fingerprint

by Bruno Meilick

File method and css/js helpers to add hashes to assets and files

Fontselector

by Bruno Meilick

Select font family and font weight with two synced fields
<article id="{{ page.slug }}">
  <h2>{{ page.title }}</h2>
  {{ page.text }}
</article>

Handlebars Templates

by Bruno Meilick

Component, snippet and page method for semantic templates with Handlebars and Mustache
<html <?= $site->langAttr() ?>>
  <head>
    <meta charset="utf-8">
    <?= $page->htmlhead() ?>
  </head>
  ...

HTMLHead

by Bruno Meilick

Add a best-practice HTML head element to your templates, extendable with snippets
<?= $page->myfield()->htmlPurify() ?>

HTML Purifier

by Bruno Meilick

Static class method, Uniform-Guard and Field-Method to filter your "dirty" HTML inputs to "clean" HTML.

ImageOptim

by Bruno Meilick

Thumb component to optimize images using the ImageOptim Api

Janitor

by Bruno Meilick

Run command – like cleaning the cache – from within the Panel via a customizable button, directly in PHP code or with a cronjob
$key  = crc32($page->url());
$data = lapse($key, function () {
    return [1, 2, 3];
});

Lapse

by Bruno Meilick

Cache any data until the set expiration time

Mailjet

by Bruno Meilick

Send transactional SMS, transactional E-Mail and Campaigns with Mailjet
<?php if ($page->isMobile()): ?>
  Nice mobile phone!
<?php endif ?>

Mobile Detect

by Bruno Meilick

Static class and page methods for using the mobile detect lib
monolog()->info('test-' . time()), [
    'title' => $page->title(),
    'page'  => $page->id()
]);

Monolog

by Bruno Meilick

Use Monolog to log data to files, databases, notifications and more.

MySQL Cache Driver

by Bruno Meilick

MySQL based Cache-Driver
<?= $page->counterImage() ?>

Pageview Counter

by Bruno Meilick

Track Page view count and last visited timestamp

PHP Cache Driver

by Bruno Meilick

PHP based Cache-Driver
plop blueprint $ pages blogpost
plop template $ blogpost
plop content "Nice!" blog blogpost
plop content _ blog blogpost
plop snippet $ slideshow

Plopfile

by Bruno Meilick

CLI tool to generate and append to various files for Kirby3 CMS using Plop.js

Posthog

by Bruno Meilick

Connect Kirby to Posthog via PHP or Javascript

Postmark

by Bruno Meilick

Send transactional E-Mail with Postmark
fields:
  # current page
  qrcode: qrcode

QR Code

by Bruno Meilick

Generate QRCodes. The included Panel field will show the QRCode and trigger download on click.
<?= $page->random('words', 'lorem', 5) ?>

Random

by Bruno Meilick

Kirby tag and page method to generate various random values

Recently Modified

by Bruno Meilick

Kirby 3 Plugin to view recently modified pages by current User (or other collections)
sections:
  redirects:
    extends: plugin-redirects3xx

Redirects

by Bruno Meilick

Setup HTTP status code redirects from within the Panel

Redis Cache Driver

by Bruno Meilick

Redis based Cache-Driver
return [
    'bnomei.robots-txt' => [
        'content' => '...'
    ]
];

Robots.txt

by Bruno Meilick

Manage the robots.txt from Kirby's config file

Seobility – Keyword check

by Bruno Meilick

Plugin to use the free and paid API of Seobility.net like the keyword check

SQLite Cache Driver

by Bruno Meilick

SQLite based Cache-Driver
site()->stopwatch()->start('myevent');
// some code to profile
site()->stopwatch()->stop('myevent');

echo site()->stopwatch()->duration('myevent');

Stopwatch

by Bruno Meilick

Profile your Kirby 3 CMS code with precision in milliseconds (or seconds).

Storybook

by Bruno Meilick

Generate Storybook stories from snippets and templates

UTM Tracking

by Bruno Meilick

Automatically track events from URLs with UTM parameters and view statistics about them right in the panel.