How to Install LibreOffice on Fedora and Open Microsoft Office Files

Install LibreOffice on Fedora using dnf to open and edit Microsoft Office files like Word, Excel, and PowerPoint documents.

You just migrated your workflow to Fedora

You switched desktops to escape proprietary lock-in. A client sends a complex .docx with embedded charts, custom headers, and tracked changes. You double-click it, and the paragraphs shift. The fonts change. The page breaks jump to the wrong spots. You need a reliable office suite that handles Microsoft formats without forcing you back to a closed ecosystem.

What's actually happens

LibreOffice does not reverse-engineer Microsoft Office. It implements the Open Document Format natively and uses translation filters for .docx, .xlsx, and .pptx. Those filters map Microsoft XML structures to LibreOffice internal representation. When formatting breaks, it is usually a font substitution issue or a filter limitation. The application reads the document, parses the OOXML schema, converts the nodes to ODF in memory, and renders the result. The conversion is lossy by design. Microsoft formats contain proprietary layout hints that do not translate perfectly to open standards.

Fedora splits the suite into modular packages. The libreoffice-core package provides the shared rendering engine and base libraries. Individual components like libreoffice-writer or libreoffice-calc are separate. This keeps your system lean and lets you install only what you use. The language pack ensures UI strings and hyphenation dictionaries match your locale. Without it, spellcheck and interface text can fall back to English or break entirely. Fedora ships open alternatives to Microsoft fonts. Liberation Sans replaces Arial. Liberation Serif replaces Times New Roman. DejaVu Sans replaces Calibri. The character widths differ slightly, which causes table spills and margin shifts. This is expected behavior. The package manager handles updates automatically. You do not need third-party repositories or manual tarball extraction.

Check your repository metadata before installing. Stale headers cause dependency resolution failures. Run dnf upgrade --refresh first. This is the standard weekly maintenance command. It forces the package manager to fetch fresh repository headers instead of relying on cached data.

The fix

Here is how to install the full desktop suite with English language support:

sudo dnf upgrade --refresh
sudo dnf install libreoffice-core libreoffice-writer libreoffice-calc libreoffice-impress libreoffice-langpack-en -y
# --refresh forces metadata update to prevent stale dependency errors
# libreoffice-core provides the shared rendering engine and base libraries
# libreoffice-writer handles word processing and .docx conversion filters
# libreoffice-calc adds spreadsheet support and .xlsx translation layers
# libreoffice-impress installs presentation tools for .pptx compatibility
# libreoffice-langpack-en ensures UI strings and dictionaries match your locale
# -y skips the interactive confirmation prompt for quick terminal installs

If you only need document editing, skip the calc and impress packages. Fedora modular packaging means you can add components later without reinstalling the core engine. The package manager tracks dependencies automatically. You can also install the flatpak version if you prefer sandboxed updates, but the native rpm integrates better with system fonts and file associations. Stick to the repository packages for desktop environments that rely on standard MIME type handling.

LibreOffice stores user configuration in ~/.config/libreoffice/. System-wide defaults live in /usr/lib/libreoffice/. Never edit files in /usr/lib/. Package updates will overwrite them. Create overrides in /etc/libreoffice/ if you manage a fleet of machines. The directory structure mirrors the user config path, and the application merges settings at runtime. The application reads /etc/ first, then ~/.config/, and applies the most specific rule.

Run dnf upgrade --refresh before every major system update. Repository metadata drifts, and stale headers break dependency chains. Trust the package manager. Manual file edits drift, snapshots stay.

Verify it worked

Launch the application from the terminal to catch early warnings. Run libreoffice --version to confirm the package loaded correctly. Open a test document and check the font substitution dialog. Go to Tools, then Options, then LibreOffice, then Fonts. The dialog lists every missing Microsoft font and shows which system font LibreOffice uses as a replacement. If the mapping looks wrong, adjust it here. The changes apply immediately to open documents.

Here is how to run a headless conversion test to validate the filter:

libreoffice --version
# Prints the exact version string and build ID
# Confirms the binary is in your PATH and the shared libraries loaded
libreoffice --headless --convert-to pdf test.docx
# Runs the conversion engine without opening the GUI
# Useful for verifying filter functionality before opening the desktop app
libreoffice --headless --convert-to pdf --outdir /tmp/test_output test.docx
# --outdir specifies where the converted file lands
# Prevents the application from dumping files in your current working directory

The headless conversion test is a quick way to validate the .docx filter. If the PDF renders correctly, the core translation layer is working. GUI layout shifts are almost always font-related, not filter-related. Check the output directory immediately. If the file is missing, the filter failed silently. Read the terminal output for the next step.

Run the version check first. Confirm the binary path before troubleshooting missing fonts.

Common pitfalls and what the error looks like

Font substitution is the number one cause of broken layouts. Microsoft ships proprietary fonts like Calibri, Cambria, and Arial. Fedora ships open alternatives. LibreOffice maps them automatically, but character widths differ slightly. A table that fits on one page in Word might spill to a second page in LibreOffice. Adjust column widths or switch to a metric-compatible font if pixel-perfect alignment matters. You can install additional open fonts via dnf install google-noto-sans-fonts or dnf install fontconfig. The system font cache rebuilds automatically after installation.

Macro compatibility breaks when documents use VBA code. LibreOffice uses a subset of VBA and its own Basic dialect. Complex macros will fail silently or throw a script error. You will see a dialog box stating Macro execution failed or Object variable not set. The application does not crash. It stops the script and logs the failure. Check ~/.config/libreoffice/4/user/registrymodifications.xcu for macro security settings if scripts refuse to run entirely. Lower the security level only for trusted documents. Keep the default high setting for external files.

File corruption warnings appear when .docx files contain invalid XML or broken embedded objects. LibreOffice prints a warning during import. The application attempts to repair the structure automatically. If the repair fails, the document opens in a limited view. Export to .odt immediately after opening. The Open Document Format preserves the repaired structure better than the Microsoft format.

Here is what the corruption warning looks like in the terminal:

Warning: The file contains invalid data.
The file will be repaired automatically.
# This message appears when the .docx ZIP structure contains malformed XML
# LibreOffice extracts the payload, drops the broken nodes, and rebuilds the document
# Export to .odt after the warning to lock in the repaired state

SELinux denials occasionally block LibreOffice from accessing network shares or custom directories. You will see Permission denied in the GUI. Check the audit log before disabling security policies. Run journalctl -xe | grep -i libreoffice to find the exact denial. The x flag adds explanatory context to the journal output. The e flag jumps to the end. Most share access issues resolve by setting the correct SELinux context on the directory with chcon -t user_home_t /path/to/shared/folder. Trust the package manager. Manual file edits drift, snapshots stay.

If the application crashes on launch, run it in safe mode to isolate broken extensions. Use libreoffice --safe-mode to disable third-party add-ons and reset the user profile temporarily. Read the journal output before reinstalling. Half the time the symptom is gone after a profile reset.

When to use this vs alternatives

Use LibreOffice when you need a fully offline, open-source suite that integrates with Fedora package manager and desktop environment. Use OnlyOffice when your workflow depends on strict Microsoft Office rendering fidelity and you can tolerate a heavier Electron-based footprint. Use WPS Office when you want a near-identical Word/Excel UI and accept the proprietary licensing model. Use Microsoft 365 in the browser when you only need occasional editing and do not want to manage local fonts or macro security. Stay on the upstream Fedora packages if you only deviate from the defaults occasionally.

Where to go next