A lightweight, offline-first Japanese learning desktop application built with Java, JavaFX, and SQLite.
Designed for Japanese learners who want fast Kanji lookup, personal vocabulary tracking, and a distraction-free study experience β without depending on an internet connection.
- π Kanji Lookup β Quickly search and view Kanji information
- π¬π§ English Meaning Search β Find Kanji using English meanings
- β Bookmarks β Save Kanji for later study
- πΆ Kanji Information β View Onyomi, Kunyomi, meanings, stroke count, and related information
- π Dark & Light Themes β Switch between themes based on your preference
- πΎ Persistent Local Data β Bookmarks and user data are stored locally
- β‘ Fast Local Search β SQLite-powered search without network requests
- πΆ Fully Offline β No internet connection required
- π» Cross-Platform β Supports Windows and Linux
- π¦ Native Installers β Distributed as Windows
.msiand Linux.debpackages
I built this application while learning Japanese and preparing for the JLPT N5.
I wanted a desktop application that was:
- Fast
- Lightweight
- Completely offline
- Focused on Kanji learning
- Available on both Windows and Linux
Instead of relying on a web-based dictionary, this project provides a local learning environment with persistent user data and a native desktop experience.
The application follows the ModelβViewβController (MVC) architecture.
βββββββββββββββββββ
β User β
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β JavaFX UI β
β View β
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β Controller β
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β Model β
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β SQLite Database β
β JDBC β
βββββββββββββββββββ
The UI is separated from database operations, allowing the application logic and persistence layer to remain independent of the JavaFX interface.
| Category | Technology |
|---|---|
| Language | Java |
| UI Framework | JavaFX |
| Database | SQLite |
| Database Access | JDBC |
| Build System | Maven |
| UI Theme | AtlantaFX |
| Packaging | jpackage |
| Version Control | Git / GitHub |
src/
βββ model/
βββ controller/
βββ database/
βββ ui/
βββ utils/
βββ resources/
The project is organized around the MVC architecture with dedicated components for models, controllers, database operations, UI components, utilities, and application resources.
Download the latest .msi installer from the Releases page.
- Download the installer.
- Run the
.msifile. - Follow the installation wizard.
- Launch the application from the Start Menu.
Download the latest .deb package from the Releases page.
Install it with:
sudo dpkg -i japanesedictionary_*.debIf dependencies are required:
sudo apt install -fThen launch:
japanesedictionary- JDK 25
- Maven
- Linux or Windows
Clone the repository:
git clone https://github.com/SuperAnand67/Japanese-Dictionary-JavaFX.git
cd Japanese-Dictionary-JavaFXBuild:
mvn clean packageRun:
mvn javafx:runThe application is designed to work entirely locally.
User data such as bookmarks is stored in a local SQLite database. The application does not require an external server or continuous internet connection for its core functionality.
- Offline Kanji Dictionary
- English Meaning Search
- Bookmark System
- Dark / Light Themes
- Native Windows Installer
- Native Linux Package
- Maven Migration
- MVC Refactoring
- Cross-platform Support
- Radical (ι¨ι¦) Search
- JLPT Vocabulary Lists
- Example Sentences
- Furigana Support
- Flashcards
- Search History
- Bookmark Import / Export
- Audio Pronunciation
- Stroke Order Animations
See CHANGELOG.md for the complete project history.
Recent development includes:
- v1.4.0 β AtlantaFX themes, dark/light theme switching, theme persistence, Maven migration, and project restructuring
- v1.3.0 β Kanji management improvements, tooltips, navigation redesign, and ListView performance improvements
- v1.2.0 β Bookmarks and native Windows/Linux packaging
- v1.1.0 β MVC architecture and database separation
- v1.0.0 β Initial release
Contributions, bug reports, feature requests, and suggestions are welcome.
If you would like to contribute:
- Fork the repository
- Create a feature branch
- Make your changes
- Commit your changes
- Push the branch
- Open a Pull Request
This project is licensed under the MIT License.
See LICENSE for the full license text.
Anand P
Computer Science Engineering Student β’ Java Developer β’ Linux Enthusiast
GitHub: @SuperAnand67
Built with β Java and β€οΈ for Japanese learning.



