PHPackages                             w8tcha/ckeditor-wordcount-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. w8tcha/ckeditor-wordcount-plugin

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

w8tcha/ckeditor-wordcount-plugin
================================

WordCount Plugin for CKEditor Editor

v1.17.12(2y ago)77470.2k↓11.2%112MITJavaScriptCI failing

Since Aug 17Pushed 2mo ago7 watchersCompare

[ Source](https://github.com/w8tcha/CKEditor-WordCount-Plugin)[ Packagist](https://packagist.org/packages/w8tcha/ckeditor-wordcount-plugin)[ Docs](http://w8tcha.github.com/CKEditor-WordCount-Plugin/)[ RSS](/packages/w8tcha-ckeditor-wordcount-plugin/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)DependenciesVersions (11)Used By (0)

CKEditor-WordCount-Plugin
=========================

[](#ckeditor-wordcount-plugin)

[![npm version](https://camo.githubusercontent.com/9deb5de1c41ec688db4f48701b2e711c305fc75e99b7eba5923f26c0691c0da3/68747470733a2f2f62616467652e667572792e696f2f6a732f636b656469746f722d776f7264636f756e742d706c7567696e2e737667)](https://www.npmjs.com/package/ckeditor-wordcount-plugin)[![license](https://camo.githubusercontent.com/ffd5c28ce35b9ba63d306263fa68eb64ff0427d17d0f4cc782a16e2da027df80/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f7738746368612f434b456469746f722d576f7264436f756e742d506c7567696e)](https://camo.githubusercontent.com/ffd5c28ce35b9ba63d306263fa68eb64ff0427d17d0f4cc782a16e2da027df80/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f7738746368612f434b456469746f722d576f7264436f756e742d506c7567696e)

WordCount Plugin for CKEditor v4 that counts the words/characters and shows the word count and/or char count in the footer of the editor.

[![Screenshot](https://camo.githubusercontent.com/2abf7a89f443fb52b2de2f34db2eb74dec43b985077fda87cc56bc00afa089fe/687474703a2f2f7777772e77617463686572736e65742e64652f506f7274616c732f302f73637265656e73686f74732f646e6e2f434b456469746f72576f7264436f756e74506c7567696e2e706e67)](https://camo.githubusercontent.com/2abf7a89f443fb52b2de2f34db2eb74dec43b985077fda87cc56bc00afa089fe/687474703a2f2f7777772e77617463686572736e65742e64652f506f7274616c732f302f73637265656e73686f74732f646e6e2f434b456469746f72576f7264436f756e74506c7567696e2e706e67)

#### Demo

[](#demo)

DISCLAIMER: This is a forked Version, I can not find the original Author anymore if anyone knows the original Author please contact me and I can include the Author in the Copyright Notices.

#### License

[](#license)

Licensed under the terms of the MIT License.

#### Installation

[](#installation)

If building a new editor using the CKBuilder from , there is no need to follow numbers steps below. If adding the Word Count &amp; Char Count plugin to an already established CKEditor, follow the numbered steps below.

1. Download the Word Count &amp; Char Count plugin from  or . This will download a folder named **wordcount\_*version*.zip** or **CKEditor-WordCount-Plugin-master.zip** to your Downloads folder.
2. Download the Notification plugin from . This will download a folder named **notification\_*version*.zip** to your Downloads folder.
3. Extract the .zip folders for both the Word Count &amp; Char Count and Notification plugin. After extraction, you should have a folder named **wordcount** and a folder named **notification**.
4. Move the wordcount folder to /web/server/root/ckeditor/plugins/. Move the notification folder to /web/server/root/ckeditor/plugins/.
5. Add the following line of text to the config.js file, which is located at /web/server/root/ckeditor/.

```
config.extraPlugins = 'wordcount';
```

Below is an example of what your config.js file might look like after adding config.extraPlugins = 'wordcount,notification';

```
CKEDITOR.editorConfig = function( config ) {
  config.extraPlugins = 'wordcount,notification';
  config.toolbar [
  et cetera . . .
  ];
};
```

There now should be text in the bottom right-hand corner of your CKEditor which counts the number of Paragraphs and number of Words in your CKEditor.

To modify the behavior of the Word Count &amp; Char Count text at the bottom right-hand corner of your CKEditor, add the following text to your config.js file located at /web/server/root/ckeditor/config.js.

```
config.wordcount = {

    // Whether or not you Show Remaining Count (if Maximum Word/Char/Paragraphs Count is set)
    showRemaining: false,

	// Whether or not you want to show the Paragraphs Count
    showParagraphs: true,

    // Whether or not you want to show the Word Count
    showWordCount: true,

    // Whether or not you want to show the Char Count
    showCharCount: false,

	// Whether or not you want to Count Bytes as Characters (needed for Multibyte languages such as Korean and Chinese)
	countBytesAsChars: false,

    // Whether or not you want to count Spaces as Chars
    countSpacesAsChars: false,

    // Whether or not to include Html chars in the Char Count
    countHTML: false,

    // Whether or not to include Line Breaks in the Char Count
    countLineBreaks: false,

	// Whether or not to prevent entering new Content when limit is reached.
	hardLimit: true,

	// Whether or not to to Warn only When limit is reached. Otherwise content above the limit will be deleted on paste or entering
    warnOnLimitOnly: false,

    // Maximum allowed Word Count, -1 is default for unlimited
    maxWordCount: -1,

    // Maximum allowed Char Count, -1 is default for unlimited
    maxCharCount: -1,

    // Maximum allowed Paragraphs Count, -1 is default for unlimited
    maxParagraphs: -1,

    // How long to show the 'paste' warning, 0 is default for not auto-closing the notification
    pasteWarningDuration: 0,

    // Add filter to add or remove element before counting (see CKEDITOR.htmlParser.filter), Default value : null (no filter)
    filter: new CKEDITOR.htmlParser.filter({
        elements: {
            div: function( element ) {
                if(element.attributes.class == 'mediaembed') {
                    return false;
                }
            }
        }
    })
};
```

**Note:** If you plan to change some of the JavaScript, you probably will not want to use the CKBuilder, because this will place the JavaScript of the Word Count &amp; Char Count plugin in the ckeditor.js file located at /web/server/root/ckeditor/ckeditor.js. The JavaScript for the Word Count &amp; Char Count plugin in the ckeditor.js file is different than the JavaScript used when manually adding the Word Count &amp; Char Count plugin. When manually adding the Word Count &amp; Char Count plugin, the JavaScript will be in the plugin.js file located at

---

If you want to query the current wordcount you can do it via

```
// get the word count
CKEDITOR.instances.editor1.wordCount.wordCount

// get the char count
CKEDITOR.instances.editor1.wordCount.charCount
```

###  Health Score

55

—

FairBetter than 98% of packages

Maintenance56

Moderate activity, may be stable

Popularity53

Moderate usage in the ecosystem

Community30

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 79.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~239 days

Recently: every ~251 days

Total

10

Last Release

1043d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/16de94421beb05a7d58f6c99074aab73d589c2e222f0256341a7ea36f907f092?d=identicon)[w8tcha](/maintainers/w8tcha)

---

Top Contributors

[![w8tcha](https://avatars.githubusercontent.com/u/722575?v=4)](https://github.com/w8tcha "w8tcha (214 commits)")[![mesutcakir](https://avatars.githubusercontent.com/u/4125460?v=4)](https://github.com/mesutcakir "mesutcakir (6 commits)")[![moshfeu](https://avatars.githubusercontent.com/u/3723951?v=4)](https://github.com/moshfeu "moshfeu (5 commits)")[![bigs21](https://avatars.githubusercontent.com/u/16100207?v=4)](https://github.com/bigs21 "bigs21 (4 commits)")[![aliusa](https://avatars.githubusercontent.com/u/9768908?v=4)](https://github.com/aliusa "aliusa (3 commits)")[![JulesAchiel](https://avatars.githubusercontent.com/u/23188796?v=4)](https://github.com/JulesAchiel "JulesAchiel (3 commits)")[![roukmoute](https://avatars.githubusercontent.com/u/2140469?v=4)](https://github.com/roukmoute "roukmoute (3 commits)")[![vstene](https://avatars.githubusercontent.com/u/1569477?v=4)](https://github.com/vstene "vstene (3 commits)")[![aldatsa](https://avatars.githubusercontent.com/u/4741986?v=4)](https://github.com/aldatsa "aldatsa (2 commits)")[![andreasen](https://avatars.githubusercontent.com/u/593994?v=4)](https://github.com/andreasen "andreasen (2 commits)")[![beltofte](https://avatars.githubusercontent.com/u/108249?v=4)](https://github.com/beltofte "beltofte (2 commits)")[![davidemontorio](https://avatars.githubusercontent.com/u/5663938?v=4)](https://github.com/davidemontorio "davidemontorio (2 commits)")[![joelposti](https://avatars.githubusercontent.com/u/2562206?v=4)](https://github.com/joelposti "joelposti (2 commits)")[![sweoggy](https://avatars.githubusercontent.com/u/5914253?v=4)](https://github.com/sweoggy "sweoggy (2 commits)")[![Walteann](https://avatars.githubusercontent.com/u/24998960?v=4)](https://github.com/Walteann "Walteann (2 commits)")[![Maxhou00](https://avatars.githubusercontent.com/u/16189649?v=4)](https://github.com/Maxhou00 "Maxhou00 (1 commits)")[![fodordavid](https://avatars.githubusercontent.com/u/14909978?v=4)](https://github.com/fodordavid "fodordavid (1 commits)")[![e404r](https://avatars.githubusercontent.com/u/48912232?v=4)](https://github.com/e404r "e404r (1 commits)")[![murashki](https://avatars.githubusercontent.com/u/7878698?v=4)](https://github.com/murashki "murashki (1 commits)")[![Mushroom7](https://avatars.githubusercontent.com/u/13644864?v=4)](https://github.com/Mushroom7 "Mushroom7 (1 commits)")

---

Tags

javascripthtmltexteditorwysiwygCKEditorrichtext

### Embed Badge

![Health badge](/badges/w8tcha-ckeditor-wordcount-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/w8tcha-ckeditor-wordcount-plugin/health.svg)](https://phpackages.com/packages/w8tcha-ckeditor-wordcount-plugin)
```

###  Alternatives

[ckeditor/ckeditor

JavaScript WYSIWYG web text editor.

5234.2M76](/packages/ckeditor-ckeditor)[unisharp/laravel-ckeditor

JavaScript WYSIWYG web text editor (for laravel).

377762.3k5](/packages/unisharp-laravel-ckeditor)[froala/wysiwyg-editor

A beautiful jQuery WYSIWYG HTML rich text editor. High performance and modern design make it easy to use for developers and loved by users.

5.4k306.9k3](/packages/froala-wysiwyg-editor)[tinymce/tinymce

Web based JavaScript HTML WYSIWYG editor control.

1697.5M106](/packages/tinymce-tinymce)[froala/yii2-froala-editor

A beautiful WYSIWYG HTML text editor based on HTML5 technology. Cross browser, with mobile support, high performance and Retina Ready modern design.

109229.5k6](/packages/froala-yii2-froala-editor)[techguy/laravel-ckeditor

JavaScript WYSIWYG web text editor (for laravel).

1113.5k](/packages/techguy-laravel-ckeditor)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
