CKEditorVaadin - Vaadin Add-on Directory
CKEditor 5 and Vaadin, rich text editor including multiple functionalities
# CKEditor 5 for Vaadin
A comprehensive CKEditor 5 rich text editor component for Vaadin 24+, with 70+ plugins, premium feature support, and seamless Lumo theme integration.
## Quick Start
```java
// One-liner with preset
VaadinCKEditor editor = VaadinCKEditor.withPreset(CKEditorPreset.STANDARD);
// Builder pattern for full control
VaadinCKEditor editor = VaadinCKEditor.create()
.withPreset(CKEditorPreset.FULL)
.withType(CKEditorType.CLASSIC)
.withTheme(CKEditorTheme.AUTO)
.withAutosave(content -> save(content), 5000)
.build();
```
## Features
- **70+ Built-in Plugins** — Text formatting, headings, images, tables, lists, code blocks, find & replace, word count, and more
- **4 Editor Types** — Classic, Inline, Balloon, and Decoupled
- **5 Presets** — BASIC, STANDARD, FULL, DOCUMENT, COLLABORATIVE — or pick plugins individually
- **Premium Plugin Support** — Export PDF/Word, Import Word, Comments, Track Changes, Real-Time Collaboration, AI Assistant (requires CKEditor license)
- **Custom Plugins** — Load third-party or local CKEditor 5 plugins via npm
- **Vaadin Theme Integration** — Auto-syncs with Lumo light/dark mode
- **Custom Toolbar Styling** — Fine-grained control over toolbar colors, button states, and per-button styles
- **File Upload** — Built-in upload handling with validation, progress tracking, and timeout control
- **HTML Sanitization** — Configurable policies (Strict, Basic, Relaxed) powered by jsoup
- **Autosave** — Debounced autosave with configurable intervals
- **Error Handling & Fallback** — Graceful degradation to textarea or read-only mode
- **Automatic Dependency Resolution** — Plugin dependencies resolved automatically
- **Builder Pattern API** — Fluent, type-safe configuration
- **i18n** — 10+ languages included
## Presets
| Preset | Description | Size |
|--------|-------------|------|
| `BASIC` | Text formatting, lists, links | ~300KB |
| `STANDARD` | + Images, tables, media, find/replace | ~600KB |
| `FULL` | + Fonts, colors, code blocks, highlighting | ~700KB |
| `DOCUMENT` | Professional document editing | ~800KB |
| `COLLABORATIVE` | Base for collaboration features | ~850KB |
## Editor Types
```java
VaadinCKEditor.create().withType(CKEditorType.CLASSIC).build(); // Fixed toolbar
VaadinCKEditor.create().withType(CKEditorType.BALLOON).build(); // Floating toolbar
VaadinCKEditor.create().withType(CKEditorType.INLINE).build(); // In-place editing
VaadinCKEditor.create().withType(CKEditorType.DECOUPLED).build(); // Separated toolbar
```
## Premium Features
Premium plugins require a CKEditor license from [ckeditor.com/pricing](https://ckeditor.com/pricing).
```java
VaadinCKEditorPremium.enable(); // Call once at startup
VaadinCKEditor editor = VaadinCKEditor.create()
.withPreset(CKEditorPreset.STANDARD)
.withLicenseKey(licenseKey)
.addCustomPlugin(CustomPlugin.fromPremium("ExportPdf"))
.addCustomPlugin(CustomPlugin.fromPremium("ExportWord"))
.build();
```
Available: ExportPdf, ExportWord, ImportWord, FormatPainter, Comments, TrackChanges, RevisionHistory, RealTimeCollaboration, AIAssistant, SlashCommand, Template, TableOfContents, CaseChange, Pagination, and more.
## Configuration
```java
vaadin.whitelisted-packages = com.wontlost
```
## Requirements
- Java 17+
- Vaadin 24+
- CKEditor 5 v47
## Documentation
- [User Guide](https://github.com/wontlost-ltd/vaadin-ckeditor/blob/main/docs/USER_GUIDE.md) — Full documentation
- [Quick Reference](https://github.com/wontlost-ltd/vaadin-ckeditor/blob/main/docs/QUICK_REFERENCE.md) — Cheat sheet
- [Issues](https://github.com/wontlost-ltd/vaadin-ckeditor/issues) — Bug reports & feature requests
## License
Apache License 2.0. CKEditor 5 is dual-licensed (GPL 2+ / Commercial). Premium features require a commercial CKEditor license.
Online Builder
Online Demo - Retired
View on GitHub
CKEditorVaadin version 2.0.0
* Configuration available.
* Move Toolbar, EditorType, etc to Config.
* HtmlEmbed feature integrated.
* Autosave Action introduced.
* Spell checker available.
* Upgrade CKEditor to v23.1.0
* Upgrade Vaadin to v14.4.2
CKEditorVaadin version 2.3.0
* Vaadin upgrade to v14.7.3
* ckeditor 5 upgrade to v31.0.0
* fix toolbar disappear on scrolling for classic editor
CKEditorVaadin version 2.3.1
* fix image content floating on top of toolbar
CKEditorVaadin version 2.3.2
* indent bug fix
* auto image integration
* text language selection
* upgrade Vaadin to v14.8.1
* upgrade ckeditor to v31.1.0
CKEditorVaadin version 2.3.3
* link bug fix
* restrict editing fix & update
* Vaadin upgrade to v14.8.4
CKEditorVaadin version 2.3.4
* mention bug fixes
* other config updates
CKEditorVaadin version 3.0.0
* Upgrade Vaadin to v23.1.7
* Upgrade CKEditor to v35.1.0
* Add OSGI support
CKEditorVaadin version 3.0.1
* Enhancement on readonly mode with toolbar hide/show
CKEditorVaadin version 3.1.1
* Upgrade Vaadin to v23.2.1
CKEditorVaadin version 3.1.2
* bug fix on lit
CKEditorVaadin version 3.1.3
* Fix for Vite
* Upgrade Vaadin to v23.2.6
CKEditorVaadin version 3.1.4
* Upgrade Vaadin to v23.2.8
* General Html Support implementation.
CKEditorVaadin version 3.1.5
* Upgrade vaadin to v23.2.9
CKEditorVaadin version 3.2.0
* Upgrade Vaadin to v23.3.1
* Upgrade ckeditor 5 to v35.4.0
CKEditorVaadin version 3.2.1
* Upgrade Vaadin to v23.3.5
* Bug fix - [header panel location while scrolling](https://github.com/wontlost-ltd/vaadin-litelement-ckeditor/issues/41)
* Enhancement - [add value change listener to source editing mode](https://github.com/wontlost-ltd/vaadin-litelement-ckeditor/issues/40)
CKEditorVaadin version 4.0.0
* Upgrade Vaadin to v24.2.3
* Upgrade ckeditor to v40.1.0
* Upgrade Java to 21
* Bug fixes and performance improvement
CKEditorVaadin version 4.1.2
* Upgrade Vaadin to v24.5.0
* Upgrade ckeditor 5 to v43.2.0
* Add 'line height'
* Add 'show blocks'
* Add capability of inserting text to the editor
CKEditorVaadin version 4.1.2-8
* For Java 8 and onwards
CKEditorVaadin version 4.2.0
Upgrade vaadin to v25.0.4
CKEditorVaadin version 5.0.2
###### BREAKING CHANGES:
* Update ckeditor to v47.4.0
* Complete rewrite of Vaadin CKEditor 5 integration
* More enhancements and new features
* [User Guide](https://github.com/wontlost-ltd/vaadin-ckeditor/blob/main/docs/USER_GUIDE.md)
CKEditorVaadin version 5.0.3
* minor improvements
* [user guide](https://github.com/wontlost-ltd/vaadin-ckeditor/blob/main/docs/USER_GUIDE.md)
CKEditorVaadin version 5.0.4
* Bug fix and minor improvements
* [Vaadin CKEditor Builder](https://ckeditor-builder.wontlost.com)
CKEditorVaadin version 5.0.5
* Add preset for [collaborative document editor](https://ckeditor-builder.wontlost.com/collaborative-document-editor)
* Bug fixes
CKEditorVaadin version 5.1.0
* Update ckeditor to v47.5.0
* Update vaadin to v25.0.5
* New presets [ai document, email and notion-like] in [ckeditor builder](https://ckeditor-builder.wontlost.com/)