The functionality as well as the look-and-feel of an instance can be customized by creating a
customize folder and copying assets to be customized (images, stylesheets, page templates, etc) from
customize.dist into it. If a file exists in
customize, it will be served to users instead of its namesake in
The purpose of the
customize directory is to make it easier to upgrade CryptPad while maintaining customizations in place. Occasionally, a major new version may introduce breaking changes or require adjustments in the customizations. Administrators with customized instances are therefore encouraged to read instructions carefully before each upgrade.
A wide range of settings are available in
www/common/application_config_internal.js. To modify them:
Make a copy of
Copy the default value(s) to modify from
Look and feel¶
Many aspects of CryptPad's interface can be customized by copying files from
customize.dist to your
For example to change colors, copy the LESS color themes
customize/src/less2/include/ and edit the color values.
To use a custom logo on the instance's homepage:
Add your SVG logo to
Rename the logo
Open Graph preview images¶
Previews when links from the instance are posted to social media include images, these are located in
/customize.dist/images/opengraph_preview/. Once Open Graph tags have been set up, the images can be customized by placing modified copies in
/customize/images/opengraph_preview/ just like any other image.
To customize the text of the CryptPad interface in a given language, copy
xx is the locale of the language (use
messages.js to customize English).
In this file, modify the default text using the "Messages" object as follows:
Messages.key = "Text";. For all the keys and their associated text please see www/common/translations/messages.json or any of the
messages.xx.json in the same directory for the translated text.
For example, to customize the text about the instance on the home page, the following could be pasted in
customize/translations/messages.js and the text changed to describe the instance.
Messages.home_host = "This is an independent community instance of CryptPad.";
For more information on how translations work in CryptPad please see Translation keys in the developer guide.