Do Google Docs and Microsoft Word implement the OpenDocument Format properly?

We all know that saving a .docx document created in Microsoft Word and opening it with other office suites is not safe, because the MS-OOXML pseudo-standard is messy and practically relies on reverse-engineering in other suites.

What about the implementation of the OpenDocument standard?

If a document is created using Microsoft Word and saved to a .odt file, is it safe to open it with other suites, without losing any information or formatting?

If a document is created using Google Docs and saved to a .odt file, is it safe to open it with other suites, without losing any information or formatting?

If a document is created using Libre Office and saved to a .odt file, is it safe to open it with other suites, without losing any information or formatting?

Do Google and Microsoft even implement the OpenDocument Format properly or is their implementations filled with “bugs” that messes up the formatting in other suites and thus reducing interoperability?

Microsoft has published their standard for their format but there are so many exceptions it runs to over 600 pages. So a bit of a pigs ear really.

According to OpenDocument - Wikipedia Microsoft Office 2021 can confirm to open document 1.3 but I cannot test.
Opening an open document created by Microsoft Office in LibreOffice is unlikely to result in data loss. I don’t know about going the other way as I seriously doubt that MS Office 2021 understands character styles or the other styles that are not supported in their native format.

You can always export as hybrid pdf which contains the original odt inside the pdf. You will get layout as expected but also the possibility to edit from within LibreOffice

There has been a period on AskLO where users experienced document corruption after using Google Docs. I don’t remember exactly the damages but it clearly shows that Google has not implemented correctly the ODF format.

There is nothing “safe” in regard to interoperability. Besides the fact, that programs have bugs, there are some aspects to consider:
(A) An application need not implement all of the features the standard allows and nevertheless works ODF conform.
(B) The standard itself allows varieties, e.g. whether Boolean is a distinct data type or not, it contains “implementation-defined” and “implementation-dependent” things, and it allows host-defined behaviors.
(C) The standard has a mechanism to include extensions to the standard. BTW, similar exists for OOXML. To exclude extensions to the standard, you would need to save in “1.3” instead of “1.3 Extended”.
(D) Applications need not support all document types, e.g. MS Office cannot read or write .odg files.
(E) Applications might only support older versions of ODF.

The export from MS Office writes strict ODF. However, the native format of MS Office is an extended OOOXML format that contains a lot of things that cannot be expressed in strict ODF format. So if you want to compare, you need to open the ODF document generated by MS Office in MS Office, not the pptx, docx or xlsx document.

Google uses for the ODF export a LibreOffice 6.0.5 and thus writes ODF 1.2. I see no hint, what it uses as intermediate step.

If you want the recipient of the document to edit the document, convince them to use LibreOffice. If you only want the recipient to read the document, send them a PDF file.

2 Likes