Blog

Word, Excel and PowerPoint on Linux as desktop apps

Popular sites · · 8 min read

Microsoft's pages say Microsoft 365 apps run on PCs, Macs, phones and tablets, and list browsers plus iOS and Android apps for the free web versions, with no Linux desktop version named, so on Linux you use Word, Excel and PowerPoint on the web. Pake CLI can wrap each in its own app, with its own launcher entry and window. These apps are the same web client as in a browser, running on WebKitGTK, so the web version's gaps (no macros, no offline mode) carry over, and sign-in, new windows and downloads need a few options.

What Microsoft offers on Linux

Microsoft's plan comparison page says Microsoft 365 Personal is for use "on PCs, Macs, phones & tablets", and the system requirements page says Microsoft 365 is designed to work with current Safari and Chrome, the latest Edge, and current Firefox for most apps, with mobile apps for iOS and Android. As of November 2026 neither page mentions Linux or WebKitGTK.

The web apps are free with a Microsoft account. Microsoft's page for the free web apps offers Word, Excel and PowerPoint on the web with 5 GB of OneDrive storage, says to use them "across your browser, iOS, and Android devices", and says online collaboration needs files saved in and shared from OneDrive. Work and school accounts use the same sites with their organization's licence.

What the web version cannot do

Microsoft's Office for the web service description has a table for each app. The items most people run into:

  • Macros. Excel for the web cannot create or run VBA macros, though it opens .xlsm files and keeps the macros in them. Microsoft's Excel page says changes to macros need the desktop app. Word for the web shows ActiveX controls as placeholders you can delete but not edit, and leaves macros to the Word desktop app.
  • Offline. Word, Excel and PowerPoint for the web all list offline viewing and authoring as not available.
  • Specific features. Word lacks mail merge, captions and citations; Excel lacks Power Pivot creation, What-If tools such as Goal Seek and external data connections; PowerPoint lacks Presenter view and custom animation.

If your work depends on those, a Pake window cannot add them, because they need the desktop app. For offline editing on Linux there are LibreOffice and ONLYOFFICE, which are separate programs.

One app per tool or one for everything

The Microsoft 365 home page and the three tools live on different hostnames. On 2026-11-04 microsoft365.com and office.com both redirected to m365.cloud.microsoft, and /launch/word, /launch/excel and /launch/powerpoint on either went to word.cloud.microsoft, excel.cloud.microsoft and powerpoint.cloud.microsoft. All three returned 200 to a request with Pake's default Linux user agent.

Pake grants its native features only to the exact website address you package. The advanced usage guide says to package the final website URL, and that on other origins native notifications, zoom, Pake's fullscreen controls and opening links in the system browser are unavailable, and downloads fall back to the browser. A single app on m365.cloud.microsoft would reach Word through a different hostname. Three apps, each on its tool's own hostname, keep each tool on the origin that gets the features, and give you three launcher entries.

Build the three apps

Pake CLI needs Node.js 20.9 or later, Rust 1.85 or later and your distribution's WebKitGTK development packages. The CLI FAQ lists them and the getting started guide covers the rest. The first build takes several minutes.

npm install -g pake-cli
SAFE=cloud.microsoft,microsoftonline.com,office.com,microsoft365.com,live.com,sharepoint.com
pake https://word.cloud.microsoft --name "Microsoft Word" --width 1280 --height 820 --new-window --safe-domain "$SAFE"
pake https://excel.cloud.microsoft --name "Microsoft Excel" --width 1280 --height 820 --new-window --safe-domain "$SAFE"
pake https://powerpoint.cloud.microsoft --name "Microsoft PowerPoint" --width 1280 --height 820 --new-window --safe-domain "$SAFE"

On Linux the names become microsoft-word and so on. For one package format, pass --targets with deb, rpm, appimage or zst; without it the CLI picks formats for your distribution (deb and appimage on Debian and Ubuntu, rpm and appimage on Fedora). Install the result as you would a local package, for example sudo apt install ./microsoft-word.deb.

If you run Arch or Omarchy on x86_64, the Pake desktop app builds the same apps without Node or Rust. Install it as the install page describes, then in the create page enter the address and name, turn on Open new windows in the app, and under Advanced fill Internal URL regex, for example ^https://([^/]+\.)*(cloud\.microsoft|microsoftonline\.com|office\.com|microsoft365\.com|live\.com|sharepoint\.com)(/|$), before Create App. The create guide covers the other fields. On Ubuntu and Fedora, use the CLI.

A Pake Word window on word.cloud.microsoft: sign-in at login.microsoftonline.com and other cloud.microsoft hosts stay in the window, other hosts open in the system browser unless listed in --safe-domain, and Pake's native features apply only to the exact packaged origin

Why those options

Links that leave the site. By default Pake keeps a link in the window when its host, or its root domain, matches the packaged address, and sends other links to your system browser. word.cloud.microsoft and excel.cloud.microsoft share the root domain cloud.microsoft, so a link from Word to an Excel file stays in the Word window. --safe-domain replaces that default with an explicit list of hosts and their subdomains, which is why cloud.microsoft is in the list as well. Work and school sign-in happens on login.microsoftonline.com, which Pake treats as an authentication address and keeps in the current window on Linux. The signed-out Word page also preconnects to login.live.com, which Pake does not treat as a sign-in address, so live.com is in the list to keep it in the window.

New windows. Without --new-window, a link inside the site that asks for a new window opens in the current one and replaces the page you were on. With it, those links open in a new app window, so a document opened from the start page leaves the start page in place; the CLI options describe it.

Downloads. Pake downloads go to your system Downloads folder, and --download-dir '~/Documents/Office' changes that. To get a local copy of a workbook, Microsoft's Excel description says to use Save As on the File tab, or right-click the workbook in its folder and choose Download.

Sign in and open your files

Open the app and sign in. A work or school account goes through login.microsoftonline.com inside the window. The login stays between launches unless you build with --incognito, so quit and reopen once to confirm you are not asked again. Some organizations restrict sign-in by device or browser, so ask your administrator if the window is refused.

Then open a file from the start page: a recent one, one from OneDrive, and one shared by link. Look at where each opens. If a document lands on a hostname that is not in your list, such as your organization's SharePoint address, your system browser takes it. Open that file in a normal browser, read the hostnames in the address bar, and rebuild with those added to --safe-domain. A document that opens on an origin other than the app's own address is also outside the native features, so links from it may not reach your system browser and downloads can fall back to the browser.

For a work and a personal account side by side, build two sets with different names. Pake derives the app identifier from the URL and the name, so the apps keep separate data; the two accounts guide covers the pattern.

What to test first

Microsoft's pages promise nothing about WebKitGTK, so test what you rely on first:

  1. Type, format and save a Word document, then reload the app and check that it is there.
  2. In Excel, enter a formula, a chart and a filter, and press the shortcuts you use. Excel for the web has a Help, Keyboard Shortcuts setting that can override browser shortcuts.
  3. In PowerPoint, start the slide show and exit it.
  4. Print to PDF, and download a copy of each file type.
  5. Try dictation, which depends on microphone access. Pake does not answer WebKitGTK's microphone requests on Linux, so expect it to be refused, as the Teams on Linux post explains for calls.

If the site shows an unsupported-browser page, --user-agent changes what the app says it is, as the user agent guide describes; the engine stays WebKitGTK. Under Wayland, the FAQ suggests PAKE_LINUX_WEBKIT_SAFE_MODE=0 in front of the app command when clicks or typing do nothing, and =1 when the window is blank.

Update

The Microsoft sites update on each load. To refresh the Pake runtime around them, update pake-cli and run the same commands again.

FAQ

Is there a desktop Word, Excel or PowerPoint for Linux?

Microsoft's pages list PCs, Macs, phones, tablets and browsers, and name no Linux version. The web apps are the route, and a Pake window is a way to run them with an icon and a window of their own.

Should I use a browser's installed-app feature instead?

If Edge or Chrome already installs the site as an app, that works well, and Microsoft names both browsers. A Pake window is for when you want the system WebKitGTK and the options above.