Editing documents, spreadsheets, and presentations without a Microsoft 365 subscription is straightforward once you install LibreOffice on Debian. The suite ships Writer, Calc, Impress, Draw, Base, and Math, and handles DOCX, XLSX, PPTX, ODT, and PDF files without compatibility issues.
Three installation paths are available: APT for distro-tested packages with automatic security updates, Flatpak for the newest upstream release through Flathub, or manual DEB packages when you need a specific version or offline installation. Each method below includes verification, update, and removal steps.
Install LibreOffice on Debian
The table below compares each method so you can pick the right fit for your workflow.
| Method | Channel | Version | Updates | Best For |
|---|---|---|---|---|
| APT Package Manager | Debian Repos | Stable (Debian-tested) | Automatic via apt upgrade | Most users who prefer system-integrated packages with distro-tested stability |
| Flatpak | Flathub | Latest stable | Automatic via flatpak update | Desktop users who want newest releases with sandboxing and frequent updates |
| Manual DEB Package | LibreOffice Downloads | User-selected | Script-assisted or manual redownload | Users who need specific versions, offline installation, or version control |
Default LibreOffice versions differ significantly across Debian releases:
| Debian Release | APT Version | Flatpak (Flathub) | Manual DEB |
|---|---|---|---|
| Debian 13 (Trixie) | 25.2.x | 26.2.x | Any (user-selected) |
| Debian 12 (Bookworm) | 7.4.x | 26.2.x | Any (user-selected) |
| Debian 11 (Bullseye) | 7.0.x | 26.2.x | Any (user-selected) |
For most users, the APT method is recommended because it provides automatic security updates and requires minimal maintenance. Choose Flatpak if you need the newest features, or manual DEB packages if you require a specific version unavailable in repositories.
Method 1: Install LibreOffice on Debian via APT
Update Debian Linux Before LibreOffice Installation
Update existing packages before installing new software to ensure compatibility:
sudo apt update && sudo apt upgrade
This guide uses
sudofor commands that need root privileges. If your user is not in the sudoers file yet, see how to add a user to sudoers on Debian.
Install the Full LibreOffice Suite via APT
Install the LibreOffice suite using APT:
sudo apt install libreoffice
Verify the LibreOffice APT Installation
After installation, verify the version:
libreoffice --version
Expected output:
LibreOffice x.x.x.x ...
The version depends on your Debian release. Debian 13 (Trixie) provides LibreOffice 25.2.x, Debian 12 (Bookworm) provides 7.4.x, and Debian 11 (Bullseye) provides 7.0.x.
Method 2: Install LibreOffice on Debian via Flatpak
Flatpak pulls the latest LibreOffice directly from Flathub and runs it in a sandbox, separate from your system packages. You get newer versions without touching your APT configuration.
Check Flatpak Installation on Debian
Verify that Flatpak is installed:
flatpak --version
Expected output:
Flatpak 1.x.x
If Flatpak is not installed, visit how to install Flatpak on Debian to install it first before continuing with the steps below.
Enable Flathub for LibreOffice
Add the Flathub repository to access LibreOffice and other Flatpak applications:
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Install LibreOffice via Flatpak Command
Install LibreOffice from Flathub. The Flatpak app ID is org.libreoffice.LibreOffice, which you will also use for updates, removal, and launch commands:
sudo flatpak install flathub org.libreoffice.LibreOffice -y
Verify the LibreOffice Flatpak Installation
Confirm the Flatpak installation:
flatpak list | grep -i libre
Expected output:
LibreOffice org.libreoffice.LibreOffice 26.x.x stable flathub system
Flathub updates frequently. The version shown will be the current stable release at the time of installation.
Method 3: Install LibreOffice on Debian via Manual DEB Package
LibreOffice publishes pre-built DEB packages in a tarball you can download directly. This is useful for offline machines or when you need a version that APT and Flatpak do not carry. Two options are covered below: a step-by-step manual download (Option 1) and an automated script that handles downloading, installing, and future updates (Option 2).
Option 1: Download and Install LibreOffice Manually
These commands automatically detect the latest stable version from The Document Foundation’s download server and download the correct tarball. No manual version editing is needed:
cd /tmp
LO_VERSION=$(curl -sL https://download.documentfoundation.org/libreoffice/stable/ \
| grep -oP 'href="\K[0-9]+\.[0-9]+\.[0-9]+(?=/")' \
| sort -V | tail -1)
echo "Latest version: $LO_VERSION"
wget "https://download.documentfoundation.org/libreoffice/stable/${LO_VERSION}/deb/x86_64/LibreOffice_${LO_VERSION}_Linux_x86-64_deb.tar.gz"
The first command (curl) fetches the directory listing from the download server and extracts version numbers. sort -V sorts them by version, and tail -1 picks the highest. The result is stored in $LO_VERSION, which wget then uses to build the download URL. If curl is not installed, run sudo apt install curl first.
To install a specific older version instead, replace the auto-detection line with
LO_VERSION="25.8.5"(or whichever version you need) and run thewgetcommand. Available versions are listed on the LibreOffice download page.
Extract the tarball and install all DEB packages. These commands use wildcard patterns so they work regardless of the specific version number in the extracted directory:
tar -xzf LibreOffice_*_Linux_x86-64_deb.tar.gz
cd LibreOffice_*_Linux_x86-64_deb/DEBS
sudo apt install ./*.deb
The extracted directory includes a four-digit version (for example,
26.2.1.2) that differs from the three-digit download version (26.2.1). The wildcard*handles this difference automatically.
Install the desktop integration package to add LibreOffice to your application menu and enable file associations:
cd desktop-integration
sudo dpkg -i *.deb
Option 2: Automated LibreOffice Install and Update Script
This script detects the latest stable version from The Document Foundation’s download server, downloads the tarball, installs all DEB packages, and adds desktop integration. Rerun it whenever you want to check for updates.
Create the script file:
nano ~/update-libreoffice.sh
Paste the following script:
#!/bin/bash
set -e
# LibreOffice DEB Installer and Updater
# Downloads the latest stable release from The Document Foundation
# and installs or updates the DEB packages on Debian.
# Rerun this script at any time to check for newer versions.
DOWNLOAD_DIR="/tmp"
BASE_URL="https://download.documentfoundation.org/libreoffice/stable"
# Do not run as root
if [ "$(id -u)" -eq 0 ]; then
echo "Error: Run this script as a regular user, not root."
echo "The script uses sudo only when installing packages."
exit 1
fi
# Check required tools
for cmd in curl tar dpkg; do
if ! command -v "$cmd" > /dev/null; then
echo "Error: $cmd is required but not installed."
exit 1
fi
done
echo "Checking for latest LibreOffice version..."
# Fetch latest stable version from the download server
LATEST_VERSION=$(curl -sL "$BASE_URL/" \
| grep -oE 'href="[0-9]+\.[0-9]+\.[0-9]+/"' \
| grep -oE '[0-9]+\.[0-9]+\.[0-9]+' \
| sort -V | tail -1)
if [ -z "$LATEST_VERSION" ]; then
echo "Error: Could not detect the latest version."
echo "Check your internet connection or visit:"
echo "https://www.libreoffice.org/download/"
exit 1
fi
# Detect currently installed version
CURRENT_VERSION="none"
if ls /opt/libreoffice*/program/soffice 1> /dev/null 2>&1; then
for dir in /opt/libreoffice*/; do
if [ -x "${dir}program/soffice" ]; then
CURRENT_VERSION=$("${dir}program/soffice" --version \
| grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -n 1 || echo "none")
break
fi
done
fi
echo "Current installed version: $CURRENT_VERSION"
echo "Latest available version: $LATEST_VERSION"
if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ]; then
echo "Already up to date."
exit 0
fi
echo ""
read -rp "Continue with install/update? (y/n) " CONFIRM
if [ "$CONFIRM" != "y" ] && [ "$CONFIRM" != "Y" ]; then
echo "Cancelled."
exit 0
fi
TARBALL="LibreOffice_${LATEST_VERSION}_Linux_x86-64_deb.tar.gz"
DOWNLOAD_URL="${BASE_URL}/${LATEST_VERSION}/deb/x86_64/${TARBALL}"
echo ""
echo "Downloading LibreOffice ${LATEST_VERSION}..."
cd "$DOWNLOAD_DIR"
# Clean up leftover files from previous runs
rm -rf LibreOffice_*_Linux_x86-64_deb/ LibreOffice_*_Linux_x86-64_deb.tar.gz
curl -fLO --progress-bar "$DOWNLOAD_URL"
echo "Extracting archive..."
tar -xzf "$TARBALL"
echo "Installing LibreOffice DEB packages (requires sudo)..."
cd LibreOffice_*_Linux_x86-64_deb/DEBS
sudo apt install ./*.deb -y
echo "Installing desktop integration..."
cd desktop-integration
sudo dpkg -i *.deb
echo ""
echo "Cleaning up temporary files..."
cd "$DOWNLOAD_DIR"
rm -rf "$TARBALL" LibreOffice_*_Linux_x86-64_deb/
echo ""
echo "Verifying installation..."
/opt/libreoffice*/program/soffice --version
echo ""
echo "Installation complete!"
Save the file by pressing Ctrl+O, then Enter, then exit with Ctrl+X. Make the script executable and run it:
chmod +x ~/update-libreoffice.sh
~/update-libreoffice.sh
Expected output for a fresh installation:
Checking for latest LibreOffice version... Current installed version: none Latest available version: 25.x.x Continue with install/update? (y/n) y Downloading LibreOffice 25.x.x... ######################################## 100.0% Extracting archive... Installing LibreOffice DEB packages (requires sudo)... [sudo] password for user: ... Installing desktop integration... Cleaning up temporary files... Verifying installation... LibreOffice x.x.x.x ... Installation complete!
On subsequent runs the script compares your installed version with the latest release. If they match, it prints “Already up to date” and exits without downloading anything.
Avoid automating this script with cron. DEB package installations can fail from network issues or download server changes, so always run the script manually to monitor the output and address any problems.
Verify the LibreOffice Manual DEB Installation
After installation, verify LibreOffice is working by checking the version from the install path:
/opt/libreoffice*/program/soffice --version
Expected output:
LibreOffice x.x.x.x ...
The version shown matches the DEB package you installed. The installation path uses the major.minor version (for example,
/opt/libreoffice26.2/). If you used the automated script, this verification was already performed during the script’s final step.
After installing the desktop integration package, LibreOffice appears in your application menu. You can also create a symbolic link to
/usr/local/bin/libreofficeif you prefer launching from the terminal using justlibreoffice.
Launch LibreOffice on Debian
LibreOffice can be launched from the terminal or through the application menu.
Launch LibreOffice from the Terminal
APT installations:
libreoffice
For Flatpak installations:
flatpak run org.libreoffice.LibreOffice
For manual DEB installations (the wildcard matches any installed version):
/opt/libreoffice*/program/soffice
Launch LibreOffice from the Application Icon
Search for “LibreOffice” in your application menu or Activities dashboard and click the icon. The LibreOffice Start Center opens, where you can select a specific application such as Writer, Calc, or Impress.


Manage LibreOffice on Debian
Update LibreOffice on Debian
Update via APT
Check for available LibreOffice updates through APT:
sudo apt update
sudo apt install --only-upgrade libreoffice
Verify the update:
libreoffice --version
Update via Flatpak
Update the Flatpak installation of LibreOffice:
sudo flatpak update org.libreoffice.LibreOffice
Verify the update:
flatpak info org.libreoffice.LibreOffice | grep Version
Update Manual DEB Installation
If you installed LibreOffice using the automated script (Option 2), rerun the script to check for and install the latest version:
~/update-libreoffice.sh
The script checks whether a newer version exists. If one is found, it downloads and installs it automatically. When already current, it exits with:
Checking for latest LibreOffice version... Current installed version: 25.x.x Latest available version: 25.x.x Already up to date.
If you used Option 1, rerun the download and install commands from that section. The auto-detection pulls the latest version automatically, and the new packages overwrite the previous installation in /opt/.
Remove LibreOffice from Debian
The removal process varies depending on your installation method.
Remove APT Installation
Remove LibreOffice and its unused dependencies:
sudo apt remove libreoffice
sudo apt autoremove
To remove configuration files as well, use purge instead:
sudo apt purge libreoffice
sudo apt autoremove
Verify removal:
sudo apt update
apt-cache policy libreoffice
Expected output:
libreoffice: Installed: (none) Candidate: x.x.x-x
Confirm the command is no longer available:
libreoffice --version
Expected output:
bash: libreoffice: command not found
Remove Flatpak Installation
Remove the Flatpak version of LibreOffice:
sudo flatpak uninstall org.libreoffice.LibreOffice -y
Verify removal:
flatpak list | grep -i libre
This command should return no output.
Remove Manual DEB Installation
Manual DEB installations install to /opt/ and do not include an automated uninstaller. Remove the installation directory manually:
The following command permanently deletes the LibreOffice installation including any custom templates or extensions you may have added. Back up any customized templates or extensions from the installation directory (for example,
/opt/libreoffice26.2/) before proceeding. Replace the version number below to match your installed version.
ls /opt/ | grep libreoffice
sudo rm -rf /opt/libreoffice*
Remove the desktop integration package (check the package name using dpkg -l | grep libreoffice):
dpkg -l | grep libreoffice
sudo apt remove libreoffice*-debian-menus
Clean up any downloaded tarball and extracted files:
rm -rf /tmp/LibreOffice_*_Linux_x86-64_deb.tar.gz /tmp/LibreOffice_*_Linux_x86-64_deb/
Verify the installation directory is removed:
ls /opt/ | grep libre
This command should return no output, confirming complete removal.
Troubleshoot Common LibreOffice Issues on Debian
Manual DEB: Command Not Found Error
If you installed the manual DEB package and receive libreoffice: command not found, this is expected. The manual installation places LibreOffice in /opt/, which is not in your system PATH by default.
Error message:
bash: libreoffice: command not found
Diagnostic: Check if LibreOffice is installed in /opt/:
ls /opt/ | grep libre
Expected output:
libreoffice26.2
Fix: Use the full path to launch LibreOffice, or create a symbolic link to /usr/local/bin. Identify the installed version first, then create the link:
ls /opt/ | grep libreoffice
sudo ln -sf /opt/libreoffice26.2/program/soffice /usr/local/bin/libreoffice
Replace
libreoffice26.2in theln -sfcommand with the directory name returned by thelscommand. When you update LibreOffice to a newer major.minor version, recreate this symlink with the updated path.
Verification:
libreoffice --version
Flatpak: Font Rendering Issues
Flatpak installations may not access system fonts properly, causing missing or incorrect font rendering in documents.
Diagnostic: Check if fonts are missing by opening a document and looking for font substitution warnings or unexpected font rendering.
Fix: Grant LibreOffice Flatpak access to system fonts:
flatpak override --user org.libreoffice.LibreOffice --filesystem=/usr/share/fonts:ro
For locally installed user fonts:
flatpak override --user org.libreoffice.LibreOffice --filesystem=~/.local/share/fonts:ro
Verification: Restart LibreOffice and check if the missing fonts now appear in the font selector. For Microsoft Office document compatibility, install Microsoft fonts on Debian.
Slow First Launch After Installation
LibreOffice may take 20-30 seconds to launch the first time after installation, regardless of which method you used.
Diagnostic: LibreOffice performs first-run tasks during the initial launch including:
- Creating user profile directories
- Indexing help documentation
- Initializing Java runtime (if Base is included)
- Building font cache
Fix: No action needed. Subsequent launches will be significantly faster (typically 2-3 seconds). However, if slow launches persist after the first run, check system resources:
free -h
df -h
Ensure you have at least 1GB of free RAM and sufficient disk space for LibreOffice to operate smoothly.
LibreOffice Not Appearing in Application Menu
This issue typically occurs with manual DEB installations when the desktop integration package was not installed.
Diagnostic: Check if the desktop integration package is installed:
dpkg -l | grep libreoffice | grep menu
Fix: Install the desktop integration package from the extracted tarball:
cd /tmp/LibreOffice_*_Linux_x86-64_deb/DEBS/desktop-integration
sudo dpkg -i *.deb
Verification: Log out and log back in, then check your application menu for LibreOffice entries. You can also update the desktop database manually:
sudo update-desktop-database
FAQ on LibreOffice and Debian
It depends on how you installed Debian. The GNOME desktop task and most graphical installers include LibreOffice as part of the default desktop environment. However, minimal or netinst installations without a desktop task do not include LibreOffice, so you need to install it manually with APT, Flatpak, or the manual DEB method described above.
Yes. On Debian, each LibreOffice application has its own APT package. Install only what you need with sudo apt install libreoffice-writer for word processing, libreoffice-calc for spreadsheets, or libreoffice-impress for presentations. The libreoffice-core package is always pulled in as a dependency. This approach saves roughly 200-400 MB compared to the full suite.
LibreOffice forked from OpenOffice.org in 2010 and is now maintained by The Document Foundation with frequent releases and active development. Apache OpenOffice receives infrequent updates and has a much smaller contributor base. Debian ships LibreOffice in its official repositories and does not package Apache OpenOffice. For most users, LibreOffice is the better choice due to its faster release cycle, broader format support, and larger community.
Debian 13 (Trixie) ships LibreOffice 25.2.x, Debian 12 (Bookworm) ships 7.4.x, and Debian 11 (Bullseye) ships 7.0.x. These are frozen at the version available when each Debian release was finalized, so they lag behind the latest upstream release. Use Flatpak or the manual DEB method to get a newer version.
Install LibreOffice via Flatpak from Flathub during setup to get the latest stable release (currently 26.2.x), or download manual DEB packages from the official LibreOffice website. On Debian 13, you can also check trixie-backports for a newer version with sudo apt -t trixie-backports install libreoffice.
The Flatpak app ID for LibreOffice is org.libreoffice.LibreOffice. Use it with Flatpak commands: flatpak install flathub org.libreoffice.LibreOffice to install, flatpak run org.libreoffice.LibreOffice to launch, flatpak update org.libreoffice.LibreOffice to update, and flatpak uninstall org.libreoffice.LibreOffice to remove.
Conclusion
LibreOffice is running on your Debian system with Writer, Calc, Impress, and Draw available for daily use. For better document compatibility, install Microsoft fonts on Debian. Protect your system before major changes with Timeshift on Debian, or keep packages current automatically with unattended upgrades on Debian.
Indeed, it is odd and counter-intuitive.
Gérard
Dear Sir,
At Step 3 of Method 1
I believe it is lsb_release (using an underscore character)
and not
lsb-release (using an hyphen character)
Either way, there must be an error at Step 3 of Method 1.
Joshua,
Oops!… I could be wrong here.. since the
lsb-release (with an hyphen) package exists!
https://packages.debian.org/bookworm/lsb-release
Gérard
Thanks for the follow-up and self-correction, Gérard. You caught exactly the confusion many people encounter. The command is
lsb_release(underscore), but the package name islsb-release(hyphen). Your instinct to double-check was spot on.The article has been completely rewritten since your May 2024 comment and no longer uses
lsb_releaseat all. The current version avoids that command because it is not available by default on minimal Debian installations, which causes confusion for readers working with server installs.Your attention to detail helped validate the need for clearer instructions. Thank you for taking the time to verify and report back.