Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

FreeDict Tools

The FreeDict tools are used to import, export (build) and manage FreeDict dictionaries.

Getting Started

FreeDict databases are encoded in the TEI XML format (chapter 9), see

The conversion is based on XSL stylesheets (see directory xsl/). These can in principle transform to any format, but only the .dict format is supported at the moment.

More information is in the wiki at


You should have at least the following tools installed, to build the dictionaries: make, xsltproc, tar, gzip, dictzip, dictfmt

For proper use of all our tools, Perl, eSpeakNG, Python > 3.4 are required, and Git and a XML-capable editor are recommended.

Debian/Ubuntu Dependencies

If you use Debian/Ubuntu, you should install the following packages:

sudo apt-get install make xsltproc libicu-dev python3 python3-icu virtualenv python3-virtualenv espeak-ng git


On Windows, it is easiest to install Msys2 or Cygwin. Both offer an easy method to install the required tools.

Setting Up The Build System

You should clone this repository to a path with no spaces and add an environment variable FREEDICT_TOOLS to point to this directory.

A lot of the internal scripts need additional Python libraries. To fully make use of them, you should set up a Python virtual environment for that. To help you getting started, make mk_venv is there to guide you through the process and make mk_venv-help will explain you why and how you should use make mk_venv.

Hint: It is possible to set up a environment without virtualenv. See the file requirements.txt for more details.

Once done, you can get help on the available actions in any directory containing a Makefile by typing make help.


Most of the documentation can be found in the FreeDict HOWTO at

In general, it is a good idea to have a look at our wiki at

Furthermore, the whole build system is explained in chapter 8 of the HOWTO, mentioned above.

Additional Output Formats

For creating slob files, you need to install tei2slob:

virtualenv env-slob -p python3 --system-site-packages  # create self contained python env
source env-slob/bin/activate  # activate it
pip install git+  # install general slob tools
pip install git+  # install tei2slob converter

Now tei2slob will be in your path. For new shells, you will have to execute source env-slob/bin/activate again, or put env-slob/bin/tei2slob into your PATH.

Sebastian Humenda, Mar 2018


This repository contains all the tools of the FreeDict project. This includes the Make build system, various importer scripts, XSL conversion style sheets and more.







No packages published