JP Reference is an open source full Japanese dictionary designed to help you master vocabulary and kanji. It provides a modern interface with powerful search capabilities, detailed stroke animations, and comprehensive dictionary data.
- Custom Search Engines: Intelligent search with backend ranking mechanisms to provide the most relevant results first.
- Full Tag Search: Filter results using a comprehensive tagging system, similar to GitHub issue search.
- Flexible Input: Support for searching with kana, romaji, kanji, and hiragana.
- Automatic Transliteration: Backend processing automatically handles transliterations, such as converting romaji to katakana or hiragana.
- Radical Lookup: Find kanji by identifying their component radicals, replicating the experience of a traditional paper dictionary.
- Pronunciation: Audio pronunciation for vocabulary using Google Voice.
- Stroke Animations: Full stroke order animations for all available vocabulary and kanji, powered by KanjiVG data.
The project is built using modern web and backend technologies:
- Frontend: Vue 3, TypeScript, Vuetify 3, Pinia
- Backend: .NET 8
- Database: PostgreSQL
- Containerization: Docker
Leverages several excellent libraries and projects:
- vue-dmak: Used for kanji stroke animations. Link
- jmdict-simplified: EDRDG XML to JSON parser. Link | License: CC BY-SA 4.0
- WanaKana-net: Library for transliteration of Hiragana, Katakana, and Romaji. Link
This project would not be possible without the incredible data provided by the Japanese language learning community. The data is not provided with the project, it will be automatically fetched and processed when running docker compose.
- JMdict: Comprehensive Japanese-Multilingual Dictionary file by the Electronic Dictionary Research and Development Group (EDRDG). Link | License: CC BY-SA 4.0
- KANJIDIC2: Detailed information on over 13,000 kanji characters by the Electronic Dictionary Research and Development Group (EDRDG). Link | License: CC BY-SA 4.0
- RADKFILE/KRADFILE: Radical data for kanji characters by the Electronic Dictionary Research and Development Group (EDRDG). Link | License: CC BY-SA 4.0
- KanjiVG: Stroke order data for kanji characters. Link | License: CC BY-SA 3.0
- JmdictFurigana: Furigana data for kanji characters. Link | License: MIT
- kanji-data: Additional kanji data for kanji characters. Link | License: MIT
- kanjium: Enhancement for radical data. Link | License: CC BY-SA 4.0
- JLPT vocabulary by level: JLPT level for vocabulary data by Robin Pourtaud. Link | License: CC BY-SA 4.0
To run the project locally using Docker, please refer to the Docker Setup Guide.



