In an office or production environment, sharing documents between different applications and operating systems is a common issue. If you need to create, open, and edit Microsoft Word documents in Linux, you can use LibreOffice Writer or AbiWord. Both are robust word processing applications that read and write files in Word .doc and .docx formats.
If you need command-line tools that extract the text from Word files, Antiword (.doc files) and docx2txt (.docx) are useful programs to have at your disposal.
In this tutorial, we look at these four applications and how you can use them. We walk through installing them on several popular Linux distributions, including Debian, Ubuntu, Fedora, OpenSUSE, CentOS, and Arch Linux. We also help with installing the core Microsoft TrueType fonts on your Linux system.
LibreOffice
LibreOffice is a free, open-source, actively maintained and frequently updated office productivity suite that is compatible with Microsoft Office applications, including Microsoft Word. You can save your LibreOffice Writer documents in .doc or .docx format, and then either opens correctly in Microsoft Word.
- LibreOffice
- AbiWord
- Antiword (.doc -> text)
- Docx2txt (.docx -> text)
- Installing Microsoft-compatible fonts.
Installing LibreOffice
LibreOffice can be installed using your package manager. To install it, open a terminal and use the following command appropriate for your operating system:
Debian 8, Ubuntu 15
sudo apt-get update && sudo apt-get install libreoffice
Fedora 23
sudo dnf update && sudo dnf install libreoffice
OpenSUSE 10
sudo zypper refresh && sudo zypper install libreoffice
CentOS 7
sudo yum update && sudo yum install libreoffice
Arch Linux 2016
sudo pacman -Sy libreoffice-fresh
Once LibreOffice is installed, it should appear in the Applications menu of your GUI. You can also run it from a terminal with the command:
libreoffice
AbiWord
AbiWord is another free and open-source word processor. It has a clean, simple interface developed for almost twenty years. Like LibreOffice, it can open, edit, and save Microsoft Word .doc and .docx files. Unlike LibreOffice, Abiword is not a complete office suite, so it has a smaller footprint and consumes fewer system resources.
Installing AbiWord
sudo apt-get upgrade && sudo apt-get install abiword
sudo dnf update && sudo dnf install abiword
sudo zypper refresh && sudo zypper install abiword
sudo yum update && sudo yum install abiword
pacman -Sy abiword
Antiword
Antiword is a command-line tool that converts the contents of a .doc file to plain text.
Using Antiword
Running antiword with the name of a Word .doc file outputs the plain text of the file to standard output.
Antiword only converts .doc files. If you need to convert a .docx file, see docx2txt in the next section.
Antiword does a great job of formatting tables. It also has options for including images as PostScript objects and outputting to PDF.
You can redirect the output to a text file:
antiword file.doc > file.txt
Or, if you want to open it directly in a text editor, you can pipe the text to vim:
antiword file.doc | vim -
Or pico:
antiword file.doc | pico -
Installing antiword
sudo apt-get update && sudo apt-get install antiword
sudo dnf update && sudo dnf install antiword
sudo zypper refresh && sudo zypper install antiword
sudo yum update && sudo yum install antiword
Docx2txt
sudo pacman -Sy antiword
Docx2txt is a command-line tool that converts .docx files to plain text. (It does not convert .doc files.)
To print the contents of a .docx file to the terminal screen or a file, call docx2txt and specify a dash as the output file name. In this example, notice the dash at the end of the command.
To convert a .docx file and output to a text file, use the command form:
docx2txt file.docx file.txt
Or:
docx2txt file.docx - > file.txt
To open the .docx text in vim, use the command form:
docx2txt file.docx - | vim -
To open it in nano:
docx2txt file.docx - | nano -
To install doc2txt, follow the instructions for your version of Linux below:
Debian 8
sudo apt-get update && sudo apt-get install docx2txt
Ubuntu 15
Fedora’s repositories do not offer a package for docx2txt, but you can install it manually:
Download the source from SourceForge’s docx2txt page. Extract the archive:
tar xzvf docx2txt-1.4.tgz
You need to make sure that perl, unzip and make are installed on your system, so install or upgrade those packages now:
sudo dnf update && sudo dnf install perl unzip make
Then, run make as the root user to install:
sudo make
Docx2txt is now installed as docx2txt.sh. For instance, to convert the file word-document.docx to a text file, you can run:
docx2txt.sh word-document.docx
The converted text file automatically saves as word-document.txt.
SUSE repositories do not offer a package for docx2txt, but you can download it from SourceForge’s docx2txt page. Extract the archive:
sudo zypper update && sudo zypper install perl unzip make
Then, run make as root to install:
The converted text file is automatically saved as word-document.txt.
CentOS repositories do not offer a package for docx2txt, but you can download it from SourceForge’s docx2txt page. Extract the archive:
sudo yum update && sudo yum install perl unzip make
sudo pacman -Sy docx2txt
Installing Microsoft-compatible fonts
The core Microsoft fonts are available on Linux. Install them if you are going to be working with Microsoft Word files — especially if they were created on a Windows system. The core fonts include:
- Andale Mono
- Arial
- Arial Black
- Calabri
- Cambria
- Comic
- Courier
- Impact
- Times
- Trebuchet
- Verdana
- Webdings
To install them, follow these steps:
sudo apt-get update && sudo apt-get install ttf-mscorefonts-installer
Download the msttcore installer RPM package from SourceForge.
Install packages required for installation:
sudo dnf update && sudo dnf install curl cabextract xorg-x11-font-utils fontconfig
Then install the local RPM package:
sudo dnf install msttcore-fonts-installer-2.6-1.noarch.rpm
sudo zypper update && sudo zypper install curl cabextract xorg-x11-font-utils fontconfig
sudo zypper install msttcore-fonts-installer-2.6-1.noarch.rpm
sudo yum update && sudo yum install curl cabextract xorg-x11-font-utils fontconfig
sudo yum install msttcore-fonts-installer-2.6-1.noarch.rpm
pacman -Sy rpmextract x11-font-utils fontconfig
Extract the contents of the local RPM package:
rpmextract.sh msttcore-fonts-installer-2.6-1.noarch.rpm
This command extracts the raw contents of the RPM file and creates two directories, etc and usr that correspond to your /etc and /usr directories. The font files themselves are located in usr/share/fonts/msttcore.
Related information
- Linux help and command listing
- Linux questions and answers.
- What is a software package?
- What are Linux “distributions”?