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 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.
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.
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
|
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 theplugins
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.
import 'tinymce/plugins/licensekeymanager';
License Types and Deployment Options
License Key Types
There are two different license types:
-
GPL license
-
Commercial license
A commercial license can be broken down into sub-types:
Type | Key Features | Best For |
---|---|---|
Time-based Keys |
|
|
Version-locked Keys |
|
|
Deployment Types
Type | Key Configuration | Capabilities |
---|---|---|
Cloud-only |
|
|
Self-hosted |
|
|
Hybrid |
|
|
License States
State | Features & Behavior | Applicable To |
---|---|---|
Active |
|
All license types |
Grace Period |
|
Time-based keys only |
Expired |
|
Time-based keys only |
Invalid |
|
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 customers: Contact your account manager or visit Tiny Cloud Account to upgrade your subscription.
-
New customers: Visit Tiny Cloud Pricing to purchase a new license.
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:
-
Active Subscription:
-
Contact your account manager or visit Tiny Cloud Account to obtain a new T8LK-prefixed license key.
-
-
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:
-
API key issues: Visit Tiny Cloud Account
-
License key issues: Visit Tiny Cloud Account or contact your account manager
-
Technical support: Visit Support Portal
-
Documentation: See TinyMCE Docs
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 |
---|---|---|---|
The editor is disabled because the license key provided is invalid [${errorType}] |
The editor is disabled because the license key provided is invalid. |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
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. |
|
|
The "${pluginCode}" plugin requires a valid TinyMCE license key |
No editor message |
|
|
The API key could not be validated by the API key validation server [type: ${errorType}${statusMsg}]. Attempting fallback to provided license key. |
|
||
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. |
|
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.