Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Ckeditor5 Symfony

Ckeditor5 Symfony Laravel Package

mati365/ckeditor5-symfony

Symfony bundle that integrates CKEditor 5 into your forms. Register a ready-made form type, load the editor assets, and configure uploads or plugins with minimal setup—letting you add a modern rich text editor to any Symfony application quickly.

View on GitHub
Deep Wiki
Context7

CKEditor 5 Integration for Symfony A modern, powerful rich text editor integration for Symfony applications. Easily configure builds, manage file uploads, and use custom toolbar sets directly within your Twig templates and Form types.

Frequently asked questions about Ckeditor5 Symfony
Can I install mati365/ckeditor5-symfony in a Laravel application?
No, not usefully. The package is a Symfony bundle whose value comes from a framework-bundle DI extension, a symfony/form type, Twig form themes, and Symfony asset conventions, none of which exist in Laravel. Installing it would add Symfony components Laravel does not use and hand you glue code you cannot execute. Read the repository as reference material and re-implement its contract with Laravel primitives.
What does this package actually provide on the Symfony side?
It registers a ready-made CKEditor 5 form type, loads the editor assets, and maps server-side settings such as toolbar, plugins, upload URL, CSRF, and language into the CKEditor 5 EditorConfig object used in Twig templates. It also defines the upload endpoint contract and performs PHP-side validation and normalization before persistence. All of that is delivered through Symfony's Bundle lifecycle and configuration tree.
Is CKEditor 5's GPL license a problem for a closed-source Laravel SaaS?
Yes, potentially. CKEditor 5 core is GPL-2.0-or-later, and this wrapper's MIT license does not launder the underlying editor. A closed-source SaaS needs a commercial CKEditor license or must accept GPL obligations, and recent majors enforce config.licenseKey behavior. Settle this as a legal and product decision before writing any integration code.
How do I add CKEditor 5 to a Laravel 11 app with Vite and Blade?
Install ckeditor5, or a curated package set, through npm and build it with Vite. Expose it with a Blade component like x-ckeditor that takes a config prop, keep toolbar, plugin, and upload settings in config/ckeditor.php, and add an upload controller behind auth and throttle middleware. Validate submitted HTML with a FormRequest or Rule, which mirrors the bundle's responsibilities in roughly two or three files.
How do I port the bundle's toolbar and plugin configuration to Laravel?
Port its config translator into an internal package and preserve the option names and upload contract so the two implementations stay comparable. Assert the generated EditorConfig JSON in tests, because a misnamed plugin option fails silently in the browser instead of throwing. Pin the CKEditor 5 major you target, since majors ship roughly twice a year with breaking plugin and API changes.
How should file uploads work in a Laravel CKEditor 5 integration?
Reimplement the endpoint rather than reusing Symfony code. The upload contract maps cleanly to a Laravel controller protected by auth and throttle middleware, storing through a filesystem disk and returning the JSON shape CKEditor expects. Validate MIME type and size in a FormRequest before persisting, and handle the CSRF token the same way the bundle does, since the upload adapter sends it as a header.
Will installing this bundle cause Composer dependency conflicts with Laravel?
Likely yes. The bundle pulls Symfony packages Laravel does not use and competes with the Symfony components Laravel pins, including symfony/console, symfony/http-foundation, symfony/process, and symfony/error-handler. The result is dead weight plus dependency-resolution risk in exchange for a few hundred lines of glue you cannot run. Requiring it as a dev-only reference is still the wrong tool; clone the repo instead.
How do I test a ported CKEditor 5 integration in Laravel?
Test three layers: the config-to-JSON translation with unit assertions on exact option names, the Blade component render, and the upload endpoint with feature tests covering auth, throttle, and validation failures. Add one browser test proving the editor initializes against your built assets. Silent configuration drift is the classic failure mode for editor integrations, so snapshot the expected EditorConfig.
Is this package actively maintained and safe to depend on?
Treat it as low-support. It has roughly 27 stars and zero dependents, a single maintainer, and scope that is explicitly Symfony, so there are no downstream bug reports or Laravel-adjacent answers to expect. CKEditor 5 itself moves twice a year with breaking changes, so any port freezes a snapshot and inherits that upgrade tax. The code is small and MIT, but you own the port entirely.
What Laravel alternatives should I consider instead of porting this bundle?
The recommended default is adopting CKEditor's official npm packages directly with Vite and Blade, which carries the lowest total ownership. Before that, check whether your codebase already standardizes on Trix, TinyMCE, or Filament's rich editor, since adding another editor fragments the stack. A maintained first-party Laravel wrapper beats porting this bundle unless you specifically need its config shape.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons