Installing TinyMCE from NPM
Install TinyMCE using npm or Yarn
TinyMCE 7 is a powerful and flexible rich text editor that can be embedded in web applications. This quick start covers how to add a TinyMCE editor to a web page using npm or Yarn.
To add TinyMCE to a project:
-
Using npm, run the following on a command line:
npm install tinymce@^7
-
Using Yarn, run the following on a command line:
yarn add tinymce@^7
The location of the main TinyMCE script will be: node_modules/tinymce/tinymce.min.js
. Ensure the tinymce
directory containing the tinymce.min.js
file is accessible for the target page or application by either:
-
Using a webserver route, or
-
Copying the
tinymce
directory to a public folder using a build tool such as Gulp or Webpack.
Include the TinyMCE script
Include the following line of code in the <head>
of an HTML page.
<script src="/path/or/uri/to/tinymce.min.js" referrerpolicy="origin"></script>
Initialize TinyMCE as part of a web form
Initialize TinyMCE 7 on any element (or elements) on the web page by passing an object containing a selector
value to tinymce.init()
. The selector
value can be any valid CSS selector.
For example: To replace <textarea id="mytextarea">
with a TinyMCE 7 editor instance, pass the selector '#mytextarea'
to tinymce.init()
.
For example:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="/path/or/uri/to/tinymce.min.js" referrerpolicy="origin"></script>
<script>
tinymce.init({
selector: '#mytextarea',
license_key: 'gpl|<your-license-key>'
});
</script>
</head>
<body>
<h1>TinyMCE Quick Start Guide</h1>
<form method="post">
<textarea id="mytextarea">Hello, World!</textarea>
</form>
</body>
</html>
Adding this content to an HTML file and opening it in a web browser will load a TinyMCE editor, such as:
-
TinyMCE
-
HTML
-
JS
-
Edit on CodePen
<textarea id="default">Hello, World!</textarea>
tinymce.init({
selector: 'textarea#default'
});
Setting the license
Use TinyMCE with the GPLv2+ license
If the developer intends to self-host TinyMCE under the GPL license, 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.
Example
tinymce.init({
selector: 'textarea', // change this value according to your HTML
license_key: '<your-license-key>'
});
For more information on licensing, see the License Key guide.
Save the content from the editor
To retrieve content from the editor, either process the content with a form handler or use the getContent API.
If you use a form handler, once the <form>
is submitted, TinyMCE 7 will POST
the content in the same way as a normal HTML <textarea>
, including the HTML elements and inline CSS of the editor content. The host’s form handler can process the submitted content in the same way as content from a regular <textarea>
.
Next Steps
For information on:
-
Customizing TinyMCE, see: Basic Setup.
-
The three editor modes, see:
-
Adding TinyMCE plugins, see: Work with plugins to extend TinyMCE.
-
Localizing the TinyMCE editor, see: Localize TinyMCE.
-
For information on the CSS required to render some TinyMCE elements outside of the editor, see: CSS for rendering TinyMCE content outside the editor.