Customization
Rich JavaScript API
CKEditor is an advanced editing platform, offering a strong and extensive JavaScript API. It's possible to interact with the editor at runtime, creating customized and innovative features and content manipulation.
Plugin Based
The editor structure is totally plugin based, including many of its core features. Plugins live in separate files, making them easy to organize and maintain. Our JavaScript API makes developing plugins a rich experience.
Customizable and Extensible
It's possible to customize every single aspect of the editor, from the toolbar, to the skin, to dialogs, to the context menu, data parsing, styling, etc. Out plugin system makes it easy to separate your custom logic from the editor core.
Customizable Interface Color
The CKEditor interface can be colorized and personalized. Irish web sites may like it green. American parties can choose a variant of blue or read. Dutch pages may have it orange. What about you? Just use our UI color picker and have fun!
Total Toolbar Control
Too many features can make things difficult for users. Even their arrangement in the toolbar is important. With CKEditor you can customize the tools to have only those you need, having full control of it.
Precise ENTER Control
The ENTER key is supposed to break lines and create paragraphs, right? Well, developers have different point of view, and CKEditor makes it possible to precisely configure the desired behavior, guaranteeing you will have the same results in all browsers.
Easy Integration
AJAX Ready
CKEditor is perfect for AJAX applications. You can create, interact and destroy editor instances with ease, minimizing server side communications and offering a rich user experience. CKEditor is in line with applications made to the present, and to the future.
Easy Textarea Replacement
Replacing <textarea> fields in your pages is a simple task. You can use CSS classes for that, decide which to replace by code, or even replace all of them with easy. You'll be ready to go in 5 minutes.
Static Elements Replacement
Some applications may also benefit of the nice way CKEditor provides to replace any kind of HTML element, like a <div>. For example, a Wiki system can make it possible to edit articles with inline double click activation on the text.
Easy to Upgrade
All customizations and configurations can live separated from the editor installation folder, making it easy to upgrade. It's just a matter of overwriting the CKEditor directory with new files, and you're ready for it.
TAB Index Support
The advanced TAB key handling support in CKEditor also respects the tabindex definition web developers want to have. Even when replacing <textarea>s, their tabindex values are preserved. It couldn't be simpler than that.
On Demand Loading
In AJAX applications or even dynamic form based tools, like CMSs, you never know if a user will use one of the features at the given moment. For that, you can simply add a 6KB (uncompressed) script to your pages, and the full editor will be loaded when needed only.
Extremely Fast Loading
We're focused on providing a wonderful user experience. Page loading is important for it, and CKEditor is amazing in this sense. No matter how many editors you have in the page, it will always load fast... really fast.
Strong Browser Compatibility
CKEditor offers the best browser compatibility support. You can be sure the editor will behave in the same way in all browsers, including Internet Explorer, Firefox, Safari, Chrome and Opera. All browsers will manage and provide the same content.
Library Collision Safe
CKEditor will never interfere with other scripts present in the page. It offers a strong script structure, keeping in mind the advance ways JavaScript can be used nowadays. No headaches for you.
Styles
Use Your Site Styles
To provide a better WYSIWYG experience, you can precisely control the CSS that renders the editor contents, being sure that your end users will see the contents just like they are intended to be.
Total Styles Control
Styles and value added semantics can be totally defined and controlled by developers. Not only advanced styling is under control, but also the basic things, like a simple bold. You decided it to be <strong>, <b>, <span style="font-weight:bold"> or even <span class="myBold">.
Styling with Class
This is a powerful feature in CKEditor. Every single style on it can be defined as CSS classes, including the basic bold and italics, font colors, font faces, alignement, indentation, etc.
Font Size Settings
The font size selector is totally configurable. You can choose having any kind of sizing, in pixels, percents, em, relative sizing, and even CSS classes. You can also assign human readable names to the sizes, making them easy to be used.
Font Faces Settings
The same power you have with the font sizes can be found for the font faces. Defining the list of supported (and desired!) fonts is easy. Here again, you can even assign CSS classes that represent font faces.
Force Past as Plain Text
External applications may inject unwanted styling into the editor on pasting. To be sure things will not get messed up, the editor can be configured to force the clipboard data to be always pasted as plain text, making users life easy.
Colors Control
It's nice to have a rainbow to colorize text, but sometimes is better to avoid "artists" making their articles too colorful and potentially unreadable. With CKEditor you can precisely define the color that can be used, guaranteeing harmony among your pages.
Templates
Developer can proved users predefined HTML snippets that can be user to define an entire page, or even to be used (and reused) in small fragments. This is a simple way to have nice sites with a common style line.
User Interface
Skins
If the default colorful Kama skin is not enough, the editor comes with other two skins. You can also create a custom skin, having a totally personalized editor. Your users will be happy while using "your" editor.
UI Languages
CKEditor is an international application used all around the world. Its interface is currently available in 57 languages, and it's easy to add new languages to it. Right to left languages are also well supported.
UI Language Auto Detection
For those having an international user base, CKEditor automatically detects the user language, automatically configuring its interface to be localized to it. This editor speaks the language your users speak.
Context Menu Settings
The context menu is an important and powerful tool in the editor. Developers can easily modify and add custom features to it by creating plugins that extend the editor code.
Keystrokes Configuration
There is nothing faster than using keyboard shortcuts to activate specific commands. It's easy to configure the editor, specifying the keyboard key combinations to be used to activate custom or even default editor features.
Start with Focus
The editor can be configured to automatically grab the text input focus when created. In this way your users don't need to think what to do; they will just do it. The less clicks the better!
Contents Control
Quality XHTML Output
CKEditor uses advanced W3C DTD controls to ensure that the HTML generated is totally valid. Users will not be able to mangle your pages (by mistake or not) and your pages will easily validate.
Output Code Formatting
Other than having quality HTML structure, the editor will also produce code that's clean and readable. You can also include your custom formatting rules, to have things in the way you want.
Standards and Quirks Contents
Different browsers should subtle differences when rendering pages in standards (strict) mode or "quirks" mode. This behavior depends on your web site rules, and with CKEditor you'll be able to precisely match your needs.
RTL Contents Support
The editor offers support to properly create and manage contents on languages that are written from right to left, like Arabic, Farsi and Hebrew. With CKEditor, writing in these languages is as natural as in any other.
Contents in Any Language
Other than proper right to left support, CKEditor supports all languages that are properly compatible with web browsers, including language like Chinese, Japanese, Korean, Indian and Arabic.
Source Protection
You can easily define rules to protect the original content being loaded by the editor. For example, it's possible to protect server side scripts, or even tagging metadata available in the HTML.
HTML Entities Control
The editor automatically outputs HTML entities for all characters defined in the standards W3C HTML entities table. It's possible to configure it to fit your needs though. For example, Greek users may not want to have Greek letters as entities, but other users may be ok with it when using then in formulas.
Content Parsing
"Rich text editor" is the best description for CKEditor. That's because sometimes the final results must be rendered differently during the editing phase. It's possible to include your custom rules on the data parsing, making it easy to edit any kind of contents.
Data Processor
HTML is a standard, but it's not the only format to have data. There is also wiki format, bbcode, xml, docbook and thousand others. CKEditor is able to handle all these formats by the development of custom Data Processors. That's powerful!
Other Products
Browse for images and files in CKEditor, with thumbnails, easy to use and intuitive context menu.
Commercial License
For many companies and products, Open Source licenses are not an option. This is why the Closed Distribution License (CDL) has been introduced.
