guideImport from Word vs paste from Office comparison

In addition to import from Word, there is a simpler paste from Office plugin that lets you paste content from Microsoft Word while maintaining its original structure and formatting. However, these two solutions differ in many ways.

# Paste from Office

The paste from Office and paste from Office enhanced features allow 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 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 supported features.
  • Preserves the original DOCX formatting that was selected and copied by hand.
  • Simple, intuitive, but cannot be used to automate the migration process of many Word documents via the REST API.

This operation is fast and easy, but can only be done manually.

# Import from Word

The import from Word service can be automated and does not require the presence of the WYSIWYG editor, nor human supervision to convert files. Compared to paste from Office, 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 Office and paste from Office enhanced CKEditor 5 plugin and the import from Word feature. For a more detailed import from Word features overview, refer to the content formatting guide.

# Collaboration features

Feature name                                                     Paste Enhanced Import
Comments
Comments archive
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 Enhanced Import
Font color
Font background
Font size
Font family
Bold
Italics
Underline
Underline custom ⚠️
Strike-through
Subscript
Superscript
Link
Soft line break
Small caps
All caps
Letter spacing ⚠️
Font stretching
Hidden text ⚠️ ⚠️
  • ⚠️ Paste: Letter spacing and hidden text are only supported with the General HTML support feature enabled.
  • ⚠️ Paste enhanced: Advanced underline is pasted as regular underline.
  • ⚠️ Paste enhanced: Hidden text is only supported with the General HTML support feature enabled.

# Paragraphs

Feature name                                                     Paste Enhanced Import
Text alignment
Indentation
First line indentation ⚠️ ⚠️
Hanging indentation ⚠️ ⚠️
Line height ⚠️ ⚠️
Paragraph spacing ⚠️ ⚠️
Paragraph borders ⚠️ ⚠️
Background color ⚠️ ⚠️
  • ⚠️ First line indentation, hanging indentation, line height, paragraph spacing, and paragraph borders are only supported with the General HTML support feature enabled.

# Headings

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

# Lists

Feature name                                                     Paste Enhanced Import
Ordered lists
Unordered lists
Custom list markers ️❌
Ordered list language-specific markers
Custom start number
Different start number in the middle
Multi-level list ⚠️
  • ⚠️ Import: Support for multi-level lists with X level of tabulation shifting is now available. Please be aware that marker continuation from previous levels (for example, 2.1, 2.2) is not supported for now.

# Tables

Feature name                                                     Paste Enhanced 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 a styled (only import) paragraph.

# Images

Feature name                                                     Paste Enhanced 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 Enhanced Import
Normal page break
Page break before style

# Horizontal lines

Feature name                                                     Paste Enhanced Import
Horizontal line

# Word styles

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

# Default styles

Default styles require enabling the config.default_styles configuration option, both for the CKEditor 5 import from Word plugin and the REST API.

Feature name                                                     Paste Enhanced Import
Format styles ⚠️
Font styles ⚠️
Paragraph styles ⚠️
  • ⚠️ Paste: Default document styles are partially supported, but cannot be disabled or enabled on purpose.

# Sections

Feature name                                                     Paste Enhanced 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 Enhanced Import
Table of contents ⚠️
Form objects ⚠️ ⚠️ ⚠️
  • ⚠️ Paste: Only the table of contents text is preserved, but the structure and styling are lost.
  • ⚠️ Form objects: Only text and styling are retained.

# Technical details

To better understand the differences between these two products, it is worth learning how both features work on a technical level. In paste from Office, the editor uses the operating system’s clipboard, which is fed with Microsoft 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 a 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 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 direct access to the document, it can retrieve as much information from the document as Word. Therefore, it is possible to support things like collaboration features, document settings, and others, which would not be available when operating on clipboard content only. We are no longer limited by the Microsoft Word application and thanks to that, import from Word produces a more advanced HTML than Paste from Word.

# List of CSS properties that require GHS

This is a list of all CSS properties that are properly converted by the import from Word feature, but will not work by default in CKEditor 5 and require the General HTML Support (GHS) feature.

# Paragraphs

# HTML elements:

  • p

# CSS properties:

  • background-color
  • line-height
  • border-top
  • border-bottom
  • border-left
  • border-right
  • margin-top
  • margin-bottom
  • text-indent

# Headings

# HTML elements

  • h1
  • h2
  • h3
  • h4
  • h5
  • h6

# CSS properties:

  • font-weight
  • font-size

Headings also require all CSS properties that paragraphs do.

# Lists

# HTML elements:

  • ul
  • ol

# CSS properties:

  • list-style-type
  • margin-top
  • margin-bottom

# List items

# HTML elements:

  • li

# CSS properties:

  • list-style-type

# Spans

# HTML elements:

  • span

# CSS properties:

  • letter-spacing
  • text-transform
  • font-variant-caps
  • font-stretch

# Underlines

# HTML elements:

  • u

# CSS properties:

  • text-decoration-line
  • text-decoration-style
  • text-decoration-thickness
  • text-decoration-color
  • text-decoration-skip-ink

# Images

# HTML elements:

  • img

# CSS properties:

  • position
  • display
  • float
  • margin-top
  • margin-left
  • margin-right
  • transform
  • z-index

# Figures

# HTML elements:

  • figure

# CSS properties:

  • margin-top
  • margin-bottom
  • margin-left
  • margin-right

# Tables

# HTML elements:

  • table

# CSS properties:

  • border-collapse
  • border-spacing

# Table cells

# HTML elements:

  • td
  • th

# CSS properties:

  • vertical-align

# Table header cells

# HTML elements:

  • th

# CSS properties:

  • font-weight
  • text-align