#mdx #parser #mdict


Mdict dictionary mdx file parser

2 releases

0.1.1 Feb 13, 2023
0.1.0 Feb 13, 2023

#857 in Parser implementations

MIT and GPL-3.0-or-later

559 lines


A Rust project for parsing mdict dictionaries.


mdict-parser is a tool for parsing mdict dictionaries, a commonly used file format for dictionaries. The resulting output is in a format that can be easily used for other purposes, such as building a dictionary or integrating with other applications.


Parses mdict dictionary .mdx files into a structured format Supports multi-value entries Written in Rust for performance and safety


Add the following to your Cargo.toml file:

mdict-parser = "0.1.0"

Add the following to your Cargo.toml file:

use mdict_parser::{parser, mdict::Record};

fn main() {
    let input = include_bytes!("../dictionary.mdx");
    let dict = parser::parse(input);

    // iter dictionary entries
    for key in dict.keys() {
      println!("{:?}" item)

    // iter all dictionary records
    for item in dict.items() {
      println!("{:?}" item)

Unimplemented Features

  • .mdd file format support
  • mdict v3 format support
  • Encrypted dictionary file support


mdict-parser is licensed under the MIT License.


~130K SLoC