Skip to content
The best enterprise-grade WYSIWYG editor. Fully customizable with countless features and plugins.
Rich Text Format HTML JavaScript PHP CSS Shell
Branch: major
Clone or download
f1ames Merge pull request #3491 from ckeditor/t/3398
Create whitelist of branches to build on Travis
Latest commit 5fa2a5b Oct 4, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Typo fix. Jun 25, 2019
.npm Updated package naming. Sep 26, 2019
adapters Change name to be consistent. Mar 7, 2019
core Selection optimization - fixed editable key events listeners. Sep 25, 2019
dev Updated CI scripts. Sep 12, 2019
lang Updated language files. Sep 18, 2019
plugins Always select bookmarks after copying widget. Sep 24, 2019
samples Correct link href. Jul 30, 2019
skins Revert improvements to dialog tab list styling, because it would be n… Sep 9, 2019
tests Add issues numbers to unit tests [ci skip]. Sep 25, 2019
vendor Updated promise with unminified version. May 21, 2019
.editorconfig Initialized .editorconfig. Aug 18, 2014
.gitattributes Initialized .gitattributes Aug 14, 2014
.gitignore Updated gitignore to include issue template files. Mar 8, 2019
.jscsrc JSCS now requires line feed at file end Jan 19, 2018
.jshintrc Update dependencies. Jan 20, 2017
.mailmap Reordered mailmap alphabetically. Apr 17, 2014
.travis.yml Merge pull request #3491 from ckeditor/t/3398 Oct 4, 2019
CHANGES.md Started 4.14.0 development. Sep 26, 2019
LICENSE.md Add info about RequireJS to the license. Sep 4, 2019
README.md Updated badge. Sep 24, 2019
bender.ci.js Force bender to use headless browsers. Feb 8, 2019
bender.js Removed leftovers. Jun 3, 2019
ckeditor.js Update year in license banner. Jan 2, 2019
config.js Added `pastefromgdocs` plugin to default config. [skip ci] Sep 16, 2019
contents.css Update year in license banner. Jan 2, 2019
gruntfile.js Updated gruntfile. May 21, 2019
package.json Started 4.14.0 development. Sep 26, 2019
styles.js Update year in license banner. Jan 2, 2019

README.md

CKEditor 4 - Smart WYSIWYG HTML editor Tweet

npm version GitHub tag

Build Status Dependencies Dev dependencies

Join newsletter Follow Twitter

A highly configurable WYSIWYG HTML editor with hundreds of features, from creating rich text content with captioned images, videos, tables, media embeds, emoji or mentions to pasting from Word and Google Docs and drag&drop image upload.

Supports a broad range of browsers, including legacy ones.

CKEditor 4 screenshot

Getting started

Using npm package

npm install --save ckeditor

Use it on your website:

<div id="editor">
    <p>This is the editor content.</p>
</div>
<script src="./node_modules/ckeditor/ckeditor.js"></script>
<script>
    CKEDITOR.replace( 'editor' );
</script> 

Using CDN

Load the CKEditor 4 script from CDN:

<div id="editor">
    <p>This is the editor content.</p>
</div>
<script src="https://cdn.ckeditor.com/4.12.1/standard/ckeditor.js"></script>
<script>
    CKEDITOR.replace( 'editor' );
</script>

Integrating with Angular and React

Refer to official usage guides for the ckeditor4-angular and ckeditor4-react packages.

Manual download

Visit the CKEditor 4 download section on the CKEditor website to download ready-to-use CKEditor 4 packages or to create a customized CKEditor 4 build.

Features

  • Over 500 plugins in the Add-ons Repository.
  • Pasting from Microsoft Word, Excel and Google Docs.
  • Drag&drop image uploads.
  • Media embeds to insert videos, tweets, maps, slideshows.
  • Powerful clipboard integration.
  • Content quality control with Advanced Content Filter.
  • Extensible widget system.
  • Custom table selection.
  • Accessibility conforming to WCAG and Section 508.
  • Over 70 localizations available with full RTL support.

Browser support

IE / Edge
IE / Edge
Firefox
Firefox
Chrome
Chrome
Chrome
Chrome (Android)
Safari
Safari
iOS Safari
iOS Safari
Opera
Opera
IE8, IE9, IE10, IE11, Edge latest version latest version latest version latest version latest version latest version

Find out more in the Browser Compatibility guide.


Working with the ckeditor4 repostiory

Attention: The code in this repository should be used locally and for development purposes only. We do not recommend using it in a production environment because the user experience will be very limited.

Code installation

There is no special installation procedure to install the development code. Simply clone it to any local directory and you are set.

Available branches

This repository contains the following branches:

  • master – Development of the upcoming minor release.
  • major – Development of the upcoming major release.
  • stable – Latest stable release tag point (non-beta).
  • latest – Latest release tag point (including betas).
  • release/A.B.x (e.g. 4.0.x, 4.1.x) – Release freeze, tests and tagging. Hotfixing.

Note that both master and major are under heavy development. Their code did not pass the release testing phase, though, so it may be unstable.

Additionally, all releases have their respective tags in the following form: 4.4.0, 4.4.1, etc.

Samples

The samples/ folder contains some examples that can be used to test your installation. Visit CKEditor 4 Examples for plenty of samples showcasing numerous editor features, with source code readily available to view, copy and use in your own solution.

Code structure

The development code contains the following main elements:

  • Main coding folders:
    • core/ – The core API of CKEditor 4. Alone, it does nothing, but it provides the entire JavaScript API that makes the magic happen.
    • plugins/ – Contains most of the plugins maintained by the CKEditor 4 core team.
    • skin/ – Contains the official default skin of CKEditor 4.
    • dev/ – Contains some developer tools.
    • tests/ – Contains the CKEditor 4 tests suite.

Building a release

A release-optimized version of the development code can be easily created locally. The dev/builder/build.sh script can be used for that purpose:

> ./dev/builder/build.sh

A "release-ready" working copy of your development code will be built in the new dev/builder/release/ folder. An Internet connection is necessary to run the builder, for the first time at least.

Testing environment

Read more on how to set up the environment and execute tests in the CKEditor 4 Testing Environment guide.

Reporting issues

Use the CKEditor 4 GitHub issue page to report bugs and feature requests.

License

Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.

For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license

You can’t perform that action at this time.