/ckeditor4

The best enterprise-grade WYSIWYG editor. Fully customizable with countless features and plugins.

Primary LanguageRich Text FormatOtherNOASSERTION

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.13.0/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-2020, CKSource - Frederico Knabben. All rights reserved.

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