---
title: Personalizing the editor for rich text fields
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

> **Note:** **Important**: The 'Paste from Word' functionality in CKEditor is no longer supported using the built-in button. The 'Paste from Word' functionality is only available using keyboard shortcuts _ctrl/cmd_ + _v_.

The [editor](https://docs.kentico.com/13/configuring-xperience/configuring-the-environment-for-content-editors/configuring-the-editor-for-rich-text-fields.md) toolbar is flexible and customizable. By default, the system uses different toolbar configurations for different types of content. This helps keep the interface clean. You can also modify the default toolbar sets or prepare your own custom sets.

> **Info:** **Standard toolbar sets**
>
> Xperience ships with several standard toolbar sets that are used by various applications:
>
> - **Full**
> - **Basic**
> - **Standard/Default**
> - **BizForm** – used for on-line forms.
> - **EmailWidgets** – used for email widget content.
> - **Reporting** – used for report content.
> - **Invoice** – used for invoice content.
> - **Widgets** – used for dashboard widgets.

## Defining toolbar sets

You can either modify existing toolbar sets or create your own custom toolbar sets.

To define toolbar sets, edit the **CMS\CMSAdminControls\CKeditor\config.js** file within the administration project.

The following code sample shows a definition of the full toolbar set containing all available buttons. You can create custom toolbar sets by using names of the default buttons, or by adding buttons of [custom CKEditor plugins](https://docs.kentico.com/13/configuring-xperience/configuring-the-environment-for-content-editors/configuring-the-editor-for-rich-text-fields/installing-plugins-to-the-editor-for-rich-text-fields.md).

```js title="Default (Full) toolbar set definition"

config.toolbar_Full = [
    [sourceName, '-'],
    ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', 'Scayt', '-'],
    ['Undo', 'Redo', 'Find', 'Replace', 'RemoveFormat', '-'],
    ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript', '-'],
    ['NumberedList', 'BulletedList', 'Outdent', 'Indent', 'Blockquote', 'CreateDiv', '-'],
    ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock', '-'],
    '/',
    ['InsertLink', 'Unlink', 'Anchor', '-'],
    ['InsertImageOrMedia', 'QuicklyInsertImage', 'Table', 'HorizontalRule', 'SpecialChar', '-'],
    ['Styles', 'Format', 'Font', 'FontSize'],
    ['TextColor', 'BGColor', '-'],
    ['InsertMacro', '-'],
    ['Maximize', 'ShowBlocks']
];

```

![](https://docs.kentico.com/docsassets/13/personalizing-the-editor-for-rich-text-fields/the_editor_toolbar.png)

Each toolbar set definition consists of several arrays representing toolbar groups. For example, the \['Styles', 'Format', 'Font', 'FontSize'] array represents a group of four buttons.

If you need to insert a line break between the button groups, use the _'/'_ string.

If you want to define your own toolbar set, add a new configuration in the _**config.toolbar\_ToolbarName**_&#x66;ormat to **config.js**.

> **Note:** **Important**: When you modify the _config.js_ file (or any other file used by the editor), the changes only apply after you _**clear your browser cache**_.

### Adding fonts to the editor

If you wish to add fonts to the editor toolbar (for example culture-specific fonts), use the following process:

1. Edit the **CMS\CMSAdminControls\CKeditor\config.js** file.
2. Set the list of available fonts through the **config.font\_names** property. For example:

   ```javascript

   // Leaves the default set of fonts and adds 'Calibri' to the options
   config.font_names = 'Arial;Calibri;Comic Sans MS;Courier New;Georgia;Lucida Sans Unicode;Tahoma;Times New Roman;Trebuchet MS;Verdana';

   ```
3. Save the file.

After you sign in to the Xperience administration again, the new fonts appear in the editor's font list.

> **Info:** **Note**: Many of the default editor toolbars do not contain the Font selector by default.

## Configuring toolbars for page fields with the Rich text editor form control

To configure which toolbar is used to edit fields on **structured pages** (fields with the _Rich text editor_ form control edited via the **Content** tab), set the field's **Toolbar set** property:

1. Open the **Page types** application.
2. Edit the page type you wish to configure.
3. Switch to the **Fields** tab and select a field with the _Rich text editor_ form control.
4. Under **Editing control settings**, click **Advanced**.
5. Type the name of the toolbar set you wish to use when editing the field into **Toolbar set**.
6. (Optional) Specify a toolbar location in **Toolbar location**.
   - If not specified, the field is bound to a default toolbar at the top of the page.

## Configuring visibility of editor buttons

You can use [UI personalization](https://docs.kentico.com/13/managing-users/ui-personalization.md) to show or hide buttons from the integrated editor toolbar. Each button in the toolbar is represented by a UI element.

1. Open the **UI personalization** application.
2. On the **Editor** tab, select a **site** and a **role**.
3. Browse the UI element tree and select or clear the check boxes that represent the editor buttons.

The system automatically saves the settings as you select or clear check boxes in the UI element tree. The system hides the buttons (UI elements) that have their check box cleared for users in the selected role.

> **Info:** If a user is a member of multiple roles, they are allowed to see UI elements from all their roles combined.

### Using UI personalization for custom toolbar buttons

You can show or hide buttons from the integrated editor toolbar. Each button in the toolbar is represented by a UI element. The editor buttons are grouped into categories. Categories are represented by parent UI elements in the UI element tree.

If you want to display custom editor buttons based on UI personalization settings, you need to create matching UI elements:

1. Open the **Modules** application.
2. Edit the **WYSIWYG editor** module.
3. Switch to the **User interface** tab.
4. Navigate to the _CMS -> Administration -> Configuration -> UI personalization -> Editor -> WYSIWYG Editor_ section of the UI element tree.
5. Create the required elements under the _WYSIWYG Editor_ element (Click **New element** ).
   - The elements must be assigned to a custom module (you can use the default _Custom_ module if you do not have a different custom module).
   - UI elements representing buttons _**must have the same Code name**_ as the button name used in the toolbar definitions within the _config.js_ file. This is _**case sensitive**_.

The system then uses the following process to display editor buttons:

1. Action buttons are loaded into each toolbar based on the toolbar definition.
2. If UI personalization is enabled, action buttons are filtered according to UI personalization settings of the user's roles.
