Contribute to this guide

guidePasting content from Google Docs

The paste from Google Docs feature lets you paste content from Google Docs and preserve its original structure and formatting.

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 section below.

# Demo

To test pasting from Google Docs, open the sample Google Docs document. Then copy its content and paste it into the editor below.

This demo presents a limited set of features. Visit the feature-rich editor example to see more in action.

# Additional feature information

Thanks to the paste from Google Docs feature, you can copy and paste a Google Docs document into CKEditor 5 and maintain basic text styling, heading levels, links, lists, tables, and images.

When the plugin is enabled, it automatically detects Google Docs content and transforms its structure and formatting to clean HTML which is then transformed into semantic content by the editor.

The PasteFromOffice plugin also allows you to paste content from Microsoft Word. See the pasting content from Microsoft Office guide to learn more.

# Automatic content filtering

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 custom data model, only content that is specifically handled by the loaded rich-text editor features will be preserved.

This means that if you did not enable, for instance, 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 (like other websites).

# Installation

This feature is enabled by default in all predefined 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 PasteFromOffice plugin to your plugin list:

import { PasteFromOffice } from '@ckeditor/ckeditor5-paste-from-office';

ClassicEditor
    .create( document.querySelector( '#editor' ), {
        plugins: [ PasteFromOffice, Bold, /* ... */ ]
    } )
    .then( /* ... */ )
    .catch( /* ... */ );

Read more about installing plugins.

# Support for other applications

At the current stage, the focus of the @ckeditor/ckeditor5-paste-from-office package is on supporting content that comes from Microsoft Word and Google Docs. However, it does not mean that pasting from other similar 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 applications needs improvements, add 👍 and comments in the following issues:

Feel free to open a new feature request for other similar applications, too!

CKEditor 5 supports a wider range of paste features, including:

  • Paste plain text – Paste text without formatting that will inherit the style of the content it was pasted into.
  • Paste from Office – Paste content from Microsoft Word and keep the original structure and formatting.
  • paste from Office enhanced – Paste from Office enhanced is a premium version of the plugin that offers far greater capabilities.
  • Import from Word – Convert Word files directly into HTML content.
  • Paste Markdown – Paste Markdown-formatted content straight into the editor.

# Contribute

The source code of the feature is available on GitHub at https://github.com/ckeditor/ckeditor5/tree/master/packages/ckeditor5-paste-from-office.