guideImport from Word vs Paste from Word comparison

The CKEditor 5 WYSIWYG editor offers a simpler Paste from Word plugin, which allows you to paste content from Microsoft Word into your editor and maintain the original structure and formatting. There are, however, significant differences between these two solutions.

# Paste From Word

The paste from Word feature allows you to paste content from Microsoft Word into your CKEditor 5 WYSIWYG editor and maintain the original structure and formatting. After creating a document in Microsoft Word you can simply copy it to CKEditor 5 and retain basic text styling, heading levels, links, lists, tables and images – as long as these features are supported by the editor itself.

  • Suitable for small documents and for use cases in which only parts of the document are selected and copied.
  • Relies on OS Clipboard HTML, which limits the number of features that can be supported.
  • Preserves the original DOCX formatting that was selected and copied by hand.
  • Simple, intuitive, but cannot be used to automate migration process of many Word documents via REST API.

This operation is fast and easy, but can only be done “by hand”.

# Import from Word

The Import from Word service can be automated and does not need the presence of the WYSIWYG editor, nor the human supervision to convert files. Compared to Paste from Word, Import can work with any content formatting and is not limited by features supported by the editor.

  • Allows for converting large documents into HTML that can be easily imported to CKEditor 5 and other tools.
  • Operates directly on XML, which includes more information about the document and Word instance settings.
  • Available as a CKEditor 5 plugin and as a REST API for a direct server-to-server conversion.
  • Available both as a SaaS service and as an On-Premises solution.
  • Suitable for migration of the whole database of Word documents to HTML via a REST API service.
  • Perfect solution for more advanced documents that need to be edited or displayed in the browser.
  • Supports collaboration features like track changes and comments out of the box.

# Features comparison

The following tables compare the features of the Paste from Word CKEditor 5 plugin and the Import from Word feature. For more detailed Import from Word features overview, please refer to the content formatting guide.

# Collaboration features

Feature name                                                     Paste Import
Comments - images
Comments - table cells
Track Changes - text insertion
Track Changes - text deletion
Track Changes - move text
Track Changes - images
Track Changes - tables
Track Changes - table text
Track Changes - table rows
Track Changes - table cells
Track Changes - lists
Track Changes - list text
Track Changes - list items
Track Changes - text formatting

⚠ Import: Track Changes for unsupported features will preserve the original content of the author’s suggestion. However, they will not be recognized as proper Track Changes suggestions. As an example, if a user adds a table using Track Changes, the table will be output in HTML, but it will not be marked as a suggestion. That limitation is going to be fixed soon, with upcoming Import From Word releases.

# Inline formatting

Feature name                                                     Paste Import
Font color
Font background
Font size
Font family
Underline custom ⚠️
Soft line break
Small caps
All caps
Letter spacing ⚠️
Font stretching
Hidden text ⚠️
  • ⚠️ Import: Custom underline styles are converted to the basic <u> element.
  • ⚠️ Paste: Letter spacing and hidden text are only supported with the General HTML support feature enabled.

# Paragraphs

Feature name                                                     Paste Import
Text alignment
First line indentation ⚠️
Hanging indentation ⚠️
Line height ⚠️
Paragraph spacing ⚠️
Paragraph borders ⚠️
Background color ⚠️
  • ⚠️ Paste: First line indentation / Hanging indentation / Line height / Paragraph spacing / Paragraph borders are only supported with the General HTML support feature enabled.

# Headings

Feature name                                                     Paste Import
Built-in heading styles
Preservation of heading formatting
Custom outline level

# Lists

Feature name                                                     Paste Import
Ordered lists
Unordered lists
Nested lists
Custom list markers ️❌
Ordered list language-specific markers ✅️
Custom start number
Different start number in the middle
Multi-level list

# Tables

Feature name                                                     Paste Import
Table width
Cell/column width
Cell/row height
Cell merging
Cell padding
Cell spacing
Cell’s horizontal alignment
Cell’s vertical alignment
Table background color
Cell background color
Table border style
Table border color
Cell border style
Cell border color
Table header
Nested tables
Table alignment/floating
Table caption ⚠️ ⚠️
  • ⚠️ Table caption is converted to styled (only Import) paragraph.

# Images

Feature name                                                     Paste Import
Embedded images
External images
Image link
Image alternative text
Image height
Image width
Image alignment
Absolutely positioned images ⚠️ ⚠️
Image caption ⚠️ ⚠️
  • ⚠️ Absolutely positioned images are retained, but their original position is lost.
  • ⚠️ Image caption is converted to a styled (Import only) paragraph.

# Page breaks

Feature name                                                     Paste Import
Normal page break
Page break before style

# Horizontal lines

Feature name                                                     Paste Import
Horizontal line

# Word Styles

Feature name                                                     Paste Import
Built-in styles
Format styles
Font styles
Paragraph styles
Border styles
Numbering styles

# Default styles

Default styles requires enabling config.default_styles configuration option, both for CKEditor 5 Import from Word plugin and REST API.

Feature name                                                     Paste Import
Format styles ⚠️
Font styles ⚠️
Paragraph styles ⚠️
  • ⚠️ Paste: Document default styles are partially supported, but can’t be disabled / enabled on purpose.

# Sections

Feature name                                                     Paste Import
Document margins
Document size
Multi-sectioned document
Section columns
Headers and footers
  • ⚠️ Import: Multi-sectioned document and section columns are currently not supported.

# Complex objects

Feature name                                                     Paste Import
Table of Contents ⚠️ ⚠️
Form objects ⚠️ ⚠️
  • ⚠️ Paste: Table of Contents text only is preserved, but the structure and styling is lost.
  • ⚠️ Import: Content of a table of contents is preserved, but it does not support content bookmarks.
  • ⚠️ Form objects: text and styling is retained only.

# Technical details

To better understand the differences between these two products, it is worth learning how both features work on a technical level. In the case of Paste From Word, the editor uses the operating system’s clipboard, which is fed with Word content in HTML upon copying it from the document. That HTML is delivered by the Word application itself and includes the essential formatting of the document. When the user pastes something from the Word document, CKEditor 5 cleans that HTML up and makes it semantically correct, so it can be consumed by the editor. However, that operation has its own limitations, as CKEditor 5 is only able to understand as much content, as it gets from the clipboard and depends entirely on the clipboard implementation of the Microsoft Word application.

The Import from Word feature does not have this limitation. As it has a direct access to the document, it is able to retrieve as much information from the document, as Word itself. Therefore, it is possible to support things like collaboration features, document settings, and other, which would normally not be available when operating on clipboard content only. We are no longer limited by the MS Word application and thanks to that, Import from Word produces a more advanced HTML than Paste from Word.