Back to WordPress Glossary

What is TinyMCE?

TinyMCE is an open-source JavaScript rich text editor that developers embed in websites and apps to add word-processor-style, what-you-see-is-what-you-get (WYSIWYG) editing. WordPress users know it best as the software behind the Classic Editor’s Visual tab. Maintained by Tiny for more than 20 years, it’s still actively developed and used far beyond WordPress.

More about TinyMCE

TinyMCE is an open-source JavaScript library that turns a plain text area on a web page into a rich text editor. Instead of writing HTML, you format content with a toolbar: bold, links, lists, images, special characters, undo and redo. Using it feels like using a word processor, right down to keyboard shortcuts for copy, paste, select all, and bold.

WordPress made TinyMCE famous. Before the block editor arrived, the default editing screen was the Classic Editor, and its visual editor tab was a TinyMCE instance. That history is why browser-based WYSIWYG (what you see is what you get) editing feels familiar to long-time WordPress users: formatting a post meant using TinyMCE, whether you knew its name or not.

How TinyMCE works

TinyMCE initializes on an element you name. Tiny's quick-start guide shows the sequence: load the TinyMCE script, then pass a CSS selector to one JavaScript call, such as tinymce.init({ selector: '#mytextarea' }). The library replaces that text area with an editable surface and a toolbar, turns each formatting action into HTML, and keeps that HTML synchronized with the underlying field, so the form submits formatted content like any other input.

Initialization doesn't make the output trustworthy, though. TinyMCE filters content in the browser, and Tiny's security guide describes how the DOMPurify library sanitizes HTML to protect against cross-site scripting (XSS). That filtering can still be bypassed: in May 2026, a stored XSS flaw (CVE-2026-47759) slipped crafted attributes past TinyMCE's sanitization and was fixed in versions 5.11.1, 7.9.3, and 8.5.1. So validate and sanitize the submitted HTML on your server too, the same way you treat any other user input.

Current version and license

As of August 2026, the current major version is TinyMCE 8: Tiny's changelog lists 8.8.2, released July 27, 2026, as the latest build. The editor is licensed under the GNU General Public License version 2 or later (GPLv2+). Tiny Technologies, the company that builds and maintains it, announced the move to GPLv2+ with TinyMCE 7 on March 20, 2024. Older versions remain under the licenses they originally shipped with.

TinyMCE turned 20 in 2024, and Tiny credits that longevity to adoption by open-source projects like WordPress and Joomla, plus commercial funding from the start: the company lives on selling commercial licenses and support alongside the free, self-hosted core. If your product's terms can't comply with the GPL, the commercial license is the route Tiny points you to.

TinyMCE vs. the block editor

The 2 editors treat a post differently, and the difference matters more than the toolbars suggest:

Side-by-side comparison of the two WordPress editing models: TinyMCE in the Classic Editor treats a post as one continuous rich-text document in a single HTML stream, while the block editor breaks the same content into separate blocks — heading, paragraph, image — that can each be moved and styled independently.
  • TinyMCE and the Classic Editor treat a post as one continuous rich-text document, like a word-processor file: a single stream of HTML from the first line to the last.
  • The block editor (Gutenberg) treats every paragraph, image, and embed as a separate block you can rearrange, style, and reuse. Block themes and full-site editing work only with blocks.

Choose classic editing when a workflow you depend on needs the old edit screen, like plugins built around its meta boxes. Choose blocks for everything else, especially on a block theme, where the classic screen isn't an option. For where block editing is headed, see our overview of the state of WordPress in 2026.

How to keep using TinyMCE in WordPress

The block editor has been the WordPress default since version 5.0 shipped in December 2018. Two plugins keep TinyMCE within reach:

  • Classic Editor is the official plugin maintained by the WordPress team. It restores the previous editor and lets administrators set a site-wide default, let each user pick, or allow a choice per post. It's still maintained (version 1.7.0 added a hotfix for WordPress 7.0), but it works only with classic themes: block themes rely on blocks, so it doesn't support full-site editing.
  • Advanced Editor Tools (formerly TinyMCE Advanced) customizes the TinyMCE toolbar and adds a Classic Paragraph block inside the block editor. It has an option to replace the block editor entirely, though its own description recommends the Classic Editor plugin if you want the two editors side by side.

To bring the old screen back, install Classic Editor, then pick your default editor under Settings > Writing.

TinyMCE's future in WordPress

WordPress Core still bundles TinyMCE for legacy editing: it powers the Classic block and the classic editing screens. Bundled is not the same as default, though; the block editor has held the default role since version 5.0. What could change is the bundling itself. A Gutenberg tracking issue opened on May 7, 2026, proposes deprecating the Classic block, adding migration notices targeted at WordPress 7.1, and later making the Classic block, and eventually TinyMCE itself, fully opt-in. One part is already current behavior: the Classic block is hidden from the block inserter by default. The rest is an active proposal, not released behavior.

The practical move: convert old Classic-block content to blocks instead of building new workflows on it. Outside WordPress, the library isn't going anywhere.

Frequently Asked Questions

Yes. Self-hosting TinyMCE is free under the GPLv2+ license, and Tiny sells commercial licenses and a paid cloud service for products that need more. If you run an old version, note that Tiny recommends upgrading to TinyMCE 8 to keep receiving security updates.
Plenty of projects. TinyMCE is an independent JavaScript library, not a WordPress component. Beyond WordPress and Joomla, Tiny names Atlassian, Medium, and Evernote among products it helped launch, and its GitHub page counts more than 350 million downloads a year.
No. TinyMCE is the standalone editing library, and the Classic Editor is the WordPress screen that embeds it. Only the Classic Editor's Visual tab runs TinyMCE.
Load the editor from Tiny's cloud or self-host the package, then attach it to a text area on your page. Tiny's documentation covers plain JavaScript setups plus official integrations for React, Angular, Vue.js, and other frameworks.
Special Offer

Powerful WordPress Hosting

Reliable, lightning-fast hosting solutions specifically optimized for WordPress. Find the perfect plan for you by clicking below.

WordPress Hosting Plans