PHPackages                             mask/mask - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. mask/mask

Abandoned → [friendsoftypo3/content-blocks](/?search=friendsoftypo3%2Fcontent-blocks)Typo3-cms-extension[Templating &amp; Views](/categories/templating)

mask/mask
=========

Create your own content elements and page templates. Easy to use, even without programming skills because of the comfortable drag and drop user interface. Stored in structured database tables. Style your frontend with Fluid tags. Ideal, if you want to switch from Templavoila.

v9.0.10(5mo ago)1391.7M↓13.5%81[7 issues](https://github.com/Gernott/mask/issues)[5 PRs](https://github.com/Gernott/mask/pulls)10GPL-2.0-or-laterPHPPHP ^8.1CI passing

Since Nov 18Pushed 2mo ago18 watchersCompare

[ Source](https://github.com/Gernott/mask)[ Packagist](https://packagist.org/packages/mask/mask)[ Docs](https://extensions.typo3.org/extension/mask)[ Fund](https://github.com/sponsors/nhovratov)[ Fund](https://github.com/sponsors/Gernott)[ RSS](/packages/mask-mask/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (13)Versions (208)Used By (10)

⚠️ Attention: Deprecation of Mask ⚠️
====================================

[](#️-attention-deprecation-of-mask-️)

Since TYPO3 v13 the Mask extension is deprecated. This extension will only receive bugfixes until regular maintenance for TYPO3 v13 has ended (30 April 2026). There are no official plans to make this extension work with the upcoming TYPO3 v14 version (Please reach out to us, if you want to make it compatible). We highly recommend to [migrate to TYPO3 Content Blocks](https://docs.typo3.org/permalink/friendsoftypo3-content-blocks:migrations-mask). At the time of writing Content Blocks has no GUI, but there is a plan to build one.

[![Page and Content masks for TYPO3](Resources/Public/Images/banner.jpg)](Resources/Public/Images/banner.jpg)

[![TYPO3 compatibility](https://camo.githubusercontent.com/b3a061a99dde5eab03a8f8998d14ba2967396d702adba93adf4a67a535a41130/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d31332e3425323025374325323031322e342d6666383730303f6d61784167653d33363030266c6f676f3d7479706f33)](https://get.typo3.org/)[![TYPO3 Verified](https://camo.githubusercontent.com/4e46565344bd1aec61ccc31d95fa3260198d52c36f44639c5688ce7c6c2d310b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5459504f332d76657269666965642d6666383730303f6c6f676f3d7479706f33)](https://typo3.com/typo3-cms/verified-extensions-integrations-for-typo3/extensions/mask-create-custom-content-elements-in-typo3)[![Release](https://camo.githubusercontent.com/af7a7784e006a8ece427824d516588c73fb8652fb215a6bef0a2f484c1882596/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6765726e6f74742f6d61736b3f736f72743d73656d766572)](https://extensions.typo3.org/extension/mask/)[![Total Downloads](https://camo.githubusercontent.com/dc7f8bfb596c5964f2ffb93437043afdd7e74d7232a4eec4fad587706a7f9694/68747470733a2f2f706f7365722e707567782e6f72672f6d61736b2f6d61736b2f642f746f74616c2e737667)](https://packagist.org/packages/mask/mask)[![Monthly Downloads](https://camo.githubusercontent.com/5a1480d00c5de1cf8bb5ab7f60674421ea597823f632f931911d94bcfe669919/68747470733a2f2f706f7365722e707567782e6f72672f6d61736b2f6d61736b2f642f6d6f6e74686c79)](https://packagist.org/packages/mask/mask)[![Tests](https://camo.githubusercontent.com/48ed4c5a3d4c9a4d388027351c0b807d797c9ba8000273ef09729fadb3081ecd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f4765726e6f74742f6d61736b2f74657374732e79616d6c3f6272616e63683d6d61696e)](https://github.com/Gernott/mask/actions/workflows/tests.yaml)[![PHPStan](https://camo.githubusercontent.com/441b5874ce4df0a2defc892979c96c46889b69cb32119d04f0b48626349f8bc9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d656e61626c65642d627269676874677265656e2e7376673f7374796c653d666c6174)](https://github.com/phpstan/phpstan)

TYPO3 extension `mask` 🎭
========================

[](#typo3-extension-mask-performing_arts)

Mask is a content element builder that generates TypoScript, TSconfig and TCA on the fly. You can build your own custom content elements in a user-friendly backend module via drag and drop. Your configuration is stored in json files, which can be shared across projects.

Mask provides different field types, that you can use to customize your content elements. Depending on the type there are different options available. Field types are grouped roughly into input, repeating and structural fields. With these given tools, you can cover almost all typical requirements for your projects. And if not, Mask can be extended via TCA overrides or DataProcessors.

URL**Repository:****Read online:****TER:**TYPO3 v13 Sponsor
-----------------

[](#typo3-v13-sponsor)

Big thanks to [webconsulting](https://webconsulting.at/) for sponsoring the work on the Mask v9 release for TYPO3 v13!

[![webconsulting](Documentation/Images/SponsorsManual/webconsulting.png)](Documentation/Images/SponsorsManual/webconsulting.png)

Quickstart 🚀
------------

[](#quickstart-rocket)

1. Add Mask as a dependency in your `ext_emconf.php` and/or `composer.json` of your sitepackage.
2. Download Mask with composer by running the command `composer require mask/mask` or install via extension manager.
3. Activate Mask in the extension manager (not needed in TYPO3 v11 composer mode).
4. Mask requires `fluid_styled_content` so go to your static includes in the template module and include it there.
5. Also include the Mask static TypoScript.
6. Navigate to the Mask module and enter your sitepackage extension key for auto-configuration (your extension must be loaded!).
7. Start creating your own content elements!

Manual configuration ✏️
-----------------------

[](#manual-configuration-pencil2)

If you don't want to use the default folder structure created by the auto-configuration, you can adjust every path in the extension configuration of Mask.

Advantages of Mask ✅
--------------------

[](#advantages-of-mask-white_check_mark)

- Mask stores the content in columns in database tables – not as XML (Flexform)
- Mask reuses existing database fields to conserve the database
- Mask works only with existing features of the TYPO3 core: backend layouts, Fluid, TypoScript
- Silent TCA migrations allow for easy TYPO3 upgrades to new major versions
- Mask allows repeating content with IRRE technology
- Mask supports multi-language projects
- Mask supports workspaces and versioning
- The Mask backend is a single page application based on VueJS for even more comfort

Read a detailed explanation for each advantage and why to use Mask over other alternatives in the [official documentation](https://docs.typo3.org/p/mask/mask/main/en-us/Introduction/Index.html).

Mask versions 📆
---------------

[](#mask-versions-calendar)

Mask VersionTYPO3 VersionRelease DateStatusMore Infov9.0v12, v132024-11-13bugfix only[TYPO3 v13 support](https://github.com/Gernott/mask/releases/tag/v9.0.0)v8.3v11, v122023-08-09discontinued[Mask Events](https://docs.typo3.org/p/mask/mask/main/en-us/ChangeLog/8.3/Index.html)v8.2v11, v122023-06-12discontinued[TCA columnsOverride support](https://docs.typo3.org/p/mask/mask/main/en-us/ChangeLog/8.2/Index.html)v8.1v11, v122023-05-02discontinued[Deprecation free, new types](https://docs.typo3.org/p/mask/mask/main/en-us/ChangeLog/8.1/Index.html)v8.0v11, v12.32022-10-24discontinued[Compatibility TYPO3 v12](https://docs.typo3.org/p/mask/mask/main/en-us/ChangeLog/8.0/Index.html)v7.2v10, v112022-05-25discontinued[New field types, improved UX](https://docs.typo3.org/p/mask/mask/main/en-us/ChangeLog/7.2/Index.html)v7.1v10, v112021-12-14discontinued[JsonSplitLoader, new API](https://docs.typo3.org/p/mask/mask/main/en-us/ChangeLog/7.1/Index.html)v7.0v10, v112021-05-12discontinued[VueJS based Mask Backend](https://docs.typo3.org/p/mask/mask/main/en-us/ChangeLog/7.0/Index.html)v6v10, v11.12020-10-08discontinued[Palettes, Groups and more](https://docs.typo3.org/p/mask/mask/main/en-us/ChangeLog/6.0/Index.html)v5v102020-04-18discontinuedPlease update to v7v4v92018-10-04discontinuedv3v82017-05-23discontinuedv2v72016-05-10discontinuedv1v6, v72015-08-12discontinuedNeed help? 🗨️
-------------

[](#need-help-left_speech_bubble)

- Read how to install, configure and use mask in the [official documentation](https://docs.typo3.org/p/mask/mask/main/en-us/)
- Join the "#ext-mask" channel on [TYPO3 Slack](https://typo3.slack.com/archives/C0FD5F6P2) and ask the mask community.
- [Visit our website](https://mask.webprofil.at) to find more information about mask

Found a bug? 💥
--------------

[](#found-a-bug-boom)

- First check out the main branch and verify that the issue is not yet solved
- Have a look at the existing [issues](https://github.com/gernott/mask/issues/), to prevent duplicates
- If not found, report the bug in our [issue tracker](https://github.com/gernott/mask/issues/new/)

Like a new feature? 💡
---------------------

[](#like-a-new-feature-bulb)

- Have a look at our [project page](https://github.com/Gernott/mask/projects/1)
- If your idea is not listed here, get in [contact](https://mask.webprofil.at/imprint/) with us
- If you want to sponsor a feature, get in [contact](https://mask.webprofil.at/imprint/) with us
- If you want to develop a feature, get in [contact](https://mask.webprofil.at/imprint/) to plan a strategy

[Sponsors](https://docs.typo3.org/p/mask/mask/main/en-us/Sponsors/Index.html) 🤝
-------------------------------------------------------------------------------

[](#sponsors-handshake)

See a list of all [sponsors](https://docs.typo3.org/p/mask/mask/main/en-us/Sponsors/Index.html), who helped Mask to become what it is today.

###  Health Score

71

—

ExcellentBetter than 100% of packages

Maintenance79

Regular maintenance activity

Popularity59

Moderate usage in the ecosystem

Community42

Growing community involvement

Maturity91

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 61.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~18 days

Recently: every ~89 days

Total

203

Last Release

156d ago

Major Versions

v7.2.13 → v8.0.02022-10-24

v7.2.14 → v8.0.22022-11-21

v7.2.15 → v8.0.32022-11-22

v7.2.16 → v8.0.82023-03-22

v8.3.x-dev → v9.0.02024-11-13

PHP version history (5 changes)3.0.0PHP ^7.0

v4.0.0PHP ^7.2

v7.0.16PHP ^7.2 || ^8.0

v8.0.0PHP ^7.4 || ^8.0

v9.0.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/46663553a22f0c1daf03e2defcabdf6c1f8f1aada7aff2e0b5c503c63cd236e1?d=identicon)[nhovratov](/maintainers/nhovratov)

![](https://www.gravatar.com/avatar/9d56991706271e864544063aff6c2a3d01ddcef457cb70c7bc1724a44e21a8fc?d=identicon)[Mask](/maintainers/Mask)

![](https://www.gravatar.com/avatar/e6e2e3f22a81e401dccc224e4f9c8c87dea66e8124be8a96bdc5e950be815436?d=identicon)[Gernott](/maintainers/Gernott)

---

Top Contributors

[![nhovratov](https://avatars.githubusercontent.com/u/19343425?v=4)](https://github.com/nhovratov "nhovratov (1024 commits)")[![butu](https://avatars.githubusercontent.com/u/708604?v=4)](https://github.com/butu "butu (390 commits)")[![Gernott](https://avatars.githubusercontent.com/u/1930849?v=4)](https://github.com/Gernott "Gernott (126 commits)")[![markuspoerschke](https://avatars.githubusercontent.com/u/1222377?v=4)](https://github.com/markuspoerschke "markuspoerschke (27 commits)")[![juergen-venne](https://avatars.githubusercontent.com/u/4092408?v=4)](https://github.com/juergen-venne "juergen-venne (21 commits)")[![can0199](https://avatars.githubusercontent.com/u/60479637?v=4)](https://github.com/can0199 "can0199 (7 commits)")[![jkphl](https://avatars.githubusercontent.com/u/4446936?v=4)](https://github.com/jkphl "jkphl (6 commits)")[![IchHabRecht](https://avatars.githubusercontent.com/u/1453345?v=4)](https://github.com/IchHabRecht "IchHabRecht (6 commits)")[![jmtpix](https://avatars.githubusercontent.com/u/13254132?v=4)](https://github.com/jmtpix "jmtpix (6 commits)")[![nitori](https://avatars.githubusercontent.com/u/1561831?v=4)](https://github.com/nitori "nitori (5 commits)")[![georgringer](https://avatars.githubusercontent.com/u/1905663?v=4)](https://github.com/georgringer "georgringer (5 commits)")[![fwg](https://avatars.githubusercontent.com/u/139187?v=4)](https://github.com/fwg "fwg (4 commits)")[![sebastiande](https://avatars.githubusercontent.com/u/5174322?v=4)](https://github.com/sebastiande "sebastiande (4 commits)")[![cweiske](https://avatars.githubusercontent.com/u/59036?v=4)](https://github.com/cweiske "cweiske (4 commits)")[![bnf](https://avatars.githubusercontent.com/u/473155?v=4)](https://github.com/bnf "bnf (4 commits)")[![alexander-nitsche](https://avatars.githubusercontent.com/u/20297232?v=4)](https://github.com/alexander-nitsche "alexander-nitsche (3 commits)")[![sg-paul-ilea](https://avatars.githubusercontent.com/u/40029073?v=4)](https://github.com/sg-paul-ilea "sg-paul-ilea (3 commits)")[![linawolf](https://avatars.githubusercontent.com/u/48202465?v=4)](https://github.com/linawolf "linawolf (2 commits)")[![M-arcus](https://avatars.githubusercontent.com/u/25648755?v=4)](https://github.com/M-arcus "M-arcus (2 commits)")[![dev-rke](https://avatars.githubusercontent.com/u/6354774?v=4)](https://github.com/dev-rke "dev-rke (2 commits)")

---

Tags

TYPO3 CMSwizardmaskcontentelements

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/mask-mask/health.svg)

```
[![Health](https://phpackages.com/badges/mask-mask/health.svg)](https://phpackages.com/packages/mask-mask)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[pagemachine/typo3-formlog

Form log for TYPO3

23238.6k8](/packages/pagemachine-typo3-formlog)[web-vision/wv_deepltranslate

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

33304.3k](/packages/web-vision-wv-deepltranslate)[web-vision/deepltranslate-core

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

33142.5k8](/packages/web-vision-deepltranslate-core)[yoast-seo-for-typo3/yoast_seo

Yoast SEO for TYPO3

511.7M9](/packages/yoast-seo-for-typo3-yoast-seo)[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1595.5k](/packages/eliashaeussler-typo3-form-consent)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
