---
title: "Permanent Pen Plugin"
description: "Apply formats while typing."
canonical_url: "https://www.tiny.cloud/docs/tinymce/latest/permanentpen/"
md_url: "https://www.tiny.cloud/docs/tinymce/latest/permanentpen/index.md"
version: "latest"
last_updated: "2026-06-15T05:48:02Z"
tokens: 1736
---
# Permanent Pen Plugin

> **Note:** This plugin is only available for [paid TinyMCE subscriptions](/pricing/).
The Permanent Pen allows a user to apply a pre-defined format (for example, color, typeface and type style, font, etc.) to a new content, overriding the default values set for that content area.

The Permanent Pen is useful when a distinct style text needs to be repeatedly added to the content. The user can pre-define the desired style in the Permanent Pen properties. This pre-defined style is applied to all the text entered into the document while the Permanent Pen is enabled. The ability to store information for reuse saves the user time and ensures consistency across the content.

The Permanent Pen can also be used to create user notes and other useful comments in a different format for easy identification. This allows the user to add text without modifying the original content.

The default properties of Permanent Pen are:

```js
fontname: 'arial,helvetica,sans-serif',
forecolor: '#E74C3C',
fontsize: '12pt',
hilitecolor: '',
bold: true,
italic: false,
underline: false,
strikethrough: false
```
For more information on TinyMCE formats, refer to the [formats](../content-formatting/#formats) section.

## Try our Permanent Pen demo

**Example**

```js
tinymce.init({
  selector: 'textarea#permanent-pen',
  plugins: 'permanentpen code',
  contextmenu: 'configurepermanentpen',
  toolbar: 'permanentpen code',
  menubar: 'file edit view format table tools help',
  menu: {
    format: {
      title: 'Format',
      items: 'configurepermanentpen | bold italic underline strikethrough ' +
        'superscript subscript codeformat | styles blocks fontfamily ' +
        'fontsize align | forecolor backcolor | removeformat'
    }
  },
  permanentpen_properties: {
    fontname: 'arial,helvetica,sans-serif',
    forecolor: '#E74C3C',
    fontsize: '12pt',
    hilitecolor: '',
    bold: true,
    italic: false,
    strikethrough: false,
    underline: false
  },
  height: 500,
  content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:16px }'
});
```

## Using a Permanent Pen

### To enable Permanent Pen

1. Click on the

![Permanent Pen](../_images/icons/permanent-pen.svg)
(**Permanent Pen**) toolbar button to enable the Permanent Pen.
2. Place the cursor in the desired text area and start typing.

**Result**: The **Permanent Pen** toolbar button background color changes to *grey*
![Permanent Pen](../_images/icons/permanent-pen.svg)
and the text is entered using the default settings.

### To disable Permanent Pen

To exit the Permanent Pen, click on the
![Permanent Pen](../_images/icons/permanent-pen.svg)
(**Permanent Pen**) icon.

The **Permanent Pen** toolbar button background color changes to *white*
![Permanent Pen](../_images/icons/permanent-pen.svg)
.

### Accessing the Permanent Pen properties

There are two ways to access the Permanent Pen properties:

#### From the menubar

Add the Permanent pen properties option to the menu bar with the [menu](../menus-configuration-options/#menu) configuration.

```js
tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  plugins: 'permanentpen',
  toolbar: 'permanentpen',
  menu: {
    format: { title: 'Format', items: 'configurepermanentpen' }
  }
});
```

#### Inline

1. Place the cursor on the text entered using a Permanent Pen.
2. Right-click anywhere from inside the text area.
3. Choose the **Permanent pen properties…** option.

![Right-click](../_images/right-click.png)
**Result**: The **Permanent Pen Properties** dialog box appears.

> **Note:** The Permanent Pen has to be enabled to access the **Permanent Pen Properties** dialog box by right-clicking the text. On the other hand, the menubar option can be accessed without enabling the Permanent Pen.

## Changing Permanent Pen properties

### Using the UI

1. Open the **Permanent Pen Properties** dialog box using any of the above methods.

![Permanent pen properties](../_images/permanent-pen-props.png)
2. Select the desired settings from the **Font** and **Size** drop-down menus.
3. To select the desired **Styles**, click on the checkbox next to **Bold**, **Italic**, **Strikethrough**, or **Underline**.
4. Choose the desired **Text color**.
5. Select the desired **Background color**
6. Press **Ok** to save or **Cancel** to dismiss.

**Result**: When the Permanent Pen is enabled, it will apply the new settings to the entered text.

## Basic setup

The following example shows how to add the Permanent Pen toolbar button:

```js
tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  plugins: 'permanentpen',
  contextmenu: 'configurepermanentpen',
  toolbar: 'permanentpen'
});
```

> **Note:** For information on bundling this plugin with module bundlers, see [Bundling TinyMCE - Overview](../bundling-guide/).

## Options

### `permanentpen_properties`

The default formats for Permanent Pen can be specified in the following configuration.

**Type:** `Object`

**Default value:**

```js
{
  fontname: 'arial,helvetica,sans-serif',
  forecolor: '#E74C3C',
  fontsize: '12pt',
  hilitecolor: '',
  bold: true,
  italic: false,
  underline: false,
  strikethrough: false
}
```

#### Example: using `permanentpen_properties`

```js
tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  plugins: 'permanentpen',
  contextmenu: 'configurepermanentpen',
  toolbar: 'permanentpen',
  permanentpen_properties: {
    fontname: 'arial,helvetica,sans-serif',
    forecolor: '#E74C3C',
    fontsize: '12pt',
    hilitecolor: '',
    bold: true,
    italic: false,
    strikethrough: false,
    underline: false
  }
});
```
For more information on TinyMCE formats, refer to the [formats](../content-formatting/#formats) section.

## Toolbar buttons

The Permanent Pen plugin provides the following toolbar buttons:

| Toolbar button identifier | Description |
| --- | --- |
| `permanentpen` | Enables and disables Permanent Pen formatting. |

These toolbar buttons can be added to the editor using:

- The [`toolbar`](../toolbar-configuration-options/#toolbar) configuration option.
- The [`quickbars_insert_toolbar`](../quickbars/#quickbars_insert_toolbar) configuration option.
- [Custom Context toolbars](../contexttoolbar/).

## Menu items

The Permanent Pen plugin provides the following menu items:

| Menu item identifier | [Default Menu Location](../menus-configuration-options/#example-the-tinymce-default-menu-items) | Description |
| --- | --- | --- |
| `configurepermanentpen` | *Not Applicable* | Opens the Permanent Pen properties dialog. |
| `permanentpen` | *Not Applicable* | Enables and disables Permanent Pen formatting. |

These menu items can be added to the editor using:

- The [`menu`](../menus-configuration-options/#menu) configuration option.
- The [`contextmenu`](../menus-configuration-options/#contextmenu) configuration option.
- [Custom Menu toolbar buttons](../custom-menu-toolbar-button/).

## Commands

The Permanent Pen plugin provides the following TinyMCE commands.

| Command | Description |
| --- | --- |
| mceConfigurePermanentPen | Opens the Permanent Pen dialog. |
| mceTogglePermanentPen | Toggles Permanent Pen. |

Examples
```js
tinymce.activeEditor.execCommand('mceConfigurePermanentPen');
tinymce.activeEditor.execCommand('mceTogglePermanentPen');
```
