🚀 A new era: Kirby 4 Get to know
Skip to content

Text formatting

Kirby comes with different text editing fields, that make it easy to edit long form content. From Markdown and Kirbytext to the visual Blocks and Layout field, there is something to suit every editor's needs.


The following Markdown tags are available to add simple formatting to your text.

If you need even more options to format text, like footnotes, tables, definition lists, etc. you can activate Markdown Extra in your config file to use those additional formats.


In addition to Markdown, Kirby automatically parses a set of handy tags in your text, whenever you use the ->kirbytext() field method to render content in your templates. Those tags make it simple to embed links, images, videos and more.

Using KirbyTags in templates

You can even use KirbyTags in your templates with the kirbytag() helper, for example to embed a video quickly:

<?= kirbytag([
  'video'  => 'http://vimeo.com/3432886',
  'width'  => 400,
  'height' => 400

Extending KirbyText

You'd love to have a special tag for embedding cat pictures from http://placekitten.com/ or you need some other tags for your next client project?

KirbyText is extensible, so you can actually build in all the great features you need.

Writer field

The Writer field type is a simple WYSIWYG editor field for basic nodes like headlines and lists, as well as inline content with formats like bold, italic, etc.

Blocks & Layout

Blocks are basically like Lego® bricks, but for text and layout. Combine them in whatever way you like to create unique long form content and even complete page layouts without ever leaving the Panel.

While Markdown is great for writing long form text like articles with nothing but a text editor, it doesn't provide a very visual experience, particularly when it comes to integrating rich content elements.

To learn more, head over to our Page Builder guide


SmartyPants is a handy little helper to convert typical formatting issues in text into a typographically correct version. This includes quotes, dashes and more.

When you activate SmartyPants in your config, SmartyPants rules are automatically applied whenever you use the ->kirbytext() or ->smartypants() field methods.

return [
  'smartypants' => true