KeyOak - 記憶

KeyOak - 記憶:

Japanese Dictionary & Study App


for the Windows 10 Store [Click here to install!]

KeyOakについて About KeyOak

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".

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.

Major features of KeyOak - 記憶:

  • Japanese/English Dictionary with 280,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 740,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 © 2022, Brendan Elliott & Elliot Omiya, All Rights Reserved.

Official Website:

Official Twitter Account: @KeyOakJP

Contact Email:

Privacy Policy:

辞典データ Dictionary Data

This package uses the JMdict/EDICT (, KANJIDIC2 (, KRADFILE (, and JMnedict/ENAMDICT ( dictionary files.

These files are the property of the Electronic Dictionary Research and Development Group (, and are used in conformance with the Group's licence (

This package also uses the Tanaka Corpus ( example sentence file edited for the WWWJDIC server, which is in the Public Domain.

This package also uses KanjiVG ( data for kanji stroke diagrams, which is copyright (c) 2009-2015 Ulrich Apel and licensed under Creative Commons Attribution-Share Alike 3.0 license ( For rendering SVG diagrams, this package uses the SvgForXaml library (, which is copyright (c) 2015 mntone and licensed under MIT License (, as well as the Win2D library (, which is copyright (c) Microsoft Corporation and licensed under MIT License (

This package uses 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 ( is copyrighted free software by Taku Kudo ( 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.


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.

検索構文 Search Syntax

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.

マークアップ言語 Markup Language

The Notes field supports a small subset of HTML markup:



<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

&nbsp; &copy; - HTML character entity references

リリースノート Release Notes

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