# CKEditor 5 Framework overview

CKEditor 5 is both a set of ready-to-use editor type presets that you can quickly and easily initialize in your application, and a framework for building custom-tailored rich-text editing solutions. As a framework, it provides a flexible set of components for creating any kind of editor, along with tools for building and customizing features. Use it when the editor type presets and the CKEditor 5 Builder cannot meet your requirements.

Please note that the CKEditor 5 Framework documentation is constantly updated and expanded, but it may still be lacking some things. Feel free to [suggest documentation enhancements](https://github.com/ckeditor/ckeditor5/labels/type%3Adocs) and share your feedback about the framework.

If the documentation is insufficient, do not be afraid to look into the source code of [CKEditor 5 packages](https://github.com/ckeditor?utf8=%E2%9C%93\&q=ckeditor5\&type=public). For example, if you plan to create a new feature, check if a similar one already exists and try to take inspiration from its source code.

<a id="when-to-use-the-framework">

## When to use the framework?

The CKEditor 5 Builder provides an easy way to create a custom-tailored installation, but certain types of customizations require using the framework.

* **Writing your own features.** New features are implemented using the framework.
* **Customizing existing features.** Changing the behavior or look of existing features can be done thanks to the framework’s capabilities.
* **Creating new types of editors.** You can create new editor types using the framework.

To sum up: you need to start using the framework as soon as existing builds do not meet your requirements or cannot be customized to the extent you need.

<a id="contents-of-this-section">

## Contents of this section

This section of CKEditor 5 documentation provides the following resources accessible from the left-hand menu (or **main menu button in the upper-left corner** on mobile systems):

* Tutorials – A crash course, a basic tutorial and advanced guides for any developers keep on writing their own CKEditor 5 plugins.
* Development tools – A set of useful tooling and resources for anyone wanting to develop their editor.
* Architecture – Intro-duction to the main pillars of CKEditor 5’s architecture.
* Deep dive – Further Framework information for advanced developers.
* How-tos – If you just need to know how to set the height of CKEditor 5 or learn how to focus the editor, this is the right section!

---

Full index of the CKEditor 5 documentation: [llms.txt](../../llms.txt)
