menu-title: Paste from Google Docs
{@snippet features/build-paste-from-office-source}
Pasting content from Google Docs into CKEditor 5 is possible thanks to the {@link module:paste-from-office/pastefromoffice~PasteFromOffice} plugin.
When enabled in the editor, any content pasted from Google Docs will maintain the original structure and formatting including basic text styling, heading levels, links, lists, tables, and images.
The Paste from Office plugin only preserves content formatting and structures that are included in your CKEditor 5 build. This means that you may need to add missing features such as font color or text alignment to your build. Read more in the [Automatic content filtering](#automatic-content-filtering) section below.
The {@link module:paste-from-office/pastefromoffice~PasteFromOffice} plugin also allows you to paste content from Microsoft Word. See the {@link features/paste-from-word "Pasting content from Microsoft Word"} guide to learn more.
To test how Paste from Office works, open the sample Google Docs document, open it, copy the content and paste it into CKEditor 5 below.
{@snippet features/paste-from-office}
With CKEditor 5 you do not need to worry about pasting messy content from Google Docs (or any other possible sources). Thanks to the CKEditor 5 {@link framework/guides/overview custom data model}, only content which is specifically handled by the loaded rich-text editor features will be preserved.
This means that if you did not enable, for instance, {@link features/font font family and font size} features, this sort of formatting will be automatically stripped off when you paste content from Google Docs and other sources (e.g. other websites).
This feature is enabled by default in all official builds. The 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-paste-from-office package:
npm install --save @ckeditor/ckeditor5-paste-from-office
Then add the {@link module:paste-from-office/pastefromoffice~PasteFromOffice PasteFromOffice} plugin to your plugin list:
import PasteFromOffice from '@ckeditor/ckeditor5-paste-from-office/src/pastefromoffice';
ClassicEditor
.create( document.querySelector( '#editor' ), {
plugins: [ PasteFromOffice, Bold, ... ]
} )
.then( ... )
.catch( ... );
At the current stage, the focus of the @ckeditor/ckeditor5-paste-from-office package is on supporting content that comes from {@link features/paste-from-word Microsoft Word} and Google Docs. However, it does not mean that pasting from other office applications (such as Microsoft Excel) is not supported.
By default, CKEditor 5 will support pasting rich-text content from these applications, however, some styles and formatting may be lost, depending on the source application. Also, other minor bugs may appear.
You can find more information regarding compatibility with other applications in this ticket.
If you think that support for any of the office applications needs improvements, please add 👍 and comments in the following issues:
Feel free to open a new feature request for other office applications, too!