How to Install Microsoft Fonts on Debian Linux

Microsoft TrueType fonts like Arial, Times New Roman, and Verdana ensure your documents display consistently between Windows and Linux systems. When you open .docx files from colleagues, work with publisher templates, or collaborate on web design projects, these fonts render text exactly as intended without layout shifts or font substitution warnings.

This guide covers installing Microsoft Core Fonts on Debian using the ttf-mscorefonts-installer package from the contrib archive component. You will enable the needed archive components, accept the Microsoft license agreement, install the font collection, and verify availability with both terminal queries and the graphical Fonts application. By the end, applications like LibreOffice, Firefox, and GIMP will render Microsoft-font documents without substitution.

Update System Packages

Before installing Microsoft fonts, refresh your package lists so APT has the latest metadata:

sudo apt update

This command refreshes your package index with the latest available versions. Once complete, you can proceed with enabling the required archive components and installing the fonts.

Install Microsoft Fonts via ttf-mscorefonts-installer

Microsoft Core Fonts reside in the contrib archive component because the Debian package provides an installer script that fetches proprietary font files (redistributed from SourceForge mirrors of the Microsoft Core Fonts collection) at install time. For background on Debian’s archive separation, see our guide on how to enable contrib and non-free repositories on Debian.

The contrib component contains packages that are free software themselves but depend on or install non-free software. The ttf-mscorefonts-installer package downloads proprietary Microsoft fonts during installation, which is why it cannot reside in the main repository.

The ttf-mscorefonts-installer package downloads and installs these Microsoft TrueType Core Fonts:

  • Andale Mono
  • Arial (including Bold, Italic, Bold Italic)
  • Comic Sans MS (including Bold)
  • Courier New (including Bold, Italic, Bold Italic)
  • Georgia (including Bold, Italic, Bold Italic)
  • Impact
  • Times New Roman (including Bold, Italic, Bold Italic)
  • Trebuchet MS (including Bold, Italic, Bold Italic)
  • Verdana (including Bold, Italic, Bold Italic)
  • Webdings

Enable Required Archive Components: The package itself lives in contrib. Many users also enable non-free and non-free-firmware for broader proprietary support. Edit only Debian archive lines—do not rewrite vendor repositories such as Google Chrome or Docker.

Debian 13 (Trixie) and Debian 12 (Bookworm) default to DEB822 .sources format for APT repository configuration. Debian 11 (Bullseye) uses the legacy .list format and does not include the non-free-firmware component.

For Debian 12 and Debian 13 with the default DEB822 source file, update the Components line:

sudo sed -i '/^Components:/s/ main/ main contrib non-free non-free-firmware/' /etc/apt/sources.list.d/debian.sources

Verify the change applied successfully:

grep '^Components:' /etc/apt/sources.list.d/debian.sources

Expected output showing all components enabled:

Components: main contrib non-free non-free-firmware
Components: main contrib non-free non-free-firmware

Debian 11 users: The non-free-firmware component does not exist on Bullseye. If you keep a legacy /etc/apt/sources.list, scope the change to Debian mirrors so third-party entries stay untouched:

sudo sed -i '/^deb http.*deb\\.debian\\.org.*main/s/ main$/ main contrib non-free/' /etc/apt/sources.list

If you prefer manual editing, open the relevant file with a text editor, append the needed components to each active Debian line, then save and exit.

After modifying repository configuration, refresh package metadata so APT recognizes the new component indexes:

sudo apt update

The output will show APT downloading package lists from the newly enabled contrib, non-free, and (on Debian 12+) non-free-firmware components. You should see lines like:

Get:1 http://deb.debian.org/debian trixie InRelease [127 kB]
Get:2 http://deb.debian.org/debian trixie/contrib amd64 Packages [52.3 kB]
Get:3 http://deb.debian.org/debian trixie/non-free amd64 Packages [89.1 kB]

Optional Headless EULA Preseed: For unattended installs in automation scenarios (CI/CD pipelines, Ansible playbooks, Dockerfiles), pre-accept the Microsoft Core Fonts EULA to bypass the interactive debconf screen:

echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | sudo debconf-set-selections

The Microsoft Core Fonts EULA allows redistribution of the fonts but requires preserving Microsoft’s copyright notices and trademark acknowledgments. The license does not permit modification of the font files themselves. Review the full terms in the debconf screen during interactive installation before accepting.

Install the Microsoft Core Fonts package (downloads and installs the TrueType files):

sudo apt install ttf-mscorefonts-installer

During installation, the terminal displays a blue debconf screen prompting you to accept the Microsoft Core Fonts license. Press Tab to highlight OK, then press Enter to proceed. The installer downloads the font files from SourceForge mirrors, showing progress and file sizes. Installation typically completes in 1-2 minutes on modern connections, though slower mirrors or network conditions may extend this time. If you see no progress after several minutes, confirm network connectivity and mirror availability, then retry the installation.

Terminal output showing Microsoft Fonts installation completion on Debian Linux
Example of terminal output showing Microsoft Fonts installed successfully on Debian Linux

The installer automatically updates your system’s font cache after installation. You can immediately use Microsoft fonts in LibreOffice, GIMP, Firefox, and other applications without restarting or running manual cache refresh commands.

Verify Microsoft Fonts Installation

Once the installation completes, verify that Microsoft fonts are properly installed and accessible to applications. You can check availability through both terminal commands and the graphical Fonts application.

Verify Installation via Terminal

The fontconfig package provides tools for querying installed fonts. The ttf-mscorefonts-installer package depends on xfonts-utils, which typically brings in font management dependencies, but if fc-list is not available, install fontconfig explicitly:

sudo apt install fontconfig

After fontconfig is available, confirm Microsoft fonts are registered in your system’s font cache by listing them:

fc-list | grep -i "Arial\|Times\|Verdana\|Courier"

Example success output (paths will match your architecture):

/usr/share/fonts/truetype/msttcorefonts/Arial.ttf: Arial:style=Regular
/usr/share/fonts/truetype/msttcorefonts/Arial_Bold.ttf: Arial:style=Bold
/usr/share/fonts/truetype/msttcorefonts/Times_New_Roman.ttf: Times New Roman:style=Regular
/usr/share/fonts/truetype/msttcorefonts/Verdana.ttf: Verdana:style=Regular

You can also query the preferred match for a font family using fc-match:

fc-match Arial
fc-match "Times New Roman"
Arial.ttf
Times_New_Roman.ttf

This command uses fc-list to query installed fonts and pipes the output through grep to filter for common Microsoft font names. The output shows the complete path to each font file (typically in /usr/share/fonts/truetype/msttcorefonts/) along with the font name and style variant. You should see multiple matches for different variants such as Arial, Arial Bold, Arial Italic, and Arial Bold Italic, confirming the complete font package installed successfully. These fonts are now immediately available in applications like LibreOffice, Firefox, and GIMP without requiring a restart or manual cache refresh.

Verify via Fonts Application

For graphical verification, open the Fonts application through your desktop environment. On GNOME-based systems, click Activities in the top-left corner, select Show Applications, then search for and launch the Fonts application:

On other desktops, open your font viewer (for example, gnome-font-viewer or Font Manager) from the applications menu to check the installed fonts.

Within the Fonts application, search for specific Microsoft fonts to confirm their availability. Type Arial into the search bar to verify one of the most commonly used fonts from the Microsoft Core Fonts collection:

Similarly, verify Times New Roman and other fonts from the collection. Search for each font by name to confirm the complete package installed successfully. The Fonts application displays font previews, style variants, and character samples for each installed font:

Remove Microsoft Fonts

To completely remove Microsoft fonts from your system, purge (not just remove) the installer package. A simple remove leaves downloaded font files behind; purge deletes package data and font files, then triggers cache updates.

sudo apt purge ttf-mscorefonts-installer

After purging the package, rebuild the font cache to remove references to the deleted fonts:

sudo fc-cache -f -v

The -f flag forces a complete cache rebuild, and -v enables verbose output. You will see messages like:

/usr/share/fonts: caching, new cache contents: 0 fonts, 3 dirs
/usr/local/share/fonts: caching, new cache contents: 0 fonts, 0 dirs
/home/username/.fonts: skipping, no such directory
fc-cache: succeeded

Verify the fonts no longer appear in the system font list:

fc-list | grep -i "Arial\|Times\|Verdana\|Courier"

If the command returns no output, the Microsoft fonts were successfully removed. After removal, applications fall back to substitute families (Liberation Sans, Liberation Serif, or other configured fontconfig alternatives) when opening documents referencing Microsoft fonts. Document formatting metadata remains intact; only rendered glyphs change, and you may notice subtle differences in character shapes and spacing.

Alternative: Use Liberation Fonts

If you cannot accept the Microsoft EULA or prefer open-source alternatives, install metric-compatible Liberation fonts instead. They preserve document layout for most Office files without proprietary licensing restrictions.

Install Liberation fonts from the main repository (no contrib or non-free components required):

sudo apt install fonts-liberation

Liberation fonts are metric-compatible with their Microsoft counterparts, meaning document layouts remain correct even though the actual glyph shapes differ slightly:

Microsoft FontLiberation EquivalentCompatibility
ArialLiberation SansMetric-compatible
Times New RomanLiberation SerifMetric-compatible
Courier NewLiberation MonoMetric-compatible

LibreOffice, Firefox, and most applications automatically map Liberation families as substitutes for Arial, Times New Roman, and Courier New. Documents maintain correct line breaks, pagination, and spacing, though you may notice subtle differences in character shapes and letter forms. For professional publishing or exact visual matching, the Microsoft Core Fonts remain the more accurate choice.

Revert Repository Component Changes

If you temporarily enabled contrib and non-free components only for this installation and prefer to minimize the number of proprietary packages available on your system, you can revert to the default main-only configuration. This reduces the package exposure to FOSS-only software, which some users prefer for security auditing or organizational policy compliance.

For Debian 12 and Debian 13 systems using DEB822 format, revert to the default components:

sudo sed -i 's/^Components: main contrib non-free non-free-firmware/Components: main/' /etc/apt/sources.list.d/debian.sources

For Debian 11 systems using the legacy .list format:

sudo sed -i '/^deb http.*deb\.debian\.org.*main contrib non-free/s/ contrib non-free//' /etc/apt/sources.list

After reverting the repository configuration, refresh the package index to remove references to contrib and non-free packages:

sudo apt update

The Microsoft fonts you already installed remain functional after reverting repository changes. You only lose access to future updates or additional contrib/non-free packages until you re-enable those components.

Troubleshoot Installation Issues

If the Microsoft fonts installer fails or fonts do not appear after installation, use the following diagnostic steps to identify and resolve common issues.

Installation Hangs or Fails

Symptom: The installation process stalls during download with no progress indicators, or APT reports download failures.

Diagnosis: Font files are downloaded from SourceForge mirrors during installation. Network connectivity issues or temporarily unavailable mirrors cause stalled downloads. Check your internet connection:

ping -c 3 sourceforge.net

If connectivity is confirmed but the installation still fails, SourceForge mirrors may be experiencing issues.

Fix: Purge the incomplete installation and retry. A fresh install attempt may connect to a different, functional mirror:

sudo apt purge ttf-mscorefonts-installer
sudo apt install ttf-mscorefonts-installer

Verification: A successful installation displays download progress for each font file and completes with font cache update messages. Check that fonts are registered:

fc-list | grep -i Arial

Fonts Missing in Applications

Symptom: Microsoft fonts do not appear in application font menus (LibreOffice, GIMP, Inkscape) even though installation succeeded.

Diagnosis: Applications read font information from the fontconfig cache. If the cache was not updated correctly during installation or an application cached the font list before installation, fonts may not appear. Check if fonts are physically installed:

ls -lh /usr/share/fonts/truetype/msttcorefonts/

If the directory exists and contains .ttf files, the fonts are installed but not cached correctly.

Fix: Rebuild the system-wide font cache to register the newly installed fonts:

sudo fc-cache -f -v

The -f flag forces a complete rebuild, and -v shows verbose output as each directory is processed.

Verification: After rebuilding the cache, restart any open applications and check their font menus. Alternatively, query the cache directly:

fc-match Arial

Expected output confirming Arial is available:

Arial.ttf

License Agreement Prompt Issues

Symptom: Installation hangs on a blue debconf screen in headless or non-interactive environments (SSH sessions without pseudo-terminal, Docker containers, automation scripts).

Diagnosis: The installer requires interactive EULA acceptance unless preseeded. In non-interactive environments, the debconf prompt cannot be answered, causing the installation to hang indefinitely.

Fix: Cancel the stalled installation, purge the package, preseed the EULA acceptance, and reinstall:

sudo apt purge ttf-mscorefonts-installer
echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | sudo debconf-set-selections
sudo apt install ttf-mscorefonts-installer

Verification: The installation should proceed without prompts. Confirm successful installation:

dpkg -l | grep ttf-mscorefonts-installer

Expected output showing installed status:

ii  ttf-mscorefonts-installer  3.8.1  all  Installer for Microsoft TrueType core fonts

Conclusion

Your Debian system now provides Microsoft Core Fonts (Arial, Times New Roman, Verdana, and others) for accurate cross-platform document rendering. With the installer in place and font caches updated, documents open without substitution warnings and maintain intended typography across Windows and Linux. Applications like LibreOffice, Firefox, and GIMP immediately recognize these fonts for document editing, web design, and graphics work.

For users working with Windows software through Wine, these fonts ensure compatibility when running Office applications or design tools. If you need Microsoft fonts on other distributions, see our guides for Ubuntu and Fedora. To further customize your Debian desktop, explore our collection of contrib and non-free software guides for additional proprietary packages.

6 thoughts on “How to Install Microsoft Fonts on Debian Linux”

  1. Thank you both Joshua James for this article and Gerard for the comment on the comparison between the MS and the free fonts! This article and comments made my work on my old Macbook running AntiX much easier 🙂

    1
    Reply
  2. Joshua,

    Personally, I would not recommend to a new Linux user to install Microsoft Fonts for at least 3, maybe 4 reasons… which I do not have time to explain here.

    Linux has capability to choose a similar and font-metric compatible alternative to unknown or uninstalled font. You mentioned Times New Roman, Arial, and Verdana. So, on my system:

    $ fc-match Verdana
    NotoSans-Regular.ttf: “Noto Sans” “Regular”
    $ fc-match Arial
    LiberationSans-Regular.ttf: “Liberation Sans” “Regular”
    $ fc-match “Times New Roman”
    LiberationSerif-Regular.ttf: “Liberation Serif” “Regular”

    and when you visit wikipedia pages on these fonts, you will be able to read:


    This means that the characters of each Liberation font are identical in width and height to those of each corresponding Monotype font. It allows the Liberation fonts to serve as free, open-source replacements of the proprietary Monotype fonts without changing the document layout. (…)
    Liberation Serif is metrically identical to Times New Roman.

    https://en.wikipedia.org/wiki/Liberation_fonts#Characteristics

    If you click the “Comparison of Liberation Sans with Arial” link, you will even be able to view each glyph of each font and see how similar they are.

    If you do a search with “open-source metric-compatible font”, you will find several equivalence between free and non-free fonts.

    Websites and websites creators over-excessively and too frequently want to force particular and specific fonts (thanks to embedding webfonts: woff and woff2 types) for unnecessary reasons. This increases download, process and rendering times and bandwidth.

    1
    Reply
    • Thanks for sharing this perspective, Gérard. You raise valid points about Liberation fonts and metric compatibility. They absolutely work well as substitutes for many users.

      This guide targets a specific scenario: users who need exact font matching for professional document workflows, publisher templates, or cross-platform collaboration where clients or employers explicitly require Microsoft fonts. When opening .docx files with embedded formatting or working with design specs that reference Arial by name, Liberation Sans renders similarly but metadata mismatches can trigger substitution warnings in LibreOffice or formatting shifts in PDF exports.

      Your fc-match output demonstrates fontconfig’s fallback behavior perfectly. Liberation fonts are the system default substitutes. That works seamlessly for personal documents and general browsing. However, enterprise environments, legal documentation, or collaborative editing often mandate exact font matching to preserve layout fidelity across Windows, Linux, and macOS systems.

      The guide includes removal instructions precisely because this isn’t a universal recommendation. Users who don’t need strict cross-platform font consistency should absolutely stick with Liberation fonts or other open alternatives. For those who do need Microsoft fonts (law firms exchanging court filings, marketing teams matching brand guidelines, developers testing web rendering against Windows defaults), the ttf-mscorefonts-installer package provides a straightforward path.

      Appreciate you highlighting the metric-compatible alternatives. Readers evaluating whether they truly need proprietary fonts will benefit from understanding Liberation fonts cover most use cases without the licensing overhead.

      1
      Reply

Leave a Comment