Rutba Office

Formats

It opens what you already have

The point of a free office suite is not that it is free. It is whether the files on your disk open in it, and whether they are still the same files afterwards. This page is the honest answer to both.

Read and written

Opened, edited and saved back in the same format.

  • .docx
  • .xlsx
  • .pptx
  • .csv
  • .tsv
  • .txt
  • .md
  • .html
  • .pdf (export)
  • .png
  • .jpg
  • .webp
  • .webm
  • .eml
  • .mbox

Read

Opened by converting into the nearest format above. The title bar tells you which, so Save As never surprises you.

  • .doc
  • .xls
  • .ppt
  • .odt
  • .ods
  • .odp
  • .rtf
  • .pst
  • .ost
  • .olm
  • .msg
  • .emlx

The promise

What survives being edited

Most converters open a document by rebuilding it. Everything they do not understand is quietly dropped, and you find out months later when a client opens the file.

This engine does the opposite. An .xlsx is a zip of XML parts, and the parts it did not deliberately edit are carried through untouched — charts, pivot caches, macros, signatures, embedded media, and every extension we have never heard of. Fidelity degrades only in the specific places we choose to touch, which are also the places the test suite covers.

Converted on open: A format that can be read but not written is opened by converting it into one that can — an .odt becomes a document, an .ods a workbook. The title bar says so while you are working on it, so Save As is never a surprise.

Mail archives

Outlook .pst and .ost, read in full

This is the one most people arrive for, and the one most free software cannot do.

The reader walks the node and block B-trees, the heap, and the property and table contexts — folders, messages, recipients and attachments. It was verified against a real 906 MB .ost: 467 folders and 12,172 messages indexed in under a second.

That exercise found three things no amount of reading the specification would have given:

  • Outlook 2013 and later compress the larger data blocks of an .ost with zlib. It is not in the published structure, and a reader that does not notice sees every message in the file as empty.
  • In an .ost the hierarchy and contents tables are mostly not materialised — 449 folders with five hierarchy tables between them — so the folder tree has to come from the node B-tree’s parent pointers, which are always complete.
  • A view table that does exist may still carry no subject column, so a reader that trusts it shows you a list of blank rows.

The substitution tables for Outlook’s block encoding are transcribed from Microsoft’s published [MS-PST] open specification and checked three ways when they load: each is a permutation of 0–255, and the encode and decode tables are exact inverses in both directions. A damaged table decodes nothing rather than decoding wrongly.

Honestly

What it will not do

A list of formats is easy to pad. These are the gaps worth knowing about before you download anything.

  • It does not run macros. A workbook’s VBA project is preserved through an edit and handed back untouched, but nothing in this suite executes it.
  • It writes OOXML, not OpenDocument. .odt, .ods and .odp are read. Saving produces the Microsoft format, because that is the one the person you are sending it to can open.
  • It is version 1.0. The engine carries 577 tests and a smoke run that launches the real application and photographs every window — and it is still a first release. Keep a copy of anything irreplaceable, as you would with any new tool.

Try it on your own files

It is free, it installs in a minute, and it does not need an account to open anything.