License key

Overview

TinyMCE 8 uses an enhanced license key system to ensure compliance with TinyMCE licensing terms.

TinyMCE is licensed under the GNU General Public License Version 2 or later. A configuration option called 'license_key' introduced in TinyMCE 7 requires developers to make a conscious decision to use TinyMCE with the GPLv2+ license or with a commercial license.

When using TinyMCE 8 in a self-hosted environment, a license key must be provided and it must be valid. Otherwise, the editor will be disabled. A license key is not required when loading TinyMCE from Tiny Cloud, as it is already under a commercial license.

In addition, when using TinyMCE 8 in a self-hosted environment for commercial use, a commercial license key manager addon is required in order for the editor to operate.

Setting the license

Use TinyMCE with the GPLv2+ license

If the developer intends to self-host TinyMCE under the GPL license and agree to its terms, they can set the license_key config option to 'gpl'. Case sensitivity does not matter.

Example

tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  license_key: 'gpl'
});

Use TinyMCE with a commercial license

If the developer intends to self-host TinyMCE under a commercial license, a valid license key must be provided. Customers who have purchased a self-hosted-eligible license for TinyMCE will find their license key in the account portal. To purchase a commercial license, see available options on the pricing page.

The TinyMCE 8 commercial license key will have a T8LK: prefix.

Example

tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  license_key: 'T8LK:...'
});

Use TinyMCE under GPL with Premium Features

If the developer intends to self-host the TinyMCE editor under the GPL license and agree to its terms, whilst also self-hosting premium features, a valid license key must be provided. Customers who have purchased a self-hosted-eligible license for TinyMCE will find their license key in the account portal. To purchase a commercial license, see available options on the pricing page.

This type of license key is specifically for open source projects that need premium features while maintaining GPL compliance.

The TinyMCE 8 commercial license key will have a GPL+T8LK: prefix.

tinymce.init({
  selector: 'textarea',  // change this value according to your HTML
  license_key: 'GPL+T8LK:...'
});

Setting up the Commercial License Key Manager

'licensekeymanager' does not need to be added to the plugins configuration option.

A commercial license key manager (licensekeymanager) is required to be loaded by the editor when using a commercial license key. The commercial license key manager can be set up like any other plugin for self-hosted installations. However, it does not need to be specified in the plugins configuration option as the editor will attempt to automatically load the license key manager when required.

The commercial license key manager is available:

  • in a purchased self-hosted plan - a licensekeymanager folder will be present in the plugins folder of the TinyMCE .zip.

  • in a purchased self-hosted addon - a licensekeymanager folder will be present in addition to the purchased addon.

  • as a standalone addon - a licensekeymanager folder will be present.

The following setup steps are required for the editor to function with commercial license keys. The editor will not work without proper license key manager configuration.

If hosting TinyMCE standalone, for example, in a /public folder, ensure the licensekeymanager folder is included in the plugins folder with all of the other plugins. The editor will not function without this.

If bundling TinyMCE as part of an application ensure the licensekeymanager/index.js file is imported, otherwise the editor will not function without this.

Example importing the License Key Manager in a bundled application
import 'tinymce/plugins/licensekeymanager';

License Types and Deployment Options

License Key Types

There are two different license types:

  1. GPL license

  2. Commercial license

A commercial license can be broken down into sub-types:

Type Key Features Best For

Time-based Keys

  • Expiry date

  • Optional grace period

  • Premium plugin access

  • No patch version locking

  • Developers that can perform regular license rotation.

  • Developers that want a license key to work across patch versions.

Version-locked Keys

  • Specific patch version only

  • No expiration date

  • Premium plugin access

  • Environments where regular license key rotation cannot be performed.

Deployment Types

Type Key Configuration Capabilities

Cloud-only

  • API key required for:

    • Cloud services access

    • Premium plugin access

    • Automatic updates

  • No license key required as its automatically issued. (defaults to a commercial license)

  • Fully managed service:

    • No local deployment needed

    • Automatic updates and CDN delivery

Self-hosted

  • A GPL or commercial license key is required

  • No API key required

  • Complete local control:

    • Self-hosted editor and premium plugins

    • Custom deployment options

    • No cloud dependencies

    • No internet connectivity needed

Hybrid

  • Both keys required:

    • API key for cloud features

    • License key for self-hosted editor and self-hosted premium plugins

  • Best of both worlds:

    • Access to cloud features

    • Custom deployment options

License States

State Features & Behavior Applicable To

Active

  • Full editor and premium plugin functionality

  • No restrictions on features

All license types

Grace Period

  • All features remain functional

  • Warnings that the license key is in grace period and will be not work in the future

Time-based keys only

Expired

  • Editor is disabled

  • Must obtain a new license key to continue using TinyMCE

Time-based keys only

Invalid

  • Editor is disabled

  • Editor notifications notifying that the license key is not valid

All license types

FAQ

What does the GPL license mean?

TinyMCE 8 is licensed under the GNU General Public License Version 2 or later, often abbreviated to GPLv2+. Read more about the license terms here.

The GPLv2+ license was chosen to provide the best compatibility with existing GPL licensed open source projects.

What is the difference between a license key and the API key?

The API key is used when loading TinyMCE from the Tiny Cloud. The license key is used to declare the license terms when self-hosting TinyMCE.

Who needs to get a license key?

Anyone who intends to self-host TinyMCE will need to obtain a T8LK-prefixed commercial license key or use GPL mode

How will I know if this change affects me?

If TinyMCE detects that the license_key configuration is missing or invalid, it will display a console log warning message and/or editor notification and set the editor to disabled. These warnings and restrictions are designed to ensure compliance and provide transparency during evaluation periods.

If you have actively suppressed or hidden these messages, please remove those overrides to maintain proper license validation. If no notification appears, you are not affected.

Should I be using both an API key and a license key?

See the Deployment Types section above for more information.

Only use both keys in properly configured hybrid deployments. Using both keys without proper hybrid deployment configuration may cause validation conflicts and unexpected behavior.

Will TinyMCE "phone home" to check the license key?

No, TinyMCE does not contact any server to validate the license key for self-hosted deployments.

If using a cloud or hybrid deployment configuration, the license key may be checked by Tiny Cloud.

What happens if I don’t provide a valid license key?

In addition to the editor being disabled, a console log warning message and/or editor notification will persist until a valid license key or 'gpl' is provided.

Why is a license key required?

The license key ensures compliance with TinyMCE licensing terms. It’s part of our efforts to refine the license key system and may have additional functionalities in the future.

How do I obtain a TinyMCE 8 license key?

To obtain a new TinyMCE 8 license key (T8LK-prefixed):

Existing TinyMCE 7 license keys cannot be modified to work with TinyMCE 8 by adding the T8LK prefix. A new TinyMCE 8 license must be obtained through the proper channels listed above.

If im upgrading from TinyMCE 7 how do I get a TinyMCE 8 license key?

If you are using Tiny Cloud (cloud-hosted):

  • No license key is required - simply update your TinyMCE version as your cloud subscription includes the commercial license.

If you are an existing TinyMCE 7 self-hosted customer upgrading to TinyMCE 8:

  1. Active Subscription:

    • Contact your account manager or visit Tiny Cloud Account to obtain a new T8LK-prefixed license key.

  2. Expired Subscription:

    • Contact your account manager or visit Tiny Cloud Pricing to renew your subscription.

    • A new T8LK-prefixed license key will be provided as part of the renewal process.

Your existing TinyMCE 7 license key will continue to work with TinyMCE 7 self-hosted installations. But, you will require a separate T8LK-prefixed license key for TinyMCE 8 editor instances for self-hosted installations.

How can I get further assistance?

For any licensing or technical support questions, see our available options on the support page.

Technical Support

For licensing or technical support:

License Key Error Messages

The following table lists common license key error messages that may appear in the console or editor, along with their descriptions and solutions:

Error Type Console Message Editor Notifications Solution

Invalid license key (General)

The editor is disabled because the license key provided is invalid [${errorType}]

The editor is disabled because the license key provided is invalid.

  • Verify that the license key is correctly copied from your Tiny Cloud Account

  • Ensure there are no extra spaces or characters in the key

  • Check if the key matches your deployment type (Cloud vs Self-hosted)

Load error (Cloud)

The editor is disabled because the TinyMCE API key could not be validated. The TinyMCE Commercial License Key Manager plugin is required for the provided API key to be validated but could not be loaded.

The editor is disabled because the TinyMCE API key could not be validated.

  • Verify that your API key is valid

  • Check if your subscription is active

  • Visit the Support Portal if the issue persists

Load error (Self-Hosted)

The editor is disabled because the license key provided is invalid. The TinyMCE Commercial License Key Manager plugin is required for the provided license key to be validated but could not be loaded.

The editor is disabled because the TinyMCE license key could not be validated.

Expired

The editor is disabled because the license key has expired and is no longer valid

The editor is disabled because the license key has expired and is no longer valid.

  • Visit Tiny Cloud Account to obtain a new license key

  • Update your configuration with the new key

  • Visit the Support Portal if you believe your license should still be valid

Grace period

The editor will be disabled in the near future because the license key has expired

The editor will be disabled in the near future because the license key has expired.

  • Visit Tiny Cloud Account to obtain a new license key

  • Update your configuration before the grace period ends

  • Visit the Support Portal if you need assistance with license renewal

Invalid editor version

The editor is disabled because the license key is not valid with this version of TinyMCE

The editor is disabled because the license key is not valid with this version of TinyMCE.

  • Verify that your TinyMCE version matches the license key version

  • Update either your TinyMCE version or obtain a new license key

  • For version-locked keys, ensure you’re using the correct patch version

No license key

The editor is disabled because a TinyMCE license key has not been provided. Make sure to provide a valid license key or add license_key: 'gpl' to the init config to agree to the open source license terms.

The editor is disabled because a TinyMCE license key has not been provided.

  • Add the license_key parameter to your TinyMCE configuration

  • For GPL usage, set license_key: 'gpl'

  • For commercial usage, enter your valid commercial license key

Invalid plugin

The "${pluginCode}" plugin requires a valid TinyMCE license key

No editor message

  • Verify that your license includes access to the premium plugin

  • Check if your license key is valid and not expired

  • Visit the Support Portal if you believe you should have access to this plugin

Online API Key Error (5xx - Fallback)

The API key could not be validated by the API key validation server [type: ${errorType}${statusMsg}]. Attempting fallback to provided license key.

  • Check your internet connection

  • Verify your firewall settings allow access to the validation server

  • The editor will attempt to use the provided license key as fallback

Online API Key Error (4xx - Disable)

The editor is disabled because the API key could not be validated by the API key validation server [type: ${errorType}${statusMsg}]

The editor is disabled because the API key could not be validated by the API key validation server.

  • Verify that your API key is valid

  • Check if your subscription is active

  • Visit the Support Portal if the issue persists

Detailed Error Descriptions

Invalid license key (General)

The provided license key is not recognized as a valid TinyMCE license key. This can occur if the key is malformed, expired, or doesn’t match your deployment type. For self-hosted installations, ensure you’re using a valid T8LK-prefixed license key. Visit the Tiny Cloud Account to verify your license key.

Load error (Cloud)

The TinyMCE Commercial License Key Manager plugin is automatically loaded from the Tiny Cloud CDN for cloud deployments. If it cannot be loaded, the editor will be disabled. Review your subscription details in your Tiny Cloud Account to check its status.

Load error (Self-hosted)

For self-hosted installations, the TinyMCE Commercial License Key Manager plugin is required for commercial license keys otherwise the editor will be disabled. If it cannot be loaded, see the Setting up the Commercial License Key Manager section for implementation details

Expired

The license key has reached its expiration date and is no longer valid for use. The editor will be disabled until a new valid license key is provided. For time-based keys, refer to the License Key Types section. To renew your license, visit Tiny Cloud Pricing or contact your account manager.

Grace period

The license key has reached its initial expiration date but is still within the grace period. The editor will continue to function but will be disabled when the grace period ends. See the License States section for more information about grace periods. Contact your account manager or visit Tiny Cloud Account to renew your license before the grace period expires.

Invalid editor version

The license key is not compatible with the current version of TinyMCE. This typically occurs with version-locked keys when using a different patch version. Visit TinyMCE Documentation to check your editor version. Review the License Key Types section about version-locked keys. If you’re upgrading from TinyMCE 7, visit Tiny Cloud Account to obtain a new license key or see If im upgrading from TinyMCE 7 how do I get a TinyMCE 8 license key? for guidance. For new licenses, visit Tiny Cloud Pricing.

No license key

No license key has been provided in the TinyMCE configuration. For self-hosted installations, you must either provide a valid commercial license key or explicitly opt into GPL usage. See the Setting up the Commercial License Key Manager section for implementation details and the "What does the GPL license mean?" section for GPL licensing information.

Invalid plugin

The attempted use of a premium plugin without a valid commercial license key. This occurs when trying to use premium features with a GPL license or an invalid commercial license. Review your subscription details in your Tiny Cloud Account to verify plugin access. See the License Types and Deployment Options section for more information about license types and plugin access.

Online API Key Error (5xx - Fallback)

A server-side error occurred while validating the API key. The editor will attempt to use the provided license key as a fallback mechanism. This typically occurs in hybrid deployments - see the Deployment Types section for proper configuration. If the issue persists, visit Support Portal for assistance.

Online API Key Error (4xx - Disable)

The API key validation failed due to an invalid key or inactive subscription. The editor will be disabled until a valid API key is provided. For API key issues, visit Tiny Cloud Account or see the "What is the difference between a license key and the API key?" section for clarification.

For additional assistance, visit our Support Portal or contact your Tiny Cloud Account manager.