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

All plugins

ABT

by Hash&Salt

This plugin lets you serve a subpage to page A as if it was page A, to 50% of the visitors.

Accordion Field

by oweb studio · Paid

Collapses the content below headlines in Panel for Kirby 3.

Algolia DocSearch

by Johann Schopplich

Index and search your Kirby site with Algolia DocSearch

Annotator

by Sylvain Julé

Add interactive areas to mark people, cooking ingredients, technical details or any other interesting parts of an image.
(arena: tim-duvendack/aesthetics-1483967740)

Are.na Tag

by Tim Duvendack

Embed Are.na channels in your text with the (arena: …) Kirbytag

Autofavicon

by Thomas Günther

Automatically generates an SVG favicon

Autofocus

by Sylvain Julé

Content aware image cropping
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
autopublish:
  label: Autopublish on
  type: date
  time: true
  default: now
autounpublish:
  label: Automatically unpublish on
  type: date
  time: true

Autopublish

by Bart Vandeputte

Schedule automatic publishing of pages (drafts) on a certain date & time
return [
    'medienbaecker.autoresize' => [
        'maxWidth' => 2000,
        'maxHeight' => 2000,
        'quality' => 90
    ]
];

Autoresize

by Thomas Günther

Automatically resize images on upload

AWS CloudFront invalidations

by Liftric GmbH

Kirby plugin which triggers AWS CloudFront invalidations automatically.
(badge: licence MIT)

Badges

by David Somers

Add GitHub-style badges to your site with the (badge: …) Kirbytag

Better REST

by Robin Scholz

Exposes the internal REST API at /rest with the option to convert Kirbytags to HTML and add a srcset to images in the process. Intended to …
$pages->bettersearch($string, $options)

Better Search

by Bart Vandeputte

Search for full word combinations rather than just individual words.

Blade Templates

by Lukas Leitsch

Use Laravel Blade templates for your Kirby site

Block Preview Fields

by JUNO

A block preview that directly displays the block fields, including tabs.

BlurHash

by Tobias Möritz

Optimized image placeholders with the BlurHash algorithm

Blurry Placeholder

by Johann Schopplich

Blurry image placeholders and progressive image loading for better UX
'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

Bouncer

by Sylvain Julé

Restrict access of a user role to a specific page (and its children) in the Panel.
<?= $page->author()->byline() ?>

Byline

by David Somers

Field methods to create plain or linked bylines from single or multiple authors
return [
  'schnti.cachebuster.active' => true
];

Cachebuster

by Timo Schneider

Add modification timestamps to your css and js files, as long as they are embedded with the css() and js() helpers.
<kb:date format="d/m/Y" field="date" />

Carver

by Hash&Salt

Write custom HTML tags, powered by PHP
return [
  'flupe.kirby-cas' => [
    'host'    => 'cas.ens-lyon.fr',
    'context' => '/cas'
  ]
];

CAS

by Lucas Escot

Allowing user login using an external CAS. It adds a new button under the panel login form to connect through CAS.
foreach ($page->fruits()->toChoices() as $fruit) {
    echo $fruit;
}

Choices

by hana+nils

Choices is a plugin that provides methods to manage field options in the frontend. For any field – like select, multiselect or checkboxlist …
<?= $page->text()->chopper(20) ?>

Chopper

by Hash&Salt

Create excerpts from fields and define the HTML tags you wish to keep

Chunky

by DGTL.ONE

Using Kirby Chunky, you can easily bypass the upload limits of your server or proxy and provide fast, secure, large, and resumable uploads …

Clear Cache

by oweb studio

Clean temporary files and folders such as cache, media, .lock and .logins on your website.

Clear Cloudflare Cache

by Markus Denhoff

Automatically purge Cloudflare cached URLs
- kirby install
- kirby install:kit
- kirby install:repo
- kirby make:blueprint
- kirby make:collection
- kirby make:command

CLI

by Kirby Team

The Kirby command line interface helps to simplify common tasks with your Kirby installations.

CloudConvert

by Bruno Meilick

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

CodePen Tag

by Sonja Broda

Embed CodePens in your text with the (codepen: …) Kirbytag
$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

Color Extractor

by Sylvain Julé

Extract the dominant / average color from any image

Color Palette Field

by Sylvain Julé

A color palette field, helping you pick predefined colors / palettes

Colors

by hana+nils

Colors is a field that allows the selection of a color using the native color selector. Colors can be viewed and edited in either HEX, RGB …

Column Block

by Microman

Use columns in block fields based on the layout field! Supports Paste and Drag&Drop!

Commentions

by Sebastian Greger

A minimalistic comment/webmention system

Components

by Microman · Paid

No more switching between snippets and blueprints folders. Bring them to a common place and keep the overview.

Consent Gate

by fendinger

This plugin blocks the loading of content from external sources. The content is only loaded if a consent is accepted (GDPR compliant). The …
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

Contentsync

by Zephir Software Design AG

Tired of manual and cumbersome methods like git push/pull, scp, rsync or sftp to synchronize content between your server and local …

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!
<?php snippet('cookie') ?>

Cookie Approval

by Timo Schneider

Add a cookie approval banner to your templates

Cookieconsent

by Zephir Software Design AG

Integrates the orestbida/cookieconsent JS plugin into Kirby 3. Comes with two pre-configured types (simple / customizable) to get you …
<?php snippet('cookie-modal', [
    'assets'      => true,
    'showOnFirst' => true,
    'features'    => [...],
]) ?>

Cookie Consent Modal

by Michael Scheurich

A customizable cookie consent modal for Kirby3.

Custom Add Fields

by Steirico

This plugin allows to define the fields shown on Kirby's page add dialog in the corresponding page's blueprint.

Date Extended

by Uwe Gehring

Plugin to provide two additional date fields which will store the creation date and the modication date as a Unix Epoch. A field method is …

Date format field

by Matthias Müller

A date field that uses the format DD.MM.YYYY
$page
  ->date()
  ->toDateTime()
  ->modify('+1 month')
  ->format('Y-m-d');

Date Methods

by hana+nils

Date Methods is a plugin that allows for advanced date and time parsing and formatting using PHP's core date objects. It offers methods for …

Debug Bar

by Vincent Riva

PHP Debug Bar for KirbyCMS
<?php snippet('detect-adblock') ?>

Detect Adblock

by oweb studio

Detect ad blockers and manage the warning messages that will be displayed for Kirby 3.
env('APP_DEBUG');

DotEnv

by Bruno Meilick

Store project credentials and environment variables in a .env file and access them in Kirby

Downloads Block

by Lukas Bestle

Embed a list of downloads from a central storage page with filters and search
(download: flyer.pdf text: our beautiful products)

Download Tag

by Jannik Beyerstedt

Kirbytag to generate beautiful download links for a specific file

Embed

by Sylvain Julé

Display embeds from various media sites (YouTube, Vimeo, Soundcloud, Instagram, etc.) by only providing the url to the medium

Enhanced Toolbar Link Dialog

by gearsdigital

Extend Kirby's default link dialog with a search functionality to create links to existing or external pages right at your fingertips.

Entity Field

by Oblik Studio

Allows you to add other fields to it with the intention of scoping them. It works like a Structure with one entry but with much cleaner UI.
\Beebmx\KirbyEnv::load('main/path');

return [
    'debug'  => env('KIRBY_DEBUG', false),
    'secret' => env('SECRET_KEY'),
    'public' => env('PUBLIC_KEY'),
];

Env

by Fernando Gutiérrez

Store project credentials and variables in a .env file and access them in Kirby

Event Calendar

by Martin Zurowietz

A plugin for the Kirby CMS to easily implement an event calendar.
<?php snippet('fathom') ?>

Fathom

by Tim Duvendack

Add the Fathom tracking code to your site

Fathom Analytics

by Paul Morel

Integrates the privacy first website analytics Fathom Analytics dashboard to the panel and provides the tracking code for your templates.
assets/favicon/favicon.png

Favicon

by Moritz Ebeling

Favicon with minimal setup
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
$url  = 'https://getkirby.com/kosmos.rss';
$feed = new FeedReader($url);

dump($feed->articles());

FeedReader

by Uwe Gehring

Plugin to show feeds. The FeedReader plugin provides an unified access to the elements of a feed. A feed might be of type RSS, Atom or JSON …
return [
  'omz13.feeds.cacheTTL' => 60,
  'omz13.feeds.firehose' => 'articles',
];

Feeds

by David Somers

Provides feeds in the most popular formats (RSS, Atom & JSON), generated from a collection of e.g. blog articles or press releases.
<?= $page->thumbsUp()->ecco('👍', '👎') ?>

Field Ecco

by Bruno Meilick

Field method to echo strings based on the boolean value of a field

Fields Block

by Jon Gacnik

Kirby block preview plugin to directly render block fields, allowing for inline editing.

FilesDisplay Section

by Sonja Broda

Display files from anywhere in your site in a section. This section only displays files, you cannot sort them manually or upload new files.
$page->file('ukulele.pdf')->fingerprint();

Fingerprint

by Bruno Meilick

File method and css/js helpers to add hashes to assets and files
href="styles.db5796ea5bf2.css"

Fingerprint

by Bart Vandeputte

Cache-busting utility to fingerprint assets

Focus

by Flo Kosiol

Set the focus point of an image to prevent the relevant parts from being cropped

Fontselector

by Bruno Meilick

Select font family and font weight with two synced fields
[^This is a footnote.]

Footnotes

by Sylvain Julé

This plugin extends Kirby 3 with some basic, extremely easy and unopinionated footnote functionalities.
$form = new Form([
    'name' => [
        'rules'   => ['required'],
        'message' => ['Name is required']
    ],
]);

Form

by Martin Zurowietz

A helper library for working with forms, using the Post/Redirect/Get design pattern

Form Block Suite

by Microman · Paid

This form plugin for Kirby offers you maximum flexibility and usability. It can be used as a block where needed. Even multiple times per …
<div class="field">
    <?= label('Name', 'name') ?>
    <?= input('text', 'name') ?>
</div>

Forms

by Hash&Salt

A small plugin for creating HTML forms more easily.
<?= __('Welcome to my site') ?>
<?= __('label.name') ?>
<?= __('Copyright {{year}}', ['year' => '2022']) ?>

Fragments

by Sam Serrien

Small string/translation helper for fragments 'laravel/blade' style. Supports translating fragments (e.g. static labels) on site or page …
$point = Geo::point(49.4883333, 8.4647222);

echo $point->lat();
echo $point->lng();

GEO

by Kirby Team

This plugin adds basic geo search and conversion functionalities to Kirby
<?= $file->id3('artist') ?>

Gilmour

by Hash&Salt

Read ID3 tags from audio files and use it in your templates.

Git

by Oblik Studio

Kirby plugin for updating content in the Panel via Git

Git Content

by Markus Denhoff

Automatic commit and push of content changes made via the Panel to a git repository

Goat Counter

by Adam Kiss

Simple plugin providing Goat Counter iframe panel view and a simple frontend snippet.

Google Calendar

by Benedikt Engel

Display your Google Calendar entries as list on your website

Google Translate

by oweb studio · Paid

Google Translate integration for Kirby 3.

Grid Block

by Microman

With this plugin you can use layouts right within any blocks field!
<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
<?= js('assets/js/main.js') ?>

<!-- will become -->
<script src="/assets/js/main.9ad649fd.js"></script>

Hashed Assets

by Johann Schopplich

File name hashes support for css() and js() helpers. Without rewrite rules!
# /site/config/config.php
return [
    'headless' => [
        'token' => 'test'
    ]
];

Headless

by Johann Schopplich

Kirby, but headless only – KQL with bearer token, Express-esque middlewares & more
thumbs/image.jpg
      ?width=640
      &height=640
      &crop=true

Headless Image Transformations

by Moritz Ebeling

Kirby plugin for headless thumbnail transformations

Heroicons

by Adam Kiss

Plugin that provides heroicons as snippets to embed, customisable with a class argument.
fields:
  example:
    label: Paste code here
    type: blocks
    fieldsets:
      - code

Highlighter

by Johann Schopplich

Server-side syntax highlighting for the Kirby code block & KirbyText
fields:
  homelanding:
    label: Home Override
    type: select
    options: query
    query: site.children.visible

HoneHome

by David Somers

Handle homepage redirection
<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.

Icon Field

by Tobias Möritz

A simple Icon field for Kirby - throw your Icon pack in a folder, add the field to your blueprints and you're good to go.
use Beebmx\KirbyDB\DB;

DB::table('users')->get();

Illuminate Database

by Fernando Gutiérrez

Use Laravel's illuminate/database package in Kirby

Illustrated Checkboxes

by Sylvain Julé

Add images to your checkbox options in this field, to provide an intuitive selection interface for your editors

Illustrated Radios

by Sylvain Julé

Combine images with radio buttons in this field, to provide an intuitive selection interface for your editors

Image Clip

by Matthias Müller

Visually crop images with a handy image editor directly inside the panel

Image Editor Field

by oweb studio · Paid

Full-featured photo image editor using canvas for Kirby 3. It is really easy, and it comes with great filters.

ImageMagick Extended

by Tobias Möritz

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

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.

IndieConnector

by Maurice Renck

IndieConnector receives and sends Webmentions. It can also post to Mastodon when a new page is published and act like a ActivityPub …

Instagram

by Sam Serrien

Plugin to help you show your own instagram feed on your website. Works with test users, no app approval needed!

Instagram Feed

by oweb studio · Paid

Instagram feed on your Kirby website!

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
<?= $page->myfield()->inherit() ?>

Kirby Inherit

by Microman

If the current field is empty or does not exist, it gets the same field from the parent pages. It goes all the way to the site.
kirbylog('Something happened', 'error');

Kirbylog

by Johann Schopplich

Zero-dependency global kirbylog() helper for any content
{
    "query": "page('photography').children",
    "select": {
        "url": true,
        "title": true,
        "text": "page.text.markdown"
    }
}

Kirby Query Language (KQL)

by Kirby Team

Kirby's Query Language API combines the flexibility of Kirby's data structures, the power of GraphQL and the simplicity of REST.

Kirby Template Sugar

by Arno Schlipf

Syntactic sugar for Kirby templates that makes working with snippets and slots a breeze.
<?= $page->title()->kirbytextWrap('h1') ?>

KirbytextWrap

by Yoan Malié

Parse Kirbytext and wrap the result in an HTML element of your choice

Kirby Vite

by Arno Schlipf

A set of helper functions to get the correct path to your versioned css and js files generated by Vite.

Komments

by Maurice Renck

A webmention enabled comment plugin. Receive comments and webmentions. Spam protection and a moderation panel view included. Kirby 3.6 …

KQL Nuxt

by Daniel Rivers

This plugin allows ease of access to all of your Kirby pages on sites that use the KQL plugin
$key  = crc32($page->url());
$data = lapse($key, function () {
    return [1, 2, 3];
});

Lapse

by Bruno Meilick

Cache any data until the set expiration time

Laravel Mix Helper

by Diverently

Use the mix helper function to get the correct path to your versioned CSS and JS files generated by Laravel Mix.
<!doctype html>
<head>
  <?= vite(['assets/css/app.css', 'assets/js/app.js']) ?>
</head>

Laravel Vite

by Lukas Kleinschmidt

Use the laravel-vite-plugin in your Kirby application.

LDAP login

by datamints GmbH

With this plugin, you can login into Kirby with your LDAP-credentials

Link Field

by Oblik Studio

Kirby field for links of any kind - external, page, file, email, phone. Has settings for text, popup true/false, and hash.
// using the username
$users->toList();

// using the page title
$pages->toList();

// using the filename
$files->toList();

List Methods

by hana+nils

List Methods is a plugin providing methods to generate comma-separated list from collections like pages, users or files. It allows for …

Localizer for Kirby

by gearsdigital

Change every localized string within the Panel – other plugins included! If you want to adapt some Panel translations without effort, this …

Locator

by Sylvain Julé

A simple map & geolocation field, built on top of open-source services and Mapbox.
fields:
  security: fields/locked-pages

Locked Pages

by Johann Schopplich

Password-protect pages easily, Panel blueprint included
$site->log('My message', 'error');

Log

by Bart Vandeputte

A little log utility (KLogger wrapper)

Logger

by Michael Scheurich

This plugin logs all actions in the panel and displays them in a separate view.

Mailjet

by Bruno Meilick

Send transactional SMS, transactional E-Mail and Campaigns with Mailjet
'maintenance' => true

Maintenance Mode

by Moritz Ebeling

Switch your website to maintenance mode and it will only be visible to logged in users.

Map-Suite

by Microman

Geolocation field & map block: All you need for a map on your website.

Markdown Field

by Fabian Michael

A highly customizable text editor with syntax highlighting for both Markdown and KirbyTags. Also has advanced features like displaying …

MarkdownPlus

by Dieter Stokar

A small set of syntax extensions greatly expand expressiveness of Markdown. Helps where you'd need complex templates. See dedicated Doc …

Matomo

by Sylvain Julé

Displays most important metrics of the extensive open-source tracking solution Matomo directly into the panel and provides helpers for …

Memsource

by Oblik Studio

This plugin allows you to translate your entire site content in the powerful TMS Memsource

Mercado Pago for Merx

by oweb studio · Paid

Mercado Pago payment gateway for Kirby 3 Merx plugin.

Merx

by Wagnerwagner · Paid

A powerful toolkit to cre­ate your very own on­line shop. Start entirely from scratch or integrate a store into your ex­ist­ing Kirby …

Meta

by Fabian Michael

All-in-one solution to all of your SEO/OpenGraph/JSON-LD/sitemap.xml needs.

MetaKnight

by diesdas.digital

Win every SEO fight. MetaKnight is a handy SEO plugin for the flat-file CMS Kirby. It has mighty powers.
<html>
  <head>
    <meta charset="utf-8">
    <?= $page->metaTags() ?>
  </head>
  ...

Meta Tags

by wearejust

HTML meta tags generator that supports Open Graph, Twitter Cards, and JSON Linked Data out of the box
site
└ methods
  └ file.php
  └ page.php
  └ site.php
  └ user.php

Methods Folder

by hana+nils

Methods Folder is a plugin to automatically register local methods provided in the folder site/methods just like Kirby accepts local …
class MigrationTest extends Migration
{
    public function up()
    {
        $result = Db::query(
            'ALTER TABLE `my_table`
            ADD COLUMN `test` INT DEFAULT NULL;
        ');

        if (!$result) throw Db::lastError();
    }
}

Migrations

by Markus Denhoff

Migrations management (eg. for Databases)
return [
    'afbora.kirby-minify-html' => [
        'enabled' => true,
        'options' => [...]
    ]
];

Minify HTML

by Ahmet Bora

Enable minify HTML output for Kirby 3.
<?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

Modules

by Thomas Günther

Subpages for modular Kirby websites

Mollie for Merx

by oweb studio · Paid

Mollie payment gateway for Kirby 3 Merx plugin.
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.

Move Pages

by oweb studio

Missing move pages feature for Kirby 3.

Multilanguage XML Sitemap

by Isaac Bordons

Multilingual (or not) XML Sitemap generator. Options for Ignore/Include and Images

MySQL Cache Driver

by Bruno Meilick

MySQL based Cache-Driver

Navigation

by Chris Martin

Menu builder field to create any type of navigation menu

Nuxt KQL

by Johann Schopplich

Nuxt 3 module for Kirby's Query Language API

OAuth 2.0

by Markus Denhoff

Interface to use OAuth 2.0 providers for user authentication

Pagetable

by Sylvain Julé

Display subpages in a flexible, sortable and searchable table.
<?= $page->counterImage() ?>

Pageview Counter

by Bruno Meilick

Track Page view count and last visited timestamp
button:
  url: "https://external.com/{{ page.slug }}"

Panel Button Field

by Moritz Ebeling

Custom Kirby Panel button field to open or trigger URLs. Helpful if your content is visible or editable on other services/domains.
options:
  singleLanguage: true
  hideStatus: true
  hideOptions: true

Panel View Extended

by Matthias Müller

Add more specific CSS classes and features to the panel views

Paperback Export

by Grant Hutchinson

Generates a lightly formatted text file based on your site content, which can be used to create a “book” viewable on a Newton OS device.

Pexels Image Field

by Maurice Renck

A panel field allowing you to search pexels.com for stockphotos and download then directly to your Kirby page.

PHP Cache Driver

by Bruno Meilick

PHP based Cache-Driver

Plates

by oweb studio

Plates native PHP template engine/system for Kirby 3.

Plausible

by Florian Karsten

Simple plugin providing plausible iframe panel view to kirby panel and simple frontend snippet.

Plausible

by Rowdy Rabouw

Displays simple and useful web analytics from Plausible directly into a panel and provides a frontend snippet for adding the Plausible …
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
return [
    'afbora.loader.roots' => [
        '/plugins/core',
        '/plugins/payment',
        '/plugins/shipping',
    ]
];

Plugin Loader

by Ahmet Bora

With Kirby Loader you can load plugins from multiple roots. Thus, you can simplify the management of your plugins by grouping.
tp('apples', ['count' => 1]);
// 1 apple
tp('apples', ['count' => 3]);
// 3 apples
tp('place', ['position' => 1]);
// 1st
tp('cookies', ['start' => 3, 'end' => 4]);
// 3-4 cookies

Plurals

by Oblik Studio

Allows you to use language variables to translate a string according to that language's plural forms defined in the Unicode CLDR

Podcaster

by Maurice Renck

Podcaster is a complete solution for publishing your podcast. Podcaster has you covered with simple and easy feed management, detailed …

Posthog

by Bruno Meilick

Connect Kirby to Posthog via PHP or Javascript

Postmark

by Bruno Meilick

Send transactional E-Mail with Postmark

Previews

by Sylvain Julé

Add enhanced and missing structure previews for various fields in the panel

Punctuation Section

by Johann Schopplich

Copy commonly used characters to your clipboard

PWA (Progressive Web App)

by oweb studio

Turns your Kirby website into a PWA: progressive web app.
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.
$queue = kqQueue('queuename');
$job   = kqJob([
    'foo' => 'foo',
    'bar' => 'bar'
]);

$queue->addJob($job);

Queue

by Bart Vandeputte

Enable workers in Kirby that can do tasks in the background at scheduled intervals (cron) by working through queues of jobs
(quote: Awesome quote author: A. Einstein)

Quote Tag

by Jannik Beyerstedt

Kirbytag to create blockquotes
<?= $page->random('words', 'lorem', 5) ?>

Random

by Bruno Meilick

Kirby tag and page method to generate various random values

Rate Page

by Maurice Renck

A page rating plugin. Working without page reload and can also receive webmentions. Comes with a panel overview of all the ratings.

Ray

by Sam Serrien

Helper tool that enables ray ( https://myray.app/) on all extendable methods.

Recently Modified

by Bruno Meilick

Kirby 3 Plugin to view recently modified pages by current User (or other collections)
$datelist = $site->recurr(
    '2022-09-10 20:00:00',
    '2022-09-11 02:00:00',
    'WEEKLY',
    ['WE', 'TH', 'FR'],
    '2022-10-11'
);

Recurr

by Hash&Salt

This plugin integrates the Recurr library to make it easier to work with repeating dates (like events on a calender).
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
foreach ($page->related($options) as $p) {
  echo $p->title();
}

Related

by Sonja Broda

Fetch related pages/files based on matching values in a given field

Relationship field

by Ola Christensson

The Relationship field allows you to select and sort multiple items from a list

Reload On Save

by JUNO

Automatically reload the frontend when content changes are saved in the panel.

Reporter for Kirby

by gearsdigital

Enables editors or clients to submit tasks, bugs and ideas to Github, Gitlab or Bitbucket or by E-Mail, straight out of the Panel!
return [
    'lukaskleinschmidt.resolve.cache' => true
];

Resolve

by Lukas Kleinschmidt

Speed up Kirby's page routing.

Responsive images

by Marcel Hieke

Manage responsive image settings within the Kirby3 panel.

Retour

by Nico Hoffmann

Advanced redirection based on rules, supporting wildcards and HTTP status codes. Comes with a panel view, so redirects can be managed …

Retrotree Section

by Findthebug

Retrotree is a section plugin to display pages in real retro tree fashion.
return [
    'bnomei.robots-txt' => [
        'content' => '...'
    ]
];

Robots.txt

by Bruno Meilick

Manage the robots.txt from Kirby's config file

Roomle

by Lukas Bestle

Block plugin to embed the Roomle 3D Configurator into your Kirby site
// site/routes/my-awesome-route.php
use PresProg\RouteAttributes\Attributes\Get;

return #[Get('/hello')] function () {
    return '<h1>Hello world!</h1>';
};

Route Attributes

by Present Progressive

Use PHP8 attributes to define metadata for your custom routes in separate files.
<?= $site
    ->schema('LocalBusiness')
    ->name('Hash&Salt')
    ->email('[email protected]')
?>

Schema

by Hash&Salt

Easily generate JSON schema for any kind of structured data in the RDFa specification.

Secured Pages

by Kerli81

Prevent unauthorized users to access a page or a hierarchy of pages. The permission will be granted by a user group. If the user is not yet …

Sentry

by Markus Denhoff

Sentry real-time crash reporting for Kirby CMS sites
<?php snippet('seo/meta') ?>

SEO

by Hash&Salt

A small plugin for generating meta data using shared controllers and field data. Also creates Facebook Opengraph and Twitter social sharing …

Seobility – Keyword check

by Bruno Meilick

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

Shopify

by Tristan Bagot

Display products on your own site and integrate the checkout process with your Shopify shop.
foreach ($page->similar($options) as $p) {
  echo $p->title();
}

Similar

by Sonja Broda

Find items related to the current item based on similarity between fields

Simplestats

by Daan de Lange

Track page views, referrers and devices on your Kirby 3 website. This plugin provides a simple solution for self-hosted, minimal and …

Snipcart

by Hash&Salt

Helps integrate Snipcart into a Kirby site
📁 snippets
├─ 📄 header.controller.php
└─ 📄 header.php

Snippet Controller

by Lukas Kleinschmidt

Define snippet controllers in a similar way to page controllers.
snippetWhen('article', $category->isNotEmpty())

snippetWhen Helper

by hana+nils

snippetWhen is a helper function to conditionally embed snippets.
(spreadsheet: pricelist.xlxs)

Spreadsheet

by Sonja Broda

This plugin provides a KirbyTag that allows you to include a table inside a textarea field from a spreadsheet (Excel or CSV files).

SQLite Cache Driver

by Bruno Meilick

SQLite based Cache-Driver
return [
  'cache' => [
    'pages' => [
      'active' => true,
      'type'   => 'static'
    ]
  ]
];

Staticache

by Kirby Team

Staticache gives you the performance of a static site generator for your regular Kirby installations.

Static Site Generator

by d4l-data4life

Create a static version of your site. Upload the generated files to any CDN or services like Netlify. The result is an even faster site.
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

Stripe

by Tristan Bagot

Connect to Stripe to easily create product checkouts and more.

Structure: Textarea Preview

by hana+nils

Structure: Textarea Preview offers Markdown previews for textareas in structure fields.
<?php snippet('jsonld') ?>

Structured data

by Christian Fickinger

Advanced SEO for structured data to organize and connect microdata based on JSON Linked Data format (JSON-LD).

Subtitler

by Sylvain Julé

Kirby field for synchronizing content with audio/video files
$articles = page('blog')
    ->children()
    ->listed()
    ->isUnderEmbargo(false)
    ->isSunset(false);

SunCyclePages

by David Somers

Embargo pages until sunrise date and withdraw at sunset date

Table field

by ragi96

Use the table field plugin to provide an easy way for editors to create and edit tables
// site/snippets/component.php
<div <?= merge('h-full w-full bg-neutral-100', $class) ?>></div>

// site/templates/default.php
<?php snippet('component', ['class' => 'w-1/2']) ?>

// output
<div class="h-full bg-neutral-100 w-1/2"></div>

Tailwind Merge

by Tobias Möritz

Intelligently merge Tailwind classes without style conflicts in your Kirby templates
// hook
'page.product.update:after' => function () {
    // your code goes here
}

Template hooks

by Ahmet Bora

Template hooks allow you to manage hooks for page and file templates more easily.

Template Stacks

by oweb studio

Template stacks allows you to push to named stacks which can be rendered somewhere else in another snippet or template.

Terminal

by Lukas Kleinschmidt

Manage background processes from the panel. Define scripts like you might already be familiar with from npm. Start or stop predefined …

Theme Picker

by Microman

The Kirby Theme Picker plugin allows you, to select a set of stylings which comes from your a blueprint or a struct.

ThumbHash

by Tobias Möritz

Smarter image placeholders with the ThumbHash algorithm – supports transparency!

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 …

TinyMCE

by oweb studio

Integrates the powerful TinyMCE 5 wysiwyg editor into Kirby 3.
<?php foreach ($notifications as $notification): ?>
  <li>
    <?= $notification
      ->track()
      ->toReference()
      ->title() ?>
  </li>
<?php endforeach ?>

Tracker

by hana+nils

Tracker is a plugin to track content changes and create panel logs or front-end notifications in member areas.
<?= $page->text()->toTree()->level(3) ?>

Tree Methods

by hana+nils

Tree Methods converts field values to HTML and helps adapting the resulting markup by changing headline hierarchy, wrapping and filtering …
<form action="<?= $page->url() ?>" method="post">
    <!-- ... -->

    <?= csrf_field() ?>
    <?= turnstileField() ?>
    <input type="submit" value="Submit">
</form>
<?= turnstileScript() ?>

Turnstile for Uniform

by Anselm Hannemann

A plugin for the Uniform plugin implementing the Cloudflare Turnstile protection (sort of a captcha-successor).

Twig Templates

by wearejust

Add support for Twig templates to your Kirby installation
$object->isPage();
$object->isUser();
$object->isFile();
$page->isType('article');

Type Methods

by hana+nils

Type Methods is a plugin helping to identify the type of an object, either page, user or file, in order to simplify logic in snippets that …
user@host:~/project$ kirby types:create
kirby-types v1.1.0 types:create
added blueprints fields
added custom methods
added decorators
added aliases
types helper created successfully

Types

by Lukas Kleinschmidt

IDE Helper for Kirby. Adds the kirby types:create command to your project to create an additional type hints file.

Typographer

by hana+nils

Typographer is a plugin for Kirby 3 to apply microtypographic rules to texts, setting opening and closing quotes (primary and secondary), …
$form = new Form([
    'name' => [
        'rules'   => ['required'],
        'message' => ['Name is required']
    ],
]);

Uniform

by Martin Zurowietz

Probably the most versatile solution for handling web form submissions, validation and backend processing on your site
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.

UTM Tracking

by Bruno Meilick

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

Versions

by Lukas Bestle

Keep track of content changes and switch between different versions from the Panel
(vidembed: video.mp4 poster: poster.jpg)

Video

by Hash&Salt

A Kirby tag and snippet for rendering video players inside textareas

Video

by Timo Schneider

Embed content from YouTube without compromising privacy.
return [
  'thumbs' => [
    'driver' => 'vipsthumbnail'
  ]
];

Vips thumbnail

by Florian Karsten

This is very basic Kirby CMS thumbnail driver for libvips.
'en' => [
    [
        'id'      => 'some-uuid',
        'slug'    => 'slug-in-english',
        'content' => [...]
    ]
]

Virtual pages helper kit

by Bart Vandeputte

Opinionated boilerplate helper to make it easier to work with virtual pages in a multilingual kirby 3 setup.

Visual Block Selector

by JUNO

A customized block selector that displays a preview image for each block.

Visual Image Crop Field

by Steirico

This plugin provides a field for cropping images visually and very flexibly.

Webhook Field

by philipjonas

Provides a field to trigger custom webhooks and see their status through the panel. Use it to deploy headless sites, trigger a CI/CD …

Webhooks

by errnesto

Lets you register custom webhooks based on kirby hooks.

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 …
HeadlineWellKnown:
  type: headline
  label: well-known
  numbered: false

TheWellKnown:
  extends: omz13/wellknown

WellKnown

by David Somers

Provide files like /robots.txt, .well-known, etc.

Whatever

by David Somers

It provides a field called 'whatever' that should simply spit out "whatever". Essentially it is the "hello world" field example made …

WhatsApp Button

by oweb studio

Simple floating WhatsApp button plugin for Kirby 3.
return [
  'omz13.xmlsitemap' => [
    'cacheTTL' => 60,
    'includeUnlistedWhenSlugIs' => [...],
  ]
];

XML Sitemap

by David Somers

Generates a sitemap for search engines. Can be configured to include/exclude certain pages and more.

XSLT Templates

by hana+nils

Template component for XSLT support in your templates. It let's you specify the needed data for each blueprint which is then provided as …
$site->holidays('France', 2022);

Yasumi

by Hash&Salt

Get a list of official public holidays and the dates they fall on for any country and year.