Drag and drop
The drag and drop feature lets you drag and drop text, images, tables, and other content within the editor. You can also drag and drop HTML and plain-text content from outside the editor.
# Demo
The demo below lets you drag contacts from the list to the editor. The contacts are inserted into the editor as custom widgets representing the h-card microformat.
List of contacts
Huckleberry Finn
D'Artagnan
Little Red Riding Hood
Alice
Phileas Fogg
Winnetou
Edmond Dantès
Robinson Crusoe
The Annual Meeting of Fictional Characters
Announcement
It is with great pleasure that we hereby announce that the theme of this year’s meeting is “E-ink Technology and Classic Fairy Tales”. As every year, the event will be hosted in The Wonderland by Alice +20 4345 234 235, starting tomorrow at 8:00 GMT.
Speakers and agenda
TBA.
Venue
For detailed information, please contact Huckleberry Finn +48 1345 234 235.
Accommodation
Many thanks to Robinson Crusoe +45 2345 234 235 who kindly offered his island to the guests of the annual meeting.
Little Red Riding Hood +45 2345 234 235
Photos: Wikipedia.org.
This demo only presents a limited set of features. Visit the feature-rich editor example to see more in action.
The source code of the above snippet is available here: drag-drop.js
, drag-drop.html
.
# File upload via drag and drop
When the CKBox file manager is enabled in your CKEditor 5 integration, you can upload files and images using the drag and drop mechanism. You can test this solution in the CKBox demo.
# Installation
This feature is required by the clipboard plugin and is enabled by default in all predefined builds. These installation instructions are for developers interested in building their own custom rich-text editor.
To add this feature to your rich-text editor, install the @ckeditor/ckeditor5-clipboard
package:
npm install --save @ckeditor/ckeditor5-clipboard
Then add the Clipboard
plugin to your plugin list:
import { Clipboard } from '@ckeditor/ckeditor5-clipboard';
ClassicEditor.create( document.querySelector( '#editor' ), {
plugins: [ Clipboard, Bold, /* ... */ ],
})
.then( /* ... */ )
.catch( /* ... */ );
The DragDrop
plugin will activate along with the clipboard plugin.
# Drag and drop of content blocks
In the v38.0.0 release, we introduced plugins that enable dragging content blocks such as paragraphs, tables, or lists inside the editor. This allows you to select an entire block or multiple blocks, and move them before or after other blocks.
This block drag and drop is still an experimental feature. It is available for users, developers, and enthusiasts, who want to test the new functionality and provide feedback to the product team. Usage in production environments may result in errors.
Functions introduced in the initial release include:
- Selection of the text, elements, multiple blocks, and moving these around.
- Placement of blocks inside other blocks such as tables, blockquotes, etc.
- The pilcrow icon in the balloon block editor now behaves as a drag handle.
Feedback for the drag and drop of blocks is gathered in issue #7731. If you have any thoughts on what should work better, leave us a comment!
# Classic editor demo
Select a block or blocks, and drag them across the document. You can place blocks inside other blocks, such as tables and blockquotes.
The Flavorful Tuscany Meetup
Welcome letter
Dear Guest,
We are delighted to welcome you to the annual Flavorful Tuscany Meetup. We hope you will enjoy the program as well as your stay at the Bilancino Hotel.

Please find below the full schedule of the event.
Saturday, July 14 | |
---|---|
9:30 AM - 11:30 AM |
Americano vs. Brewed - “know your coffee” with:
|
1:00 PM - 3:00 PM |
Regional delicacies of Tuscany - live cooking
Incorporate the freshest ingredients |
5:00 PM - 8:00 PM |
Tuscan vineyards at a glance -
wine-tasting with Frederico Riscoli |
The annual Flavorful Tuscany meetups are always a culinary discovery. You get the best of Tuscan flavors during an intense one-day stay at one of the top hotels in the region. All the sessions are led by top chefs passionate about their profession. I would recommend saving the date in your calendar for this one!
Angelina Calvino, food journalist
Please arrive at the Bilancino Hotel reception desk at least half an hour earlier to ensure that the registration process goes as smoothly as possible.
We look forward to welcoming you to the event.
Victoria Valc
Event Manager
Bilancino Hotel
# Installation
To enable the block drag and drop in a classic editor, you need to add the DragDropExperimental
module to your editor configuration:
import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
import { Clipboard, DragDropExperimental } from '@ckeditor/ckeditor5-clipboard';
ClassicEditor.create( document.querySelector( '#editor' ), {
plugins: [ Clipboard, DragDropExperimental, /* ... */ ],
})
.then( /* ... */ )
.catch( /* ... */ );
# Balloon block editor demo
In the balloon block editor, you can also drag content blocks using the drag handle. Select or focus on the block, and then drag the block with the pilcrow icon
.The Flavorful Tuscany Meetup
Welcome letter
Dear Guest,
We are delighted to welcome you to the annual Flavorful Tuscany Meetup. We hope you will enjoy the program as well as your stay at the Bilancino Hotel.

Please find below the full schedule of the event.
Saturday, July 14 | |
---|---|
9:30 AM - 11:30 AM |
Americano vs. Brewed - “know your coffee” with:
|
1:00 PM - 3:00 PM |
Regional delicacies of Tuscany - live cooking
Incorporate the freshest ingredients |
5:00 PM - 8:00 PM |
Tuscan vineyards at a glance -
wine-tasting with Frederico Riscoli |
The annual Flavorful Tuscany meetups are always a culinary discovery. You get the best of Tuscan flavors during an intense one-day stay at one of the top hotels in the region. All the sessions are led by top chefs passionate about their profession. I would recommend saving the date in your calendar for this one!
Angelina Calvino, food journalist
Please arrive at the Bilancino Hotel reception desk at least half an hour earlier to ensure that the registration process goes as smoothly as possible.
We look forward to welcoming you to the event.
Victoria Valc
Event Manager
Bilancino Hotel
# Installation
To enable the block drag and drop in a balloon block editor, you need to add the DragDropExperimental
and the DragDropBlockToolbar
modules to your editor configuration::
import { BalloonEditor } from '@ckeditor/ckeditor5-editor-balloon';
import {
DragDropExperimental,
DragDropBlockToolbar,
} from '@ckeditor/ckeditor5-clipboard';
import { BlockToolbar } from '@ckeditor/ckeditor5-ui';
BalloonEditor.create(document.querySelector( '#editor' ), {
plugins: [
Clipboard,
DragDropExperimental,
DragDropBlockToolbar,
BlockToolbar,
/* ... */
],
})
.then( /* ... */ )
.catch( /* ... */ );
# Related features
- CKEditor 5 supports dropping images from the file system thanks to the image upload feature.
# Contribute
The source code of the feature is available on GitHub at https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-clipboard.
Every day, we work hard to keep our documentation complete. Have you spotted outdated information? Is something missing? Please report it via our issue tracker.