TinyMCE spellchecker: choose browser checking or the premium plugin

For the browser's own spellcheck in TinyMCE, set browser_spellcheck: true and check the browser's spelling language and context-menu access. For TinyMCE's integrated spelling service, configure the premium tinymcespellchecker plugin and the appropriate cloud or self-hosted service. These are different routes; enabling one option does not install the other. TinyMCE spelling options

A library newsletter can make the problem easy to reproduce: “The library hosts a writting workshop.” Keep that intentional misspelling in a development draft while diagnosing missing suggestions. Correct spelling is only one check; the software cannot establish that the workshop details are right.

Try the browser route with its own menu

In an application where TinyMCE is already loaded, a minimal initialization for a notice field is:

tinymce.init({
  selector: '#notice',
  browser_spellcheck: true,
  contextmenu: false
});

The page must contain the matching editable field, and your existing loading and license configuration still applies. If the application already initializes that field, update that configuration rather than creating a second editor on it.

Disabling TinyMCE's context menu makes the native right-click menu available in this example. If you retain the TinyMCE menu, the documentation describes Ctrl+right-click for access to the browser menu, unless contextmenu_never_use_native prevents it. Browser-based spell checking

Type the test sentence yourself, focus the editor, and inspect the misspelled word. If suggestions do not appear, confirm that the browser's own spelling feature and intended English dictionary are enabled. Browser behavior and dictionary availability are part of this route; TinyMCE does not supply a browser dictionary through browser_spellcheck.

Use the premium plugin when the application already has access

TinyMCE's current documentation identifies Spell Checker as available through paid subscriptions. With Tiny Cloud, the service side is configured through that route. Self-hosted installations also need a configured server-side spelling service. Confirm the application's existing entitlement and deployment before adding plugin settings. Spell Checker installation

For a current Tiny Cloud integration with access to the plugin, merge these options into the existing initialization:

// Configuration fragment, not a second tinymce.init() call.
const spellingOptions = {
  plugins: 'tinymcespellchecker',
  toolbar: 'spellchecker',
  content_language: 'en-US',
  spellchecker_active: true
};

Preserve the existing plugins and toolbar entries when merging this fragment. Replacing those lists wholesale can remove unrelated controls. Do not invent a spellchecker_rpc_url for a cloud setup or copy an old example's PHP endpoint into a current installation.

Check the proofing language rather than the toolbar language

The current documentation, checked October 23, 2026, marks spellchecker_language deprecated from TinyMCE 8.5 and recommends content_language. The latter sets the content language and serves as the default proofing language when the plugin is active. It is separate from language, which controls the editor's user interface. Use the documentation matching your installed version. Content localization

For an existing initialized notice editor, inspect the plugin's active language through its API:

const editor = tinymce.get('notice');
const spelling = editor?.plugins.tinymcespellchecker;
if (spelling) {
  console.log(spelling.getLanguage());
}

The API guard distinguishes a missing plugin from a language mismatch. A user's previously chosen language can affect the active setting; inspect what the plugin reports and change it through the supported language control or API. Avoid clearing all browser storage merely to investigate a dictionary selection, because the application may keep unrelated drafts and preferences there.

Diagnose the first failed step

Observation Check next
Browser route has no native suggestions Browser spelling setting, dictionary, and native context-menu access
Premium plugin object is absent Plugin loading, initialization list, and available access
Plugin is present but checking is off Active state and the spelling toolbar control
Suggestions use the wrong language Active proofing language and the user's selected language
A service error appears Actual spelling request, response, and self-hosted service configuration if applicable

The plugin exposes SpellcheckError for service failures. Handle it visibly in the application instead of treating missing underlines as proof that the text has no errors. The plugin API and events describe that event and the language methods.

After the intended checker offers a suitable correction for “writting,” accept it and save the newsletter through the application's existing route. Reopen it to confirm “writing” survived. The TinyMCE current-content guide covers that separate synchronization step. Finally, read the whole newsletter yourself, including names, dates, and workshop details that a spelling dictionary cannot verify.

Keep reading