KeyOak - 記憶:
Japanese Dictionary & Study App
和英辞典と学習アプリ
Japanese Dictionary & Study App
和英辞典と学習アプリ
Available now on the Windows 10/11 Store
Coming Soon to iOS on the App Store!
Coming Soon to Android on the Google Play Store!
Available now on the Windows 10/11 Store
Coming Soon to iOS on the App Store!
Coming Soon to Android on the Google Play Store!
In Japanese, the word "Kioku"/記憶 (pronounced "Key Oak"), means "Memory".
This App is a "Key"🗝️ to deeper understanding of the Japanese language and help you increase the number of Japanese words in your long term "Memory" and become wise like an "Oak"🌳 tree.
KeyOak - 記憶 is an offline integrated Japanese-English Dictionary with support for Tagging and easy generation of Flash Cards to aid in the study of the Japanese language. It also supports finding words in images & full sentences, easy kanji character lookup by handwriting (desktop only) or kanji components/properties (all versions), kanji stroke order info, people/place name lookup, and a powerful search language.
Japanese/English Dictionary with 327,000+ entries with example Sentences, Compound & Component words
Kanji Dictionary with 13,000+ entries including components/variants/name readings/example words
Kanji stroke order/direction diagrams to know how to correctly write roughly 6000 kanji, kana, and other characters, available from kanji entry as well from a context menu command on most text fields
Japanese Name Dictionary with 745,000+ entries of people and place names
Ability to Tag Japanese words & kanji and save User Notes
Ability to look up words found in images and full sentences
Add your own custom words, including prompts for adding entries for people and places
Quickly bulk tag from a list of vocabulary words
Ability to mark Japanese words & kanji as Unknown/Learning/Known with quick color identification
Create Flash Card sets from Tags & study them in Spaced Repetition System (SRS) or Cram modes
Browse & navigate Japanese words & kanji via built-in Tags including common words, field of interest, kanji by grade level, etc. Can quickly create Flash Cards for any of user or built-in Tag.
Handwriting input to look up words when pronunciation is unknown (requires Windows 10 Japanese handwriting optional feature to be installed from the system Language Settings; not available on Windows Phone 10)
Component-based lookup of kanji characters
Furigana (ruby/phonetic guides) can be displayed when unknown kanji appear in Flash Cards
A full Boolean query language for advanced search; search in romaji/kana/kanji; finds exact match, prefix match, component kanji/words, or extracts words from a full sentence
Ability to create Flash Card sets from custom queries
Systematic mode for marking tagged entries as unknown/learning/known
Light & Dark Theme supported
Copy or Share entries or lists of words
User data persisted outside the database for easy backup/restore; ability to change the data folder location (such as to point to a folder on OneDrive for syncing between devices)
Program code by:
Brendan Elliott 武戀殿・絵理夫 (Risukun)
Elliot Hajime Omiya 大宮一 (EHO)
Copyright © 2016-2026, Brendan Elliott & Elliot Omiya, All Rights Reserved.
Official Website: http://keyoak.risukun.com
Official Discord Server: KeyOak - 記憶
Official Twitter Account: @KeyOakJP
Contact Email: keyoak@outlook.com
Privacy Policy: http://keyoak.risukun.com/privacy-policy
This package uses the JMdict/EDICT (http://www.edrdg.org/jmdict/j_jmdict.html), KANJIDIC2 (http://www.edrdg.org/kanjidic/kanjd2index.html), KRADFILE (http://www.csse.monash.edu.au/~jwb/kradinf.html), and JMnedict/ENAMDICT (http://www.edrdg.org/enamdict/enamdict_doc.html) dictionary files.
These files are the property of the Electronic Dictionary Research and Development Group (http://www.edrdg.org/), and are used in conformance with the Group's licence (http://www.edrdg.org/edrdg/licence.html).
This package also uses the Tanaka Corpus (http://www.edrdg.org/wiki/index.php/Tanaka_Corpus) example sentence file edited for the WWWJDIC server, which is in the Public Domain.
This package also uses KanjiVG (http://kanjivg.tagaini.net/) data for kanji stroke diagrams, which is copyright (c) 2009-2015 Ulrich Apel and licensed under Creative Commons Attribution-Share Alike 3.0 license (https://creativecommons.org/licenses/by-sa/3.0/).
This package uses NMeCab (https://ja.osdn.net/projects/nmecab/) was ported from MeCab by Tsuyoshi Komuta, and is released under any of the GPL (see the file GPL) or the LGPL (see the file LGPL). MeCab (http://taku910.github.io/mecab/) is copyrighted free software by Taku Kudo (taku@chasen.org) and Nippon Telegraph and Telephone Corporation, and is released under any of the GPL (see the file GPL), the LGPL (see the file LGPL), or the BSD License (see the file BSD).
This package uses MeCab IPA dic dictionary data, which is Copyright (c) 2000, 2001, 2002, 2003 Nara Institute of Science and Technology. All Rights Reserved. Use, reproduction, and distribution of this software is permitted.
Full IPA License:
Any copy of this software, whether in its original form or modified, must include both the above copyright notice and the following paragraphs.
Nara Institute of Science and Technology (NAIST), the copyright holders, disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness, in no event shall NAIST be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortuous action, arising out of or in connection with the use or performance of this software.
A large portion of the dictionary entries originate from ICOT Free Software. The following conditions for ICOT Free Software applies to the current dictionary as well.
Each User may also freely distribute the Program, whether in its original form or modified, to any third party or parties, PROVIDED that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear on, or be attached to, the Program, which is distributed substantially in the same form as set out herein and that such intended distribution, if actually made, will neither violate or otherwise contravene any of the laws and regulations of the countries having jurisdiction over the User or the intended distribution itself.
NO WARRANTY
The program was produced on an experimental basis in the course of the research and development conducted during the project and is provided to users as so produced on an experimental basis. Accordingly, the program is provided without any warranty whatsoever, whether express, implied, statutory or otherwise. The term "warranty" used herein includes, but is not limited to, any warranty of the quality, performance, merchantability and fitness for a particular purpose of the program and the nonexistence of any infringement or violation of any right of any third party.
Each user of the program will agree and understand, and be deemed to have agreed and understood, that there is no warranty whatsoever for the program and, accordingly, the entire risk arising from or otherwise connected with the program is assumed by the user.
Therefore, neither ICOT, the copyright holder, or any other organization that participated in or was otherwise related to the development of the program and their respective officials, directors, officers and other employees shall be held liable for any and all damages, including, without limitation, general, special, incidental and consequential damages, arising out of or otherwise in connection with the use or inability to use the program or any product, material or result produced or otherwise obtained by using the program, regardless of whether they have been advised of, or otherwise had knowledge of, the possibility of such damages at any time during the project or thereafter. Each user will be deemed to have agreed to the foregoing by his or her commencement of use of the program. The term "use" as used herein includes, but is not limited to, the use, modification, copying and distribution of the program and the production of secondary products from the program.
In the case where the program, whether in its original form or modified, was distributed or delivered to or received by a user from any person, organization or entity other than ICOT, unless it makes or grants independently of ICOT any specific warranty to the user in writing, such person, organization or entity, will also be exempted from and not be held liable to the user for any such damages as noted above as far as the program is concerned.
This package also uses NF.Zinnia (https://github.com/netpyoung/NF.Zinnia) which was ported from Zinnia (https://github.com/taku910/zinnia) which is Copyright (c) 2005-2007 Taku Kudo under the license below.
Full Zinnia License:
Any Copyright (c) 2005-2007 Taku Kudo, All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Taku Kudo nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
This package also uses Tegaki Project (https://tegaki.github.io/) Japanese handwriting recognition model, which is released under the LGPL.
This package also uses .NET MAUI (https://github.com/dotnet/maui) which is Copyright (c) .NET Foundation and Contributors and licensed under MIT License (https://github.com/dotnet/maui/blob/main/LICENSE.txt), as well as SkiaSharp (https://github.com/mono/SkiaSharp) which is Copyright (c) Microsoft Corporation and licensed under MIT License, as well as the .NET MAUI Community Toolkit (https://github.com/CommunityToolkit/Maui) which is Copyright (c) .NET Foundation and Contributors and licensed under MIT License.
KeyOak supports a rich Boolean query language:
Full text keyword(s) in hiragana/katakana/kanji/English/Romaji - "りす", "リス", "栗鼠", "Squirrel", "risu"
AND/OR/NOT/Parentheses - "(すし OR すもう) AND NOT tag:comp"
Field keyword/value - [Field]:[Value] - "tag:news01", "reading:か", "meaning:squirrel"
Field comparison operators - [Field][=/!=/</>/<=/>=][Value] - "stroke >= 1 AND stroke < 4", "kanji=恋愛" (entire field match)
Word equals/starts with - $=[word] $<[word] - "$=love", "$<恋愛"
Common Search Fields:
Kanji field - kanji:[keyword] - "kanji:日本"
Reading field - reading:[keyword] - "reading:にほん"
Meaning field - meaning:[keyword] - "meaning:Japan"
Tags field - tag:[Name] - "tag:news01", "tag:P", "tag:3年"
Notes field - note:[keyword] - "tag:news01", "tag:P", "tag:3年"
Entry type - kind:[Value] - "kind:word", "kind:kanji"
Study Completeness - completeness:[Value] - "completeness:known", "completeness:learning", "completeness:unknown", "completeness=notevaluated"
Single Kanji (anywhere in Kanji field) - singlekanji:[Value] - "singlekanji:日"
HasNotes/HasUserTags fields - [hasnotes/hasusertags]:[Value] - "hasnotes:true"
Kanji Only Search Fields:
Stroke count - stroke[Operator][Value] - "stroke=5", "stroke>7"
Classical Radical by number, Japanese name in kana, English meaning, or kanji - radical:[Value] - "radical:10", "radical:ice", "radical:さんずい", "radical:花"
Kanji Component(s) - component:[Value] - "comp:土并"
Usage Frequency Rank - frequency[Operator][Value] - "frequency=15", "frequency<100"
Query Options:
Sort - sort:[priority/name/firstusertagdate/lastusertagdate/frequency/none] - "sort:name", "sort:priority"; note 'priority' is the default sort order.
Max Results - MaxResults:[#/all] - "MaxResults:25"; note default is 'all'
Exact Match - ExactMatch:[true/false] - "ExactMatch:false"; note default is 'true' and 'false' means 'token prefix match'; overridden by the $=[word] and $<[word] operators.
The Notes field supports a small subset of HTML markup:
<b>Bold</b>
<i>Italics</i>
<font color="red">Named Colors</font>
<br> - New line
<a href="word://記憶・きおく">Link to Word</a>
<a href="kanji://記">Link to Kanji</a>
<a href="name://大宮・おおみや">Link to Name</a>
<a href="query://tag:2年 reading:き">Link to Query</a>
[記憶・きおく] - Quick word link
© - HTML character entity references
Version 2.0.0 (TBD/2026):
First release for Android/iOS platforms!
Major UI styling update inspired by Windows 11, including new Logo.
Added ability to customize UI font.
Added features for Japanese beginners:
Basic flashcard sets for learning Hiragana, Katakana, some basic Kanji, and starter vocabulary sets.
Option in Settings to show Romaji appended to Reading fields to help with pronunciation under Hiragana has been learned.
Browsing & Search History with ability to delete individual items.
Bulk tagging of Kanji lists, in addition to existing support for Word lists.
Version 1.4.0 (2/16/2025):
Major dictionary data update that refreshes the word/name/sentence/kanji dictionary data with 47,000+ word entries added and 5,000+ name entries added. Fixes many issues with how word entries were being loaded and matched with sentences. Adds antonyms for some words. Adds more obvious style for search only and less common kanji and readings.
Show variant forms of word entries.
Refreshed styling with key 🗝️ used to mark important words and oak 🌳 marks words that have been tagged by the user, using emoji instead of flat glyphs.
Fix for unrelated compounds words showing up.
Fix various bugs including several crashes and very slow loading for words with too many sentences.
Version 1.3.1 (1/3/2025):
Right clicking on a word will now automatically find the word boundary so it is easier to jump to the definition of a word.
Fixed crash when opening a context menu with no text selected.
Fixed crash when trying to view all kanji that contain a component.
Version 1.3.0 (1/4/2022):
Major update that adds people/place name dictionary data with 740,000+ entries, which can be searched, tagged, and included in card sets
Refreshed the word dictionary data with 40,000+ words added
Word entries now include clickable cross-reference links
Added many more example sentences with the best examples marked with a key emoji 🔑 and also specify which sense of the word they map to
HyperLink support added in notes/meanings fields to link to words/kanji/names
Shows warnings if there are issues found when upgrading to a new database version, if there are issues found can also get back to them from the Settings page
Allow double clicking on a user data file to merge the data into the database
Display more information about kanji radicals on kanji entry pages and make them clickable
Fix crash when pressing back quickly
Version 1.2.2 (10/28/2018):
Stability and bug fixes for SRS flash cards
Fixed a crash when resuming after app is suspended in the middle of a study session
Prevent timer count down when suspended in the middle of a study session
Correctly report the number of currently remaining cards so it doesn't look like session ended early
Prevent starting an SRS study session when no cards are due, give how much time they need to wait before there is at least 1, 25, 50, or all cards due
Even when session can be started, display statistics about next/median/last card due dates
Version 1.2.0 (3/29/2018):
Added ability to look up words in images via OCR
Added ability to lookup words in full sentences via a language model
Support for adding custom words to the dictionary
Prompts to add new words to the dictionary for common places, people names, etc. based on the language model
Added bulk tag page to quickly create study lists/tags from a list of words
Filter controls for bulk tagging/find in sentences/images
Fix a bug with search history not being updated from programmatic navigation
KeyOakQL support for searching for words by HasNotes:true, HasUserTags:true, and sort:lastusertagdate
Fix page load/navigate crash issues, which especially impacted resuming a study session in progross and transitioning between different types of study sessions
Version 1.1.11 (4/25/2017):
Major update to handwriting support including showing reco candidates, better optimization for smaller window sizes, and access to handwriting panel on search results page and in Word/Entry Notes fields.
Major bug fixes to SRS study mode fixing duplicate cards and early session ending as well as better statistics.
Show last card seen time in min/seconds instead of just 'today', correctly calculate number of months.
Add an 'auto' theme that uses the light sensor (or time of day) to switch between light & dark themes.
Support launching the app to the correct view by opening .keyoak-xml files.
Fix crash when app was suspended/resumed on search results page.
Reduce memory leaks.
Version 1.1.10 (12/19/2016):
First public Windows Store release!
New Features:
Kanji stroke order diagrams including animation, available on most views on app bar as well as on-demand via right click/press & hold
Major update to Spaced Repetition System (SRS) study algorithm to include a mix of recently studied cards as well oldest cards and new cards
Simple search history with delete history support
Notes field support for HTML character entity references
Bug fixes:
While in a study session, jumping to entry and then returning to the study now reliably comes back to the same card and resumes faster