StarDict is a free, open-source dictionary program created by Hu Zheng. Its file format (an.ifo,.idx and.dict set) is still one of the most widely supported offline dictionary formats in 2026. Star Dictionary is an independent words and language reference under separate ownership. It is not the StarDict project. The program’s developers maintain it elsewhere: its official site is on SourceForge under the name “stardict-4”, and its source code is on GitCode and GitHub. The most recent release listed on the official site is version 3.0.7, from October 2023. To use StarDict-format dictionaries today, pick openly licensed ones such as the FreeDict collection and open them in StarDict or in a compatible reader like GoldenDict, KOReader or the command-line tool sdcv.
What StarDict is
StarDict is a graphical “dictionary shell”. The program contains no word lists of its own. It loads dictionary files that you add separately, then lets you look up words in all of them at once. It is released under the GNU General Public License.
Some history and facts about the project:
| Detail | What the sources show |
|---|---|
| Developer | Hu Zheng (胡正), listed as project leader on the official site |
| Predecessor | StarDic, by Ma Su’an (馬蘇安); StarDict continues its version numbers |
| First release | 10 March 2003 |
| Toolkit | Began as a Motif/Lesstif Chinese dictionary, later rewritten in GTK+ |
| Platforms | Linux, Windows, FreeBSD, Solaris and, in the past, Nokia’s Maemo |
| Latest release | 3.0.7, dated 3 October 2023 on the official site (Wikipedia lists 3.0.7.1 from 2 October 2023) |
| License | GPL; the project’s changelogs record changes between versions, so check the license file that comes with the release you use |
Where the project lives now
The official StarDict website is now hosted on SourceForge as “stardict-4”. Source code is published on GitCode under the account huzheng_001 and on GitHub as huzheng001/stardict-3. Linux distributions also package the program. openSUSE Tumbleweed, for example, ships a 3.0.7 build.
Until about 2013, the stardict.org address belonged to the StarDict project. The project’s old changelog named stardict.org as its website and Google Code as its code host. Google Code has since shut down. That address now carries this unrelated site.
The copyright problem with old dictionary files
Many dictionary files shared alongside StarDict in the 2000s were not legal. According to Wikipedia, the project was removed from SourceForge after copyright infringement reports. Gentoo’s bug tracker notes that most of the files were lost when the old project ended. Many of those files were unlicensed conversions of commercial dictionaries, so the format being free did not make the content free.
The safe choice today is a collection with a published license. FreeDict states that most of its dictionaries use the GPL or another free license. It added StarDict as an official output format in October 2024, using the PyGlossary converter.
The StarDict dictionary format
A StarDict dictionary is a set of files that share one base name. The.ifo file describes the dictionary. The.idx file lists the headwords. The.dict file holds the definitions. The official specification is the StarDictFileFormat document, published on the project’s site and in its source tree under dict/doc.
| File | Role | Compressed form | Required? |
|---|---|---|---|
| name.ifo | Plain-text metadata: title, word count, index size | name.ifo.gz in some readers | Yes |
| name.idx | Sorted list of headwords with offsets into the.dict file | name.idx.gz (gzip) | Yes, unless a.tdx tree index is used |
| name.dict | Definition data, stored back to back | name.dict.dz (dictzip) | Yes |
| name.syn | Synonyms and alternate spellings that point to index entries | None | No |
The.ifo file
The.ifo file is a short UTF-8 text file. It opens with a fixed “magic” line that identifies it as a StarDict dictionary. After that comes a version line, which must be 2.4.2 or 3.0.0, or StarDict refuses to load the dictionary. Then come key=value options, one per line.
The required options are:
- bookname: the dictionary’s display name.
- wordcount: the number of entries in the.idx file. It must be exact.
- idxfilesize: the size of the.idx file in bytes. If the index is gzipped, this is still the uncompressed size.
- synwordcount: required only when a.syn file exists.
Optional fields include author, email, website, description and date. Two fields affect how the data files are read:
- idxoffsetbits (version 3.0.0 only) can be 32 or 64 and sets the size of the offset field in the.idx file. The spec allows 64-bit offsets for very large dictionaries. The StarDict 3.0.6 loader, however, rejected any value other than 32, so a 64-bit file may fail in some readers.
- sametypesequence tells the reader that every entry uses the same sequence of data types, so the type markers can be left out of the.dict file. The spec recommends using it because it saves disk space.
The.idx file
The index is a sorted list of entries. Each entry holds three things. The first is the headword, as a UTF-8 string ending in a null byte. The second is the position of its definition in the.dict file. The third is the definition’s length. With the default 32-bit setting, the position and length are each 4 bytes, stored in network byte order (big-endian). Because the list is sorted, a reader can find a word quickly without loading the whole dictionary.
The.dict file and data types
The.dict file is plain data with no separators. The.idx file says where each definition starts and how long it is. A large.dict file is usually compressed with dictzip into.dict.dz. Dictzip is gzip-compatible but still allows random access.
Each piece of definition data has a one-letter type. Lowercase letters mean text. Uppercase letters mean binary data. Common types:
| Letter | Content |
|---|---|
| m | Plain text in UTF-8 |
| h | HTML |
| x | XDXF markup |
| g | Pango text markup |
| t | Phonetic transcription |
| w | MediaWiki markup |
| r | List of resource files, such as images or sounds |
| W | WAV sound data |
| P | Picture data |
Here is an example. A simple English word list stored as HTML would set sametypesequence=h. Each definition in the.dict file is then just HTML text, with no type letter in front of it.
The.syn file
The optional.syn file lets a lookup for one form land on another entry. A search for “colour” can open the entry for “color”, for example. Each record holds the synonym as a UTF-8 string ending in a null byte, followed by the number of the target entry in the.idx file. If you include a.syn file, the.ifo file must give synwordcount.
Programs that read StarDict dictionaries
The StarDict format has outlived much of the program’s own popularity, because many other readers support it.
| Program | What it is | StarDict support |
|---|---|---|
| StarDict | The original GTK+ desktop program | Native |
| sdcv | Command-line StarDict reader, first written by Evgeniy A. Dushistov | Native |
| GoldenDict | Desktop dictionary reader that also handles Babylon, Lingvo DSL, DICT, AARD and MDict | Reads.ifo,.idx,.dict and.syn files |
| KOReader | Open-source e-book reader for Kindle, Kobo, PocketBook and Android | Its built-in dictionary lookup uses StarDict format only |
| PyGlossary | Converter between dictionary formats | Reads and writes StarDict |
Support only works in one direction for many of them. A forum user on MobileRead reported that GoldenDict reads StarDict, but its DSL dictionaries had no easy route back into StarDict. Another reported that a dictionary that worked in GoldenDict failed in KOReader until the.dict.dz file was decompressed. If a dictionary opens in one reader but not another, compression and the idxoffsetbits setting are the first things to check.
Building your own StarDict dictionary
You can build your own StarDict dictionary from content you own or that is openly licensed. The StarDict source tree includes conversion tools, such as dictd2dic for DICT-format sources. PyGlossary converts from many other formats, and the KOReader documentation lists stardicter and wiktionary-to-stardict for specific sources.
A typical sequence:
- Start with a source you have the right to redistribute, such as your own glossary or a GPL or Creative Commons word list.
- Convert it to StarDict with a tool like PyGlossary.
- Check that the.ifo file has the correct wordcount and idxfilesize values.
- Compress the.dict file with dictzip if your reader supports.dict.dz.
- Test the result in the reader you plan to use.
FAQ
Is this website the official StarDict site?
No. Star Dictionary is an independent words and language reference with no connection to the StarDict software. The program’s official pages are its “stardict-4” project site on SourceForge, plus its source code on GitCode and GitHub. Questions about the program should go to its developers there.
Is StarDict still maintained?
Yes, though updates are rare. The official site lists version 3.0.7, released in October 2023, and Hu Zheng is still named as project leader. Linux distributions such as openSUSE package that version.
Which files make up a StarDict dictionary?
At least three files with the same base name: an.ifo file with metadata, an.idx index and a.dict file with the definitions. The index can be gzipped (.idx.gz), and the definitions are often dictzipped (.dict.dz). An optional.syn file adds synonyms and alternate spellings.
Are the old StarDict dictionaries legal to use?
Many of them were not. A large share of the files shared in the 2000s were unlicensed copies of commercial dictionaries, and the original project was removed from SourceForge after copyright complaints. Use dictionaries that come with a stated free license, such as those from FreeDict.
Can I use StarDict dictionaries on an e-reader?
Yes, on devices that run KOReader. Its built-in dictionary lookup uses StarDict format, and its documentation lists a dictionary folder for each device. If a dictionary will not load, decompressing the.dict.dz file is a common fix.
What is the difference between StarDict and GoldenDict?
StarDict is the original program, and its file format carries the same name. GoldenDict is a separate program that reads StarDict files and several other formats, including Babylon, Lingvo DSL and MDict. The two are developed by different people.
Sources
- StarDict official website, “stardict-4” project on SourceForge (home page and the StarDictFileFormat specification)
- StarDict source repositories by Hu Zheng on GitCode (huzheng_001) and GitHub (huzheng001/stardict-3), including the project ChangeLog
- Wikipedia: “StarDict” and “sdcv”
- FreeDict: home page and downloads page
- KOReader wiki: dictionary support
- GoldenDict package descriptions from Fedora and Flathub
- PyGlossary documentation: StarDict format
- Gentoo Bugzilla and Linux Mint Community notes on StarDict’s dictionary files
- openSUSE Tumbleweed package listing for StarDict 3.0.7












