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 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 can be installed using your package manager. To install it, open a terminal and use the following command appropriate for your operating system:
sudo apt-get update && sudo apt-get install libreoffice
sudo dnf update && sudo dnf install libreoffice
sudo zypper refresh && sudo zypper install libreoffice
sudo yum update && sudo yum install libreoffice
sudo pacman -Sy libreoffice-fresh
Once LibreOffice is installed, it should appear in the Applications menu of your GUI (Graphical User Interface). You can also run it from a terminal with the command:
libreoffice
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.
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 is a command-line tool that converts the contents of a .doc file to plain text.
Antiword only converts .doc files. If you need to convert a .docx file, see docx2txt in the next section.
Running antiword with the name of a Word .doc file outputs the plain text of the file to standard output.
Antiword does a great job of formatting tables. It also has options for including images as PostScript objects and outputting to PDF (Portable Document Format).
You can redirect the output to a text file:
antiword file.doc > file.txt
Or, to open it directly in a text editor, you can pipe the text to vim:
antiword file.doc | vim -
antiword file.doc | pico -
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
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.
docx file to plain text" width="602" height="289" />
To convert a .docx file and output to a text file, use the command form:
docx2txt file.docx file.txt
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:
sudo apt-get update && sudo apt-get install docx2txt
sudo apt-get update && sudo apt-get install docx2txt
Fedora's repositories do not offer a package for docx2txt, but it can be installed 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:
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 zypper update && sudo zypper install perl unzip make
Then, run make as root 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 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:
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 yum update && sudo yum install perl unzip make
Then, run make as root 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 is automatically saved as word-document.txt.
sudo pacman -Sy docx2txt
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:
To install them, follow these steps:
sudo apt-get update && sudo apt-get install ttf-mscorefonts-installer
Install packages required for installation:
sudo dnf update && sudo dnf install curl cabextract xorg-x11-font-utils fontconfig
Then install the local RPM (RPM Package Manager) package:
sudo dnf install msttcore-fonts-installer-2.6-1.noarch.rpm
Install packages required for installation:
sudo zypper update && sudo zypper install curl cabextract xorg-x11-font-utils fontconfig
Then install the local RPM package:
sudo zypper install msttcore-fonts-installer-2.6-1.noarch.rpm
Install packages required for installation:
sudo yum update && sudo yum install curl cabextract xorg-x11-font-utils fontconfig
Then install the local RPM package:
sudo yum install msttcore-fonts-installer-2.6-1.noarch.rpm
Install packages required for installation:
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.