{"id":20893339,"url":"https://github.com/anezih/mobi2stardict","last_synced_at":"2026-04-20T01:10:23.842Z","repository":{"id":97890153,"uuid":"500613887","full_name":"anezih/mobi2stardict","owner":"anezih","description":"Convert MOBI dictionaries to StarDict format.","archived":false,"fork":false,"pushed_at":"2026-03-29T18:27:25.000Z","size":390,"stargazers_count":43,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-02T02:44:56.943Z","etag":null,"topics":["avalonia","cli-app","cross-platform","cross-platform-gui","dictionary-conversion","dotnet","mobi","stardict"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anezih.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-06-06T22:38:16.000Z","updated_at":"2026-03-29T18:24:16.000Z","dependencies_parsed_at":"2025-03-28T19:30:18.737Z","dependency_job_id":"2e2e92aa-5dcb-43a3-b39b-9dbb65a1571f","html_url":"https://github.com/anezih/mobi2stardict","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/anezih/mobi2stardict","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anezih%2Fmobi2stardict","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anezih%2Fmobi2stardict/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anezih%2Fmobi2stardict/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anezih%2Fmobi2stardict/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anezih","download_url":"https://codeload.github.com/anezih/mobi2stardict/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anezih%2Fmobi2stardict/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32028576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"ssl_error","status_checked_at":"2026-04-20T00:17:31.068Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avalonia","cli-app","cross-platform","cross-platform-gui","dictionary-conversion","dotnet","mobi","stardict"],"created_at":"2024-11-18T10:15:31.362Z","updated_at":"2026-04-20T01:10:23.803Z","avatar_url":"https://github.com/anezih.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mobi2stardict\nConvert MOBI dictionaries to StarDict and TSV formats.\n\nYou can get both .NET Desktop and Cli applications from [releases](https://github.com/anezih/mobi2stardict/releases). Both programs does not need the intermediary unpacked HTML file and can directly read MOBI dictionary files.\n\n[MobiDict.Reader](https://github.com/anezih/mobi2stardict/tree/main/MobiDictReader/MobiDict.Reader) class library is a direct and bare-minimum implementation of [KindleUnpack](https://github.com/kevinhendricks/KindleUnpack) in order to extract dictionary entries. Code for decoding the inflection scheme used in older dictionaries is adapted from [libmobi](https://github.com/bfabiszewski/libmobi) project.\n\n# .NET Desktop Application\n\n![](/res/desktop.png)\n\n# .NET Cli Application\n\n`./MobiDict.Cli --help`\n```\nUsage: [options...] [-h|--help] [--version]\n\nConvert Kindle MOBI dictionaries to TSV and StarDict formats.\n\nOptions:\n  -i, --input \u003cstring\u003e             MOBI file path [Required]\n  --tsv                            Save as TSV (tab-separated-values)\n  --stardict                       Save as StarDict\n  -o, --output-folder \u003cstring?\u003e    Output folder where the files will be saved [Default: null]\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ch1\u003ePython Script (Old)\u003c/h1\u003e\u003c/summary\u003e\n\n`python.exe mobi2stardict.py --help`\n```\nusage: mobi2stardict.py [-h] [--html-file HTML_FILE] [--fix-links] [--dict-name DICT_NAME] [--author AUTHOR]\n                        [--chunked]\n\nConvert unpacked Kindle MOBI dictionary files (book.html or part00000.html) to Stardict dictionary Format. StarDict\nformat can be converted to a wide-range of formats directly via PyGlossary. You can unpack MOBI files via\n'KindleUnpack' or its Calibre plugin. Alternatively, you can use mobitool from libmobi project.\n\noptions:\n  -h, --help            show this help message and exit\n  --html-file HTML_FILE\n                        Path of the HTML file.\n  --fix-links           Try to convert in-dictionary references to glossary format.\n  --dict-name DICT_NAME\n                        Name of the dictionary file.\n  --author AUTHOR       Name of the author or publisher.\n  --chunked             Parse html in chunks to reduce memory usage.\n```\nYou need to install [Beautiful Soup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-beautiful-soup), [lxml](https://lxml.de/installation.html) and **PyGlossary** (`pip install pyglossary beautifulsoup4 lxml`) packages to run the script.\nTo convert the unpacked MOBI file to StarDict format you would call the script like this (assuming part00000.html is in the same directory with the script):\n````\npython.exe mobi2stardict.py --fix-links --dict-name \"Name of the dictionary\" --author \"Author\"\n````\nChange name and author accordingly.\n\nAlso, while converting particularly large files you may want to pass the `--chunked` option to bring down the memory usage to more moderate levels. Then the line would become:\n````\npython.exe mobi2stardict.py --fix-links --dict-name \"Name of the dictionary\" --author \"Author\" --chunked\n````\n\u003c/details\u003e\n\n# NOTE\nYou may come across some poorly formatted dictionaries that may result in inability to parse definitions.\n\n# Credits\n\n[KindleUnpack](https://github.com/kevinhendricks/KindleUnpack)\n\n[libmobi](https://github.com/bfabiszewski/libmobi)\n\n[Avalonia UI](https://avaloniaui.net/)\n\n[AtomUI](https://github.com/AtomUI/AtomUI)\n\n[ConsoleAppFramework](https://github.com/Cysharp/ConsoleAppFramework)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanezih%2Fmobi2stardict","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanezih%2Fmobi2stardict","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanezih%2Fmobi2stardict/lists"}