Have data? Need website? Zotonic is what you need.

Zotonic is the content management system and framework for semantic data and high connectivity web sites.

Your data outlives your website.
Grow your data. Share your data.

The Zotonic content management system excels in managing structured data from multiple sources. It brings structure to your documents and makes semantic data manageable for normal humans.

Real time connectivity is deeply integrated using the Internet of Things publish/subscribe protocol MQTT. 

Try out the editorial interface at our demo site.

Release notes.

Release 0.83.0

Welcome to Zotonic 0.83.0, released on June 27, 2024.

Release 0.82.0

Welcome to Zotonic 0.82.0, released on March 25, 2024.

Read all release notes >

Recent articles, cookbooks and videos.


About collaboration groups

Working together on private content. Groups can organize and manage members without the complexity of the full access control system.


Building a live updating search page

Search pages are often simple forms that reload the page with new arguments. In this article we will show how you can make a search page that updates live whilst typing or selecting options. The location of the page will be updated, so…


Tracing templates for greater understanding

A picture tells a thousand words, so we added an exciting new development tool to explore which templates are used during page rendering. Our new tool gives a graph view of all templates.


Security, templates and XSS prevention

Ensuring that you don't fall victim to cross site scripting and other injection attacks takes vigilance, eye for details and especially some good naming habits.

Zotonic  Quick Intro

Zotonic Quick Intro

Presentation with an overview of Zotonic. Touches shortly the various parts to make yourself acquainted with the data model, code organization and other concepts.


Support & Services

Community support - mailinglists Do you want to start a Zotonic based project?  Then join our mailing lists and discuss Zotonic with us, our developers and our users.

Other cookbooks

Create a custom action Create a custom filter Create a custom model Create a custom controller Custom pivots Create a custom tag Custom search Pivot Templates Writing your own module Overriding Zotonic Execute tasks asynchronously using…

Shell cookbook

Activate/deactivate modules Filter and convert characters Erlang tab completion Debugging db (query) issues Reset a user’s password Restore/upgrade content db from backup

Just enough…

These Cookbook items each represent a stage in some Zotonic users’ journeys to understand the workings of Erlang and related technologies in general.

Frontend cookbook

These cookbook entries contain valuable nuggets of information regarding the frontend development of a site.

Admin cookbook

Creating a custom widget on the edit page Customizing the layout of the admin edit page Customizing the style of an admin page Storing date/time fields Admin template specific things Automatically add new users to a user group…

Cotonic: browser coroutines with an universal MQTT message bus | Marc Worrell | Code BEAM V 2020

Cotonic: browser coroutines with an universal MQTT message bus | Marc Worrell | Code BEAM V 2020

This video was recorded at Code BEAM V 2020 - https://codesync.global/conferences/code-beam-vCotonic: browser coroutines with an universal MQTT message bus |...

Create a custom controller

Zotonic comes with a large collection controllers that cover many use cases, so you’ll probably have to resort to custom controllers less often than you may be used to from other web frameworks. Still, the time may come when you need to…

Screenshot 2022-03-31 at 16.25.58.png

Cowmachine decision flow and callbacks

Overview of controller callbacks and decisions.

Zotonic - The tshirt!

Zotonic - The tshirt!

Just a quick demo of a posible tshirt design. T-Shirt design by: http://www.mannschaft.org/ Get your erlang on at: http://zotonic.com Music by: https://soundcloud.com/illsound/radj-soulscript

Making it Fast - How Zotonic Maximizes Erlang's Power - Arjan Scherpenisse

Making it Fast - How Zotonic Maximizes Erlang's Power - Arjan Scherpenisse

Erlang User Conference 2013 More info and slides on the website. The talk will focus on the…