This page contains infomation about the development
of a Postgresql database to support Jim Breen's Japanese-English dictionary
Jim runs these projects under the auspices of the
Electronic Dictionary Research and Development Group
The goals of this project (in priority order) are:
Discussion of this project takes place on the firstname.lastname@example.org
Jim Breen maintains a web page describing the JMdict project's
use of JMdictDB at
There is also some older information at
The project code is still undergoing active development but is
currently in use as the primary repository for the JMdict project
dictionary data and the web interface (which provides submission
and approval cababilities among other things) is undergoing public
All the code developed for this project is GPL'd and maintained
in a publicly accessible Mercurial repository (links below).
Additional help is welcome; please post to the edict-jmdict
mailing list, or email the current principal developer at the
address at the bottom of this page.
The code currently consists of scripts to create and load JMdict (and
related data such as the JMnedict "Japanese names" file, or the Tanaka
"examples" file) into a Postgresql database, some maintenance and other
command line tools, and a set of CGI scripts to allow access and updating
of the database using a web browser. The code was originally written in
Perl but has been migrated entirely to Python as of 2008-05-02. The code
is developed and tested under Ubuntu Linux and Fedora 11 (both with Apache
web server), and Microsoft Windows XP-pro (with IIS web server). More
information on prequisites is in the README.txt file.
- To create a database to serve as a master repository for the
information in the JMdict, EDICT, JMnedict, Examples, Kanjidic
and other related files distributed by Jim Breen and the EDRDG.
- To provide a web-based system for the submission, review, and
approval of corrections and new entries to these data.
- To provide freely available software to others who want to use
or build upon, "JMdict in a database".
- To provide an open-source replacement for the principal author's
Microsoft Access based JMdict database. :-)
JMdictDB source code has been updated to run with Python-3.3. The
last Python-2 compatible revision was tagged "py2-branch" (2012-06-17).
Because wxPython is still not available for Python-3, the two wxPython
apps in JMdictDB (tools/jmedit.py and python/srch.py) will not run until
a Python-3 compatible version of wxPython is available.
When the readings or kanji of an entry are reordered, xrefs
in other entries that refer to those readings or kanji are now
updated to refer to the reading/kanji in its noew position.
(Formerly the xrefs continue to point to whatever reading of
kanji ended up where the old reading/kanji was.)
A warning is now shown on the pre-submission confirmation page
when xrefs pointing to an edited entry will be deleted because
the sense, reading or kanji they point to has been edited out
of the entry.
Also fixed bug that caused reverse xrefs to sometimes disappear
after an entry was edited.
A lot of work on Python-3 migration was done in the last couple weeks
and the conclusion was that the migration will not entail any major
difficulty. The main holdup now is waiting for the last two prerequites:
the release of Python-3.3 and a Python3 version of wxPython.
A number of new "field" and "pos" tags were added by Jim Breen and the
database tables updated accordingly.
Try it !
Access to the online test version of JMdictDB.
(Note that these links are to the web pages provided in the JMdictDB
source code. The pages linked to from WWWJDIC are very similar but
have been tweaked to the needs of WWWJDIC.)
Find and edit existing entries: search /
Add a new entry
Please feel free to try these out, including adding any real or junk
entries you want, but be aware that all changes will be thrown away
periodically and will NOT go into the real JMdict.
Code and Documentation
-- Browsable (read-only) access to the JMdictDB code Mercurial repository.
-- Download source code, latest development version (gzipped tar file).
-- The README file, includes install prerequisites and instructions (2010-03-10)
-- Comprehensive description of the database schema (2008-11-12).
-- Diagram of the database schema (200KB, 2008-11-12).
-- To-do list for the project (2010-07-24).
-- Source code for last version implemented in Perl, obsolete, 2008-05-03 (gzipped tar file).
Related files, but not part of JMdictDB...
The following HTML pages list all jmdict entries that share a common
kanji or reading text with at least one other entry. The entries
are sorted by the text making it relatively easy to identify
enties that are very similar and possibly should be merged.
This data is based on the 2007-01-14 version on JMdict.
Shared kanji (800KB)
Shared readings (10MB)
Matchup of Kale Stutzman's 2007-01-14
google hit counts and corresponding JMdict entries
README.txt (also included in the .zip files)
kale-u.zip UTF-8 encoded files
kale-w.zip SJIS (Windows) encoded files
Kale Stutzman's original data file in alternate encodings:
edict-gfreq.euc EUC-JP encoded
edict-gfreq.utf UTF-8 encoded
Please send questions or comments about these pages or the JMdictDB
project in general to:
Stuart McGraw <email@example.com> (remove the x's)