Comparison with alternatives¶
Last verified: 4 October 2026
DOC to HTML is one way to bring a document into a Drupal text field. This page lists other ways, so you can pick the one that fits your site. Check the sites of the other tools for their current state, because they change.
| DOC to HTML | CKEditor 5 Premium, Import from Word | Docx to HTML Convert tool | Mammoth | Paste from Office (core) | |
|---|---|---|---|---|---|
| Where the conversion happens | On the Drupal server, local LibreOffice | CKSource cloud service, or Docker container on-premises | In the browser (mammoth.js) | In the browser (mammoth.js) | In the browser |
| The document leaves your infrastructure | No | Yes in the cloud, no on-premises | No | No | No |
| Cost | Free | Commercial license | Free | Free | Free |
| Formats | DOC, DOCX, ODT, RTF, PPTX | DOCX, DOTX | DOCX | DOCX | Clipboard |
| Integration in the form | Widget on the field | Button in the editor | Separate page, copy and paste | Separate page, copy and paste | Paste |
| Automation (Drush, hooks, events) | Yes | No | No | No | No |
| Keeps the original document | Yes, optional | No | No | No | No |
| Requirement on the server | LibreOffice | None (cloud) or Docker | None | None | None |
| Security advisory coverage | Yes | Yes | Yes | No | Core |
When DOC to HTML fits¶
- You need formats beyond DOCX, such as DOC, ODT, RTF or PPTX.
- You want the flow inside the content form, on the field.
- You want to keep the original document on the node.
- You want to automate conversions with Drush, hooks or events.
- You do not want to buy a license.
When another tool fits¶
- Your hosting does not let you install LibreOffice. The browser based tools need nothing on the server.
- You only have DOCX files. The browser based tools cover that.
- You need comments and tracked changes in the editor. Check the documentation of CKEditor 5 Premium for the current feature list.
The cost of LibreOffice¶
DOC to HTML needs LibreOffice on the machine where PHP runs. It adds disk space and one more package to update, and it runs as a separate process on every conversion. See Installation for the steps and the smallest packages.
Note
Tools based on mammoth.js also work locally, in the browser. The difference between the options is not data protection alone. It is the formats, the place in the workflow and the requirement on the server.