Nanospell Spell Checking Software Components
JavaScript jQuery CKEditor TinyMCE PHP ASP.Net Classic ASP

tinymce spellchecker

The TinyMCE Spellchecker Plugin Coders Rely On

NanoSpell spellchecker plugin for tinymce adds automatic, seamless international spellchecking in tinymce 4.x as the users type. It is perfect for secure applications and websites where user experience counts:

Download nanospell for TinyMCE (0.7MB)   »

Live Demo - TinyMce Spellchecker



NanoSpell reproduces native operating system spellchecking within TinyMCE. The plugin automatically underlines typing mistakes, and provides highly accurate suggestions on right click.

We have designed for a seamless experience with zero learning curve for your users.


Source Code

<script src="http://tinymce.cachefly.net/4.0/tinymce.min.js"></script>
<script>
tinymce.init({
	selector:'textarea',
	external_plugins: {"nanospell": "/nanospell/plugin.js"},
	nanospell_server: "php" // choose "php" "asp" "asp.net" or "java"
	}); 
</script>

As you can see - nanospell spellchecker for tinymce even wirks with CDN hosted versions of tinymce.

Get Started

Step 1 - Download the NanoSpell plugin

Download NanoSpell tinymce spellchecker and unzip it anywhere in your web project.

Step 2 - Test it locally

Browse to /path/to/nanospell/getstarted.html
The page will verify that everything is working for you, and even provide personalized code samples.

Step 3 - Code it

Just copy 2 lines of code into your tinymce.init statement to register NanoSpell as an external tinymce spellchecker plugin.

tinymce.init({
..	
	external_plugins: {"nanospell": "/path/to/nanospell/plugin.js"},
	nanospell_server: "php" // choose "php" "asp" "asp.net" or "java"
..	
});

Read more about compatibility, settings and dictionaries.






Intuitive

“Spellcheck as you type” in tinmce with zero learning curve.

Cross Platform

Easily set-up on modern web hosting by uploading 1 folder.

Developer Friendly

Well documented and kept clean, simple & stable.

Private

Never sends spellchecking data across the internet to remote spellchecking servers.

International

Free tinymce spellcheck dictionaries from across the world.

Supported

Actively maintained and supported by the original developers who love TinyMCE



In a nutshell, what is TinyMCE Spellchecker?

It is a popular plug-in for the TinyMCE HTML editor, which adds contextual spellchecking. This format of spellchecking is familiar to almost everyone.


TinyMCE spellcheck puts ‘red lines’ under typing mistakes, and allows the user to right click to correct the word in dozens of international languages. We have also added advanced dictionaries for scientists, medical professionals, lawyers and engineers because we understand that the majority use case will be on business and enterprise systems. 

The vocabulary can be fine tuned by the developer, and every user gets a personal dictionary to which they can add words without affecting other users.

Why did we make the Nanospell TinyMCE Spellchecker?

TinyMCE is ubiquitous. We find it in a high proportion of enterprise business products and popular web applications including WordPress, Drupal and many more. 

As web developers, our clients and end-users have become accustomed to using contextual spellcheck. Within web applications, wherever TinyMCE is used, this spellchecking is not available. This is because TinyMCE overrides native user interface elements to provide advanced rich editor. It’s use of proprietary contextual menus disallow the native browser spellcheckers from working.

This means that our most common and effective data quality technology is not available in some of our most popular web enabled applications. The problem only gets worse as businesses applications are moving away from the desktop and onto the web.

We decided to build TinyMCE spellcheck to fix our own problem, and bring back that loved user interface component - contextual spellchecking within TinyMCE. This in turn brings contextual spellchecking to all the products which use TinyMCE, including the custom business systems we produced for a living.

Our content management system clients and users were crying out this product… So we answered there needs and and built it in 2014. Development continues to this day.

What is a business advantage of using TinyMCE Spellchecker

Any business using TinyMCE is by definition web enabled, and gathering and publishing data through the web platform. This plug-in helps to guarantee the quality of that data, so that it remains searchable, correct and accurate. in other words: so we don't publish cruft.

TinyMCE spellcheck saves significant human resource in web publishing, given that it reduces the need for human intervention correction and proofreading which can take up to 20% of the data entry process within a content management system or enterprise application.

In short, it reduces mistakes and saves time and money.

How does TinyMCE Spellchecker work?

TinyMCE spellchecker is not a simple plug-in. it is easy to use but the internal mechanics are rather complicated and required a huge investment of time to get right.

The first part of the plug-in analyses what has been typed, identifying new words which have not yet in spellcheck and finds an appropriate time to request spelling advice so that the users experience is seamless. This is carried out entirely in JavaScript.

The mechanics of spellchecking use Ajax ( or to be more precise Ajax remote procedure calls, which allow for HTTPS security). Requests are silently sent to a back-end which we have already developed for you. it is implemented such that it can be deployed on almost any web server including Windows IIS, Apache or or Nginx.

Finally Boolean spellchecking information in addition to suggestions I sent back from the dictionary and pushed to the front end where DOM manipulation and JavaScript allows the familiar red wiggles. we use TinyMCE native menus to provide the contextual right click menus which we all expect.

How is the back end coded?

The backend is implemented in three languages in parallel PHB for its ubiquity, C# for Windows compatibility, and VBScript for legacy support. In combination, they cover the vast majority of Web server configurations. Support is also available for Java environment although it does require PHP CLI to be installed on the server.

The spellchecking algorithm uses combination of brute force, phonetics, and string analysis algorithms used in DNA processing to provide excellent suggestions for typographic mistakes. These can be orders of magnitude more accurate than those we find in free spellchecking libraries, and on a par with the best commercial ones such that we might find in Microsoft Word.

The fact that we use our own dictionary format, and allow free download of these dictionary from this site means that developers can guarantee availability of dictionaries, even on legacy browsers or when users are entering data in more than one language.



 How Secure is this Plugin ?


Though no software application can guarantee 100% percent security, TinyMCE spellcheck by nano spell is certainly a step in the right direction compared to alternatives. It is unlikely to ever be only weakest link in the chain, and it is as secure as the intranets and websites on which it sits. It has being security probed by several government for security, and we have worked with them.

We perform all spellchecking operations on your own servers - never sending any data to 3rd parties. We certainly do not send any data to Google for spellchecking which several TinyMce plug-ins have done in the past.

Is TinyMCE spellcheck Free & Open Source?

This plug-in is open source to the extent that key plug-in files are left un-modified - available for developers to understand how they work and modify/extend within the terms of their license. we have also started a Github repository for examples & demos, as well as community feedback and involvement at https://github.com/tinymce-spellcheck/tinymce-spellchecker-demo.

Certain files (typically in the backend) are protected and obfuscated to protect intellectual property.

The technology is free to use in development, this includes your localhost and can include testing servers as well. Deployment to any production server will require an appropriate tinymce spellchecker license. Your contribution allows us continue to build this application to the best of our ability rather than leave it half finished as so many projects have ended in the past.

What other options are available to provide spellchecking in TinyMCE?

Nano spells TinyMCE spellcheck’s unique feature is that all the spellchecking is processed locally, using technology which is already on your web server - leading to a five-minute install rather than a five day headache.

TinyMCE does have other spellchecking plug-ins which one might consider.

Native Spellchecking


The most obvious would be the browser spellcheck plug-in, which does to a limited extent bring contextual spellchecking practice TinyMCE. It seems obvious, but if TinyMCE were able to operate using browser native spellchecking it would do so. 

Enabling browsers spellcheck disables many of TinyMCE’s key features - most noticeably contextual menus and the ability to use right click for user interface actions. This invalidated actions such as image, table and link ensiling in situ.

SCAYT

There is also another popular spellchecking plug-in for TinyMCE called SCAYT - which stands for spell-check-as-you-type. It is provided by spellchecker.net and is an excellent solution for a low-budget project with low privacy/security concerns. 

Issues with the solution are that all of the data entered through TinyMCE is sent to third-party servers across the Internet potentially compromising any proprietary or privileged information either en route, or by security breach at the endpoint. In addition this plug-in is paid for by advertising which puts advertising pop-ups all over TinyMCE as it is used which is inappropriate for the vast majority of use cases given there are alternatives. Removing these adverts can be achieved though annual licenses costing more than our clients were willing to pay.

Community

There are also a wealth spellchecking plug-ins developed by community members which can be found on Google and Github. Some of these are legacy, and involved hacking into Google’s Apis to provide spellchecking results - in action which was later deemed unlawful by Google.


Others provide spellchecking results using Linux packages from GNU such as pspell, which may be an unacceptable solution given a need for root access to the server, and low quality of spellchecking suggestions. This approach also requires that either custom PHP modules to be compiled, or binaries to be executed within the web application space on Apache - a complicated process of many caveats which many of our clients were not willing to accept.

How is TinyMCE Spellchecker supported?

We are open about the fact that we are not a big firm, just a small, friendly team with specialist skills who still maintain our own code. 

 We want to know if you do find a way can be improved or an issue and the best way to contact us is by email dev@tinymcespellcheck.com . You can expect a friendly, open minded response.
 You can also communicate with us through the Github repository of demos and examples - using the issue tracker or contribute to the wiki.

For paying customers, support is prioritized. SLA agreements can also be arranged for enterprise users.



How compatible is TinyMCE Spellchecker?

TinyMCE spellcheck's primary compatibility is obviously the TinyMCE. we support TinyMCE version 4 and above. We cannot unfortunately support TinyMCE 3,x simply because it is wiser to invest development time in the future rather than the past.



Browsers


TinyMCE spellcheck is compatible with all the browsers was TinyMCE for supports. This includes safari chrome Opera and Internet Explorer on desktop and mobile platforms. please consult TinyMCE documentation for more information.


Servers

In terms of Web server compatibility the first thing one notices this does not work using the file:// protocol. The backend requires a real Web server which maybe your localhost a staging environment for your production Web server. we support IIS , engineX and apache on Windows, Linux, Mac OSX, BSD and Solaris. We also support Java web environment such as tomcat using the Java PHP bridge ( and installation which is slightly more complicated).

To find out more simply download the plug-in and browse to nanospell/get-started.html which will walk you through step-by-step. This webpage will actually analyze your server environment finding your best installation options and then produce context-aware, personalized code samples for you.

What spellchecking dictionaries are available for TinyMCE?

We have built international dictionaries for a host of languages incuding German ,Dutch, French, and Spanish but also Malay and Welsh. We also allow freely downloadbile specialist dictionaries for professionals such as lawyers doctors and engineers.

The vocabulary can be further tuned by the developer, using simple text files to add and remove words, as well as control specific suggestions.

Do we develop any other products?

We also produce a similar plug-in for CKEditor with almost identical functionality, and the same dictionary format.