This page contains infomation about the development of a Postgresql database to support Jim Breen's Japanese-English dictionary projects including JMdict, JMnedict, Kanjidic2 WWWJDIC and others. Jim runs these projects under the auspices of the Electronic Dictionary Research and Development Group EDRDG).

The goals of this project (in priority order) are:

  1. 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.
  2. To provide a web-based system for the submission, review, and approval of corrections and new entries to these data.
  3. To provide freely available software to others who want to use or build upon, "JMdict in a database".
  4. To provide an open-source replacement for the principal author's Microsoft Access based JMdict database. :-)

Discussion of this project takes place on the mailing list (  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 and no promises are made regarding stability or backward compatibility. However, it is currently in use as the primary repository for the JMdict project dictionary data and the web interface is in use for submitting new entries and corrections to existing entries in WWWJDIC.

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 Tatoeba "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 was migrated entirely to Python in May 2008. The code is developed and tested under Ubuntu Linux and Fedora 15 (both with Apache web server), and Microsoft Windows XP (with IIS web server). More information on prequisites is in the README.txt file.  


New 2014-09-25: The EDRDG project's JMnedict Japanese names dictionary is now being maintained in the JMdictDB database alongside the JMdict dictionary. The official announcement is here.

New 2014-08-23: After a long discussion on the Edict mail list (here), new part-of-speech tags have been added to the words だ,くれる and [*]良い・いい allowing them to be correctly conjugated by the JMdictDB conjugator. Other minor tweaks have been made such as not showing the Conjugations link if there are no conjugations available.

Xrefs are now shown in a more consise way: there is only one "Cross References" section and the direction of each xref is show with an arrow: right for normal xref, left for a "reverse" xref, and double-headed arrow for bi-directional (xrefs on two entries, each pointing to the other).

New 2013-12-23: The JMdictDB code running on Jim Breen's wwwjdic servers has been updated to the latest version running under Python3. The new version contains some enhancements:

* Word conjugations
Like the [V] link in wwwjdict but a completely independent, data-driven implementation. Provides the conjugated forms in both kanji and kana. Conjugates adjectives and "da" in addition to verbs.
* Keyword expansions
Hoovering your mouse over keywords like 'ok' or 'pn' will now (on most browsers) show the long description ("out-dated or obsolete kana usage" or "pronoun" for those two examples).

New 2012-11-23: JMdictDB source code has been updated to run with Python-3.3. The last Python-2 compatible revision was tagged "py2maint" (2012-06-17). Because wxPython is still not available for Python-3, the two wxPython apps in JMdictDB (tools/ and python/ will not run until a Python-3 compatible version of wxPython is available.

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 / advanced search
  Add a new entry
  Editing quick overview or full help

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

jmdictdb -- Browsable (read-only) access to the JMdictDB code Mercurial repository.
Issue tracker -- Issue tracker for the JMdictDB project software.
tip.tar.gz -- Download source code, latest development version (gzipped tar file).
README.txt -- The README file, includes install prerequisites and instructions (2010-03-10)
schema.html, schema.pdf -- Comprehensive description of the database schema (2008-11-12).
schema.png -- Diagram of the database schema (200KB, 2008-11-12).
T021.tar.gz -- 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 (Kale's email):
README.txt (also included in the .zip files) UTF-8 encoded files 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 <> (remove the two x's)