ckeditor / ckeditor4

The best enterprise-grade WYSIWYG editor. Fully customizable with countless features and plugins.
https://ckeditor.com/ckeditor-4
Other
5.8k stars 2.48k forks source link
ckeditor ckeditor4 contenteditable html-editor rich-text-editor rte wysiwyg

CKEditor 4 LTS - Smart WYSIWYG HTML editor Tweet

npm version GitHub tag CircleCI

Join newsletter Follow Twitter

⚠️ CKEditor 4: End of Life and Extended Support Model until Dec 2026

CKEditor 4 was launched in 2012 and reached its End of Life (EOL) on June 30, 2023.

A special edition, CKEditor 4 LTS ("Long Term Support"), is available under commercial terms ("Extended Support Model") for anyone looking to extend the coverage of security updates and critical bug fixes.

With CKEditor 4 LTS, security updates and critical bug fixes are guaranteed until December 2026.

Important update for CKEditor 4 Users

Starting July 1, 2024, on the first anniversary of the end of life of CKEditor 4, we will activate security notifications for CKEditor 4. This change will impact the open-source version 4.22 and all earlier versions served via our CDN. Read more about the planned changes in a dedicated article.

About this repository

Master branch = CKEditor 4 LTS

After June 30, 2023 the master version of the LICENSE.md file changed to reflect the license of CKEditor 4 LTS available under the Extended Support Model.

This repository now contains the source code of CKEditor 4 LTS that is protected by copyright law.

Getting CKEditor 4 (Open Source)

You may continue using CKEditor 4.22.1 and below under the open source license terms. Please note, however, that the open source version no longer comes with any security updates, so your application will be at risk.

In order to download the open source version of CKEditor 4, use tags 4.22.1 and below. CKEditor 4.22.1 was the last version of CKEditor 4 available under the open source license terms.

Summary of options after the CKEditor 4 End of Life

Upgrading to CKEditor 5

CKEditor 5 is a great new editor with lots of exciting features.

Before upgrading, please be aware of the following changes:

Using an outdated, unsupported version

You may continue using CKEditor 4.22.1 (or below). The license terms of the older CKEditor 4 versions have not changed. However, please note that by using software that is no longer maintained, you are introducing a security risk to your application.

Signing an "Extended Support Model" contract

If you are not ready to replace CKEditor 4 in your application yet, you may continue using CKEditor 4 until December 2026. CKEditor 4 LTS, available under the "Extended Support Model", will ship all important security updates and critical bug fixes, providing an interrupted editing experience for your end users. Please note that this version of CKEditor 4 is available only under a special agreement and requires a license key.

About CKEditor 4

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.

It supports a broad range of browsers, including legacy ones.

CKEditor 4 screenshot

Getting started

Using npm package

npm install --save ckeditor4

Use it on your website:

<div id="editor">
    <p>This is the editor content.</p>
</div>
<script src="https://github.com/ckeditor/ckeditor4/raw/master/node_modules/ckeditor4/ckeditor.js"></script>
<script>
    CKEDITOR.replace( 'editor' );
</script>

Using CDN

Load the CKEditor 4 script from the CDN:

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

CKEditor 4 LTS

Since the introduction of the LTS version of CKEditor (4.23.0-lts) in June 2023, all future versions of CKEditor 4 contain -lts in their version number.

All future versions of CKEditor 4 (4.23.0-lts and above) are released as CKEditor 4 LTS distributions and require a license key.

If you acquired the Extended Support Model for CKEditor 4 LTS, please read the CKEditor 4 LTS key activation guide.

In order to activate CKEditor 4 LTS, add licenseKey configure the editor with a valid license key:

<script>
    CKEDITOR.replace( 'editor', {
        licenseKey: 'your license key'
    } );
</script>

Integrating with Angular, React, and Vue.js

Refer to the official usage guides for the ckeditor4-angular, ckeditor4-react, and ckeditor4-vue 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

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 repository

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:

Note that the master branch is under heavy development. Its 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. LTS editions have -lts at the end: 4.23.0-lts, etc.

Samples

The samples/ folder contains some examples that you can use 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:

Building a release

You can create a release-optimized version of the development code locally. Use the dev/builder/build.sh script 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, at least for the first time.

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-2024, CKSource Holding sp. z o.o. All rights reserved.

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

CKEditor 4.22.1 and below

CKEditor 4 until version 4.22.1 was licensed under the terms of any of the following licenses of your choice:

CKEditor 4.23.0-lts and above

CKEditor 4 LTS (starting from version 4.23.0-lts) is available under a commercial license only.