You need a colleague’s .docx to open on your Debian desktop looking the way it did in Word. WPS Office on Debian is the suite most people try for that, because its ribbon and its Calibri default copy Microsoft Office closely. Installing it is now the easy part: the current WPS Office 2023 .deb installs and starts cleanly on Debian 13, and the work that decides .docx fidelity is all in the fonts, where WPS behaves differently from fontconfig apps such as LibreOffice.
This guide installs WPS Office 2023 from the vendor’s .deb, walks through the first launch, and then sorts out fonts and interface languages. It also covers the two dependency errors the older 11.1 build still throws. Every command below was run on a Debian 13.7 desktop VM with WPS Office 2023 (12.1.2.29182) in October 2026, and the screenshots are from that box.
Prerequisites
The .deb behind the Download DEB button on wps.com is an amd64 package, and it is big, so check disk space before you start. Our lab was a 4 vCPU, 6 GB VM with Xfce, which is more than the suite needs.
- Debian 13 with a graphical desktop (GNOME, KDE, Xfce or similar) on amd64
- About 3.5 GB of free disk: a 630 MB download that unpacks to 2.6 GB in /opt
- A user with sudo rights
- curl or wget for the download
We did not measure the memory use of the 2023 release. The older 11.1 build used about 650 MB across its processes with one Writer document open, and the desktop takes its own share on top of that. Our GNOME vs KDE vs Xfce RAM comparison shows how far apart they idle, which matters on a small laptop.
If your Debian box is still a bare server, add a desktop first. The Xfce on Debian guide covers a light one, and Xfce is what the screenshots below were taken on.
Download the WPS Office .deb
WPS does not publish an apt repository for Linux, so you download the .deb and install it by hand. The Download DEB button on the WPS Linux download page points at an unversioned URL that serves the current build, so the command below keeps working when WPS ships the next one. A minimal Debian install may not have curl, so add it first:
sudo apt install curl
curl -fLO https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/wps-office.deb
If you’d rather use wget, wget https://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/wps-office.deb saves the same file. It is 630 MB, and it took 4 minutes 51 seconds on our link. Before you install a 630 MB binary from a CDN, check what you actually got:
sha256sum wps-office.deb
dpkg-deb -f wps-office.deb Package Version Architecture Depends Recommends Installed-Size
The build we tested had the sha256 ca6be0aa3d803c8fb810dc95f888e7221a95d173dc81e2ea5a3e54535b7e9b48. Because the URL is unversioned, your checksum will differ once WPS publishes a newer build, so the version line is the one to read. Ours showed this package header:
Package: wps-office
Version: 12.1.2.29182.AK.preread.sw
Architecture: amd64
Depends: libc6 (>= 2.15) | libc6.1, libfreetype6 (>= 2.4), libcups2, libglib2.0-0, libglu1-mesa, libsm6, libxrender1, libfontconfig1, libxext6, libxcb1, libbz2-1.0, libxkbcommon0, libxkbcommon-x11-0
Installed-Size: 2576480
A version starting with 12 is the 2023 release. If yours starts with 11.1, you have the older build, and the section on its two missing dependencies applies to you. The 2023 package has no Recommends line at all, so apt will not try to pull in Microsoft fonts behind your back.
Install WPS Office 2023 on Debian 13
The 2023 .deb needs nothing extra, so install it with apt straight from the file. The ./ prefix matters, because without it apt searches the repositories for a package named wps-office.deb instead of reading the local file. Start from an up-to-date system, which the post-install steps for Debian 13 take care of:
sudo apt install ./wps-office.deb
Apt reports one new package and 2638 MB of disk to be used, and the install took 1 minute 36 seconds on our VM. If the file sits in your home directory, apt may also print a note that the download is performed unsandboxed as root, because its _apt user cannot read your home. That note is harmless here, since the file is already local. Confirm dpkg considers the package fully configured:
dpkg -l wps-office | tail -1
A healthy install shows ii in the first column. We ran this on a VM where xdg-utils and libxslt1.1 had been purged on purpose, and the 2023 package still configured and launched, so the old dependency errors do not apply to it:
ii wps-office 12.1.2.29182.AK.preread.sw amd64 WPS Office, is an office productivity suite.
The package drops four launchers in /usr/bin: wps for documents, et for spreadsheets, wpp for presentations and wpspdf for PDFs. The whole suite lives in /opt/kingsoft/wps-office, which came to 2.6 GB:

If you are on the 2023 build, skip the next section and go straight to the first launch.
Fix the old 11.1 .deb dependency errors
Older guides, including the previous version of this one, link a versioned 11.1 build (wps-office_11.1.0.11723.XA_amd64.deb), and that URL still downloads. On Debian 13 that build has two undeclared dependencies. If you must stay on it, install them before the .deb, which is the order we tested from a clean slate and which gave a configured package and a running app:
sudo apt install xdg-utils libxslt1.1
sudo apt install ./wps-office_11.1.0.11723.XA_amd64.deb
If you installed the 11.1 .deb first, you’ll see one or both of the errors below. They are independent, so fix whichever you hit, and neither one needs a reinstall.
Error: “xdg-icon-resource: command not found” (exit status 127)
Apt unpacks the 11.1 package and ends with E: Sub-process /usr/bin/dpkg returned an error code (1). Running sudo dpkg --configure -a shows the cause: the post-install script calls xdg-icon-resource, which comes from xdg-utils, and our VM did not have it even with Xfce installed. Exit status 127 is the shell’s “command not found” code, and it leaves the package half-configured (iF in dpkg -l). Until you fix it, every later apt run retries that postinst and fails with the same error code (1). Install xdg-utils (43 packages on our VM) and apt finishes the pending configure step in the same run:
sudo apt install xdg-utils
sudo dpkg --configure -a
The capture below is the whole sequence on the lab VM, from the failed postinst to ii:

The second dpkg --configure -a prints nothing when there is nothing left to do. If it prints the same postinst error again, xdg-utils did not install, so check the apt output for a held or broken package first.
Error: “libxslt.so.1: cannot open shared object file”
With the 11.1 package configured, clicking WPS in the menu did nothing at all on our box. The app writes the reason to standard error, so start it from a terminal, give it time to fail, and read the log:
wps >/tmp/wps.log 2>&1 & sleep 20; cat /tmp/wps.log
WPS 11.1 loads one of its own libraries at startup, and that library links against libxslt, which is neither installed nor declared:
dlopen /opt/kingsoft/wps-office/office6/libkprometheus.so failed , error: libxslt.so.1: cannot open shared object file: No such file or directory
If the log is empty, wait a few seconds and run cat /tmp/wps.log again, because the failure is only written once WPS tries to load that library.
Install libxslt1.1 and launch again, and the window appears. Don’t chase ldd output on that library afterwards: it still lists about twenty bundled Qt and Kingsoft libraries as “not found”, but WPS sets its own library path at launch, so those entries are noise.
Launch WPS Office and accept the licence
Open WPS Office from your desktop’s application menu, or run wps from a terminal. The first launch shows Kingsoft’s licence agreement and privacy policy, and I Confirm stays grey until you tick the checkbox beside it:

After you confirm, a “Welcome to WPS Office” dialog sells the paid tier, with an AI chat, a PDF editor and an Upgrade now button. Close it with the X in its top-right corner. Behind it, the home screen shows a Sign In button and “Cloud sync disabled”.

Signing in is optional. We created and edited documents without an account, and we didn’t test the cloud, sharing or AI features that need one. Click New and pick Docs under Office Document (Slides, Sheets and PDF sit beside it). A blank document opens with Calibri (Body) at 10 points, an upgrade banner you can close, and a “Font Missing” warning in the status bar:

That warning is the start of the font work, and it is where WPS behaves least like the other apps on a Linux desktop.
Install fonts and check the language packs
Fonts decide whether a .docx looks right, and WPS does not pick them the way the rest of your desktop does. Most Linux apps ask fontconfig which font to draw when a document names one you lack, so installing a metric-compatible substitute fixes them all at once. WPS keeps its own substitution table instead. A font only stops being “missing” in WPS when a font with that exact name is installed, which is what the next steps show.
“Font Missing” and the Font Substitution dialog
Click Font Missing in the status bar and WPS opens a Font Substitution dialog. It lists each font the document asks for that is not installed, and the font WPS draws and prints in its place. On our VM, with the Microsoft core fonts already installed, a blank document listed four:

SimSun and SimHei went to Times New Roman, Wingdings to Andale Mono and Calibri to Trebuchet MS. The Wingdings line is the dangerous one, because bullets and symbols set in Wingdings turn into ordinary letters. Before installing anything, a fc-list check on our VM found no Symbol, Wingdings or MT Extra families.
Install the six symbol fonts
WPS needs six symbol families for formulas and bullets: Symbol, Wingdings, Wingdings 2, Wingdings 3, Webdings and MT Extra. None of them is free. Symbol, Wingdings and Webdings are Microsoft’s, and MT Extra belongs to Design Science, so only install them if you are licensed. The clean route is to copy the six files from a Windows or Office install you own (they live in C:\Windows\Fonts on Windows). The community repository we used is a convenience with the same licence caveat, and it now carries dozens of other Microsoft fonts too, so take only these six. Clone it, installing git and fontconfig if they are missing:
sudo apt install git fontconfig
git clone --depth 1 https://github.com/dv-anomaly/ttf-wps-fonts.git /tmp/ttf-wps-fonts
Copy the six files into their own directory, so you can see later what you added and remove it in one go, then rebuild the font cache. If you copied them from Windows instead, put those files in the same directory and run the last two commands:
sudo mkdir -p /usr/share/fonts/wps-symbol
cd /tmp/ttf-wps-fonts && sudo cp symbol.ttf wingding.ttf WINGDNG2.ttf WINGDNG3.ttf WEBDINGS.TTF mtextra.ttf /usr/share/fonts/wps-symbol/
sudo chmod 644 /usr/share/fonts/wps-symbol/*
sudo fc-cache -f
Check that fontconfig sees all six families. WPS reads font files through the system font directories, so a family that doesn’t show here will not reach WPS either.
fc-list : family | grep -iE "symbol|wingdings|webdings|mt extra" | sort -u
All six should print. If one is missing, the copy step missed a file, and the names are case-sensitive:
MT Extra
Symbol
Webdings
Wingdings
Wingdings 2
Wingdings 3
Close WPS completely, start it again and open a new document. Wingdings is gone from the Font Substitution list, while SimSun and SimHei now fall back to Droid Sans Fallback and Calibri still goes to Trebuchet MS. The replacement names depend on which fonts you have installed (both of our captures had the Microsoft core fonts plus Carlito and Liberation present), but the part that holds is that Calibri stays listed as missing:

The Font Missing item stays lit after this, and on an English document that is mostly cosmetic. SimSun and SimHei are Chinese fonts that WPS appears to reference by default, so they should only matter if you type Chinese text. Calibri is the one that matters for .docx files, and it’s covered next.
Why Carlito does not fix Calibri in WPS
On other Debian apps, the standard fix for Word documents is a set of free metric-compatible fonts from Debian main. Carlito and Caladea match the character widths of Calibri and Cambria, and Liberation matches Arial and Times New Roman, so lines break where Word broke them. Install them anyway, because LibreOffice and every other fontconfig app on the desktop uses them:
sudo apt install fonts-crosextra-carlito fonts-crosextra-caladea fonts-liberation
Fontconfig picks them up at once. Ask it which file it chooses for each Office font name:
for f in Calibri Cambria Arial "Times New Roman"; do echo "$f -> $(fc-match "$f")"; done
Before the install, every name resolved to DejaVu, which has different widths. After it, each maps to its metric twin, as the before and after runs from the lab VM show:

WPS ignores that alias. With fc-match returning Carlito for Calibri, WPS still substituted Trebuchet MS, as the dialog above shows, so a Calibri document in WPS is not drawn with Calibri’s widths. The Replacement font dropdown in the Font Substitution dialog lets you pick a different font per missing font, and choosing Carlito there is the obvious next step, but we did not test it. Based on what the symbol fonts did, the fix WPS reliably recognises is a font installed under the exact name the document asks for. For Calibri and Cambria that means the real fonts from a licence you own.
Install Microsoft core fonts from contrib
The ttf-mscorefonts-installer package downloads Microsoft’s older core fonts, among them Arial, Times New Roman, Courier New, Georgia, Verdana and Webdings. It does not include Calibri, Cambria, Symbol or Wingdings 1 to 3, so it won’t clear the Calibri line or the symbol warning. Take it when your documents use those older fonts by name. It lives in the contrib component, and our Debian 13 image had only main enabled:
grep -h "^Components" /etc/apt/sources.list.d/*.sources
Ours printed Components: main. If grep instead reports No such file or directory, your system uses the one-line /etc/apt/sources.list format, so add contrib after main on each line there, as our guide to Debian repository components shows. On a deb822 file whose lines read exactly Components: main, this substitution adds contrib, and it is the form we tested. It will not match a line that already lists other components such as non-free-firmware, so edit that line by hand:
sudo sed -i "s/^Components: main$/Components: main contrib/" /etc/apt/sources.list.d/debian.sources
sudo apt update
apt-cache policy ttf-mscorefonts-installer
Before the change, apt-cache policy showed Candidate: (none). With contrib enabled, the Candidate line should show a version. The installer asks you to accept Microsoft’s EULA in a debconf dialog, and pre-accepting it with debconf skips the prompt, which helps in a script but is still you agreeing to the same licence:
echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | sudo debconf-set-selections
sudo apt install ttf-mscorefonts-installer
The package fetches the font archives during install, which took 38 seconds here. Confirm the package and count the files it unpacked:
dpkg -l ttf-mscorefonts-installer | tail -1
ls /usr/share/fonts/truetype/msttcorefonts/ | wc -l
Our run gave a configured package and 60 font files, none of them Calibri, Cambria, Symbol or Wingdings:
ii ttf-mscorefonts-installer 3.8.1 all Installer for Microsoft TrueType core fonts
60
With these installed, fc-match Arial returned the real Arial.ttf instead of Liberation Sans, and WPS used Times New Roman and Andale Mono as its replacements in the first Font Substitution dialog above.
Language packs in WPS Office 2023
There is no separate language pack to install. The 2023 .deb carries its interface translations in the suite’s mui directory, and WPS’s release notes for this build say the interface now supports 20 languages. List what your build shipped:
ls /opt/kingsoft/wps-office/office6/mui/
Apart from the default folder and a lang_list file, ours held 24 locale folders, which cover several regional variants of the same language:
- English: en, en_GB, en_US
- Spanish, French, Portuguese: es_ES, es_MX, fr_CA, fr_FR, pt_BR, pt_PT
- Other European: de_DE, it_IT, pl_PL, ru_RU, tr_TR
- Chinese: zh_CN, zh_HK, zh_TW
- Other Asian and Arabic: ar_SA, id_ID, ja_JP, ko_KR, ms_MY, th_TH, vi_VN
That is a big step up from the 11.1 build, which shipped English, Mongolian, Russian and Uyghur only. We did not switch the interface language or check spell-check dictionaries on the 2023 build (the status bar showed Spell Check: Disabled in our English session), so test your language before you roll WPS out to a team. If you also run Rocky or AlmaLinux machines, the WPS Office guide for Rocky and AlmaLinux covers the RPM build, and we would expect the same font behaviour there, though we did not test it.