About
g-sho is a Japanese–English dictionary inspired by jisho.org. It is a static site: the dictionary is split into thousands of small files at build time, and your browser downloads only the pieces it needs for each search. Nothing you search for is sent anywhere else.
Data sources
The data comes from the projects below, through the jmdict-simplified JSON builds. Their licenses require attribution and, for the EDRDG files, that derived data be shared under the same license.
| Data | Source | License |
|---|---|---|
| Words | JMdict, by Jim Breen and the Electronic Dictionary Research and Development Group | CC BY-SA 4.0 |
| Kanji | KANJIDIC2, EDRDG | CC BY-SA 4.0 |
| Radicals and kanji parts | RADKFILE and KRADFILE, EDRDG | CC BY-SA 4.0 |
| Stroke order | KanjiVG, by Ulrich Apel and contributors | CC BY-SA 3.0 |
| Example sentences | Tatoeba, as linked to word senses in JMdict | CC BY 2.0 FR |
| Handwriting recognition model | LT8/japanese-handwriting-onnx, trained on the ETL Character Database (Electrotechnical Laboratory, Japanese Technical Committee for Optical Character Recognition, ETL Character Database, 1973–1984) | ETL Character Database terms |
The processed data files this site serves (under data/) are derived from
these sources and are available under the same licenses.
How search works
- Japanese words are matched exactly and by prefix. Inflected verbs and adjectives (食べました, 高かった) are traced back to their dictionary form with a set of conjugation rules.
- Romaji is converted to kana and searched alongside English.
- Handwriting is recognized from the picture of what you draw, by a neural network running in your browser (WebGPU, or WebAssembly where WebGPU isn't available). Stroke count, order and direction don't matter.
- Sentences are split into words by finding the longest dictionary word at each position. This is simpler than the morphological analyzers some dictionaries use, so it occasionally splits text in the wrong place.