Tomoshi is built on a great deal of excellent open data and open-source software. This page lists their sources and licences, with thanks to everyone who maintains them.
Dictionary Data Sources
JMdict / KANJIDIC2 (EDRDG)
Japanese entries, definitions and kanji information come from the JMdict and KANJIDIC2 dictionary files.
This application uses the JMdict and KANJIDIC2 dictionary files. These files are the property of the Electronic Dictionary Research and Development Group (EDRDG), and are used in conformance with the Group’s licence (CC BY-SA 4.0). See https://www.edrdg.org/edrdg/licence.html
Content in this application’s dictionary database that derives from JMdict, together with works derived from it (including the orthography-contrast and translation-contrast cards), is likewise provided under CC BY-SA 4.0, and may be extracted and redistributed subject to that licence.
Example sentences — Tatoeba Project / Tanaka Corpus
Example sentences for dictionary entries come from the Tatoeba Project (tatoeba.org; its Japanese sentences originate from the Tanaka Corpus), under CC BY 2.0 FR. Chinese translations of the example sentences were generated and added by us (the original content has been modified).
Kanji and kana stroke order — KanjiVG
Stroke-order data for kanji and kana (the gojūon chart) comes from KanjiVG (© Ulrich Apel), under CC BY-SA 3.0, kanjivg.tagaini.net.
Japanese WordNet
Synonym, near-synonym and antonym relation data comes in part from Japanese WordNet (© National Institute of Information and Communications Technology, NICT), used under its (BSD-style) licence.
Japanese definitions — Wiktionary
Some Japanese definitions come from the Japanese Wiktionary (CC BY-SA), extracted by the Wiktextract project at kaikki.org.
JLPT level data
- Vocabulary levels: from Jonathan Waller’s JLPT Resources (CC BY), as compiled by the stephenmk/yomitan-jlpt-vocab project (CC BY-SA 4.0);
- Kanji levels (new N1–N5): from Jonathan Waller’s JLPT Resources (CC BY), as compiled by the davidluzgouveia/kanji-data project (MIT), with a small number of borderline characters arranged separately by this project by reference to the pre-reform official test specification;
- Legacy kanji levels: KANJIDIC2 (see above).
Since the 2010 reform the JLPT has published no official word lists; all N1–N5 labels are community estimates, not official data.
Pitch accent data — naist-jdic
Word pitch-accent (high-low tone) data comes from naist-jdic (the version maintained by the jpreprocess project, BSD-3-Clause; original dictionary © Nara Institute of Science and Technology).
Conversational frequency data — TUBELEX
Conversational-context word frequency rankings come from TUBELEX (Nara Institute of Science and Technology, naist-nlp/tubelex, BSD-3-Clause), a multilingual word-frequency corpus built from human-written YouTube subtitles. See Nohejl et al. (2025), “Beyond Film Subtitles: Is YouTube the Best Approximation of Spoken Vocabulary?” (COLING 2025).
Morphological Analysis Resources
- SudachiDict (Works Applications / Tokushima Artificial Intelligence NLP Research Institute, Apache-2.0): the dictionary used for example-sentence reading annotation and tokenisation.
- OpenCC (BYVoid et al., Apache-2.0): the character-form tables behind the search box (in the app and the web dictionary) turning Simplified or Traditional Chinese characters into their Japanese forms (汤 → 湯, 氣 → 気), generated from its conversion dictionaries.
Interface Fonts
The Windows, Linux and Android versions bundle three regional variants of Source Han Sans / Noto Sans (developed jointly by Adobe and Google): Noto Sans SC (Simplified Chinese), Noto Sans TC (Traditional Chinese) and Noto Sans JP (Japanese). All three share one design with identical letter skeletons, differing only in kanji glyph shapes according to regional standards — which is how Japanese content comes out with Japanese glyph forms (直, 骨, 令 and others differ between Chinese and Japanese forms).
Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name ‘Source’
Licensed under the SIL Open Font License 1.1; the full licence text is
distributed with the application (OFL.txt in the font resources directory)
and is also available at https://openfontlicense.org .
The macOS and iOS versions bundle no fonts at all, using the system’s own PingFang (Chinese) and Hiragino Sans (Japanese) instead — both of which likewise distinguish kanji glyph shapes by region, and which update with the system, so we do not need to distribute them.
Website
The website (tomoshi.app) is likewise built on open-source software:
- Lucide (ISC): the website’s interface icons, inlined into each page as SVG;
- Astro and @astrojs/sitemap (MIT): the static site framework used to build the website’s pages.
ISC License — Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2022.
Software Dependencies
Tomoshi’s browser extension is open source under AGPL-3.0; the desktop client’s source code is not currently open. The list of third-party open-source components used to build them (Rust crates and npm packages) and their respective licences follows — full licence texts can be consulted in each project’s own repository.
The list below is grouped by licence, generated on 2026-10-16.
Rust crates (579)
MIT OR Apache-2.0 (237):
ahash, anyhow, arbitrary, arboard, async-broadcast, async-compression, async-recursion, async-trait, base64, bitflags, block-buffer, bumpalo, camino, cargo-platform, cc, cfg-expr, cfg-if, chacha20, chrono, compression-codecs, compression-core, cookie, core-foundation, core-foundation-sys, core-graphics, core-graphics-types, cpufeatures, crc32fast, crossbeam-channel, crossbeam-deque, crossbeam-epoch, crossbeam-utils, crypto-common, deranged, derive_arbitrary, digest, dirs, dirs-next, dirs-sys, dirs-sys-next, displaydoc, dtoa, dyn-clone, either, embed_plist, enumflags2, enumflags2_derive, erased-serde, errno, fdeflate, field-offset, find-msvc-tools, fixedbitset, flate2, form_urlencoded, fs4, futures-channel, futures-core, futures-executor, futures-io, futures-macro, futures-sink, futures-task, futures-util, getrandom, glob, half, hashbrown, hashlink, heck, hermit-abi, hex, html5ever, http, httparse, httpdate, iana-time-zone, iana-time-zone-haiku, idna, image, ipnet, itertools, itoa, jni, jni-macros, jni-sys, jni-sys-macros, jobserver, js-sys, jsonptr, keyboard-types, lazy_static, leb128fmt, libc, lock_api, log, markup5ever, memmap2, mime, ndarray, ndk, ndk-sys, num-complex, num-conv, num-integer, num-traits, once_cell, openssl-probe, ordered-stream, osakit, parking_lot, parking_lot_core, percent-encoding, petgraph, piper, pkg-config, png, powerfmt, ppv-lite86, prettyplease, proc-macro-crate, proc-macro-error, proc-macro-error-attr, proc-macro2, quinn, quinn-proto, quinn-udp, quote, rand, rand_chacha, rand_core, rayon, rayon-core, ref-cast, ref-cast-impl, regex, regex-automata, regex-syntax, reqwest, rustc_version, rustls-pki-types, rustls-platform-verifier, rustls-platform-verifier-android, rustversion, scopeguard, security-framework, security-framework-sys, semver, serde, serde_core, serde_derive, serde_derive_internals, serde_json, serde_path_to_error, serde_repr, serde_spanned, serde_with, serde_with_macros, serde-untagged, serialize-to-javascript, serialize-to-javascript-impl, servo_arc, sha2, shlex, signal-hook-registry, simdutf8, smallvec, snafu, snafu-derive, socket2, softbuffer, stable_deref_trait, string_cache, string_cache_codegen, swift-rs, syn, system-deps, tao-macros, tar, tempfile, tendril, thiserror, thiserror-impl, time, time-core, time-macros, tokio-rustls, toml, toml_datetime, toml_edit, toml_parser, toml_writer, tray-icon, typeid, typenum, unicode-normalization, unicode-segmentation, unicode-xid, url, utf-8, wasm-bindgen, wasm-bindgen-futures, wasm-bindgen-macro, wasm-bindgen-macro-support, wasm-bindgen-shared, wasm-streams, web_atoms, web-sys, web-time, weezl, windows, windows_aarch64_gnullvm, windows_aarch64_msvc, windows_i686_gnu, windows_i686_gnullvm, windows_i686_msvc, windows_x86_64_gnu, windows_x86_64_gnullvm, windows_x86_64_msvc, windows-collections, windows-core, windows-future, windows-implement, windows-interface, windows-link, windows-numerics, windows-result, windows-strings, windows-sys, windows-targets, windows-threading, windows-version, x11rb, x11rb-protocol, xattr, yada, zstd-safe
MIT (136):
atk, atk-sys, auto-launch, axum, axum-core, block2, bytes, cairo-rs, cairo-sys-rs, cargo_metadata, cfb, cfg_aliases, combine, crunchy, darling, darling_core, darling_macro, derive_more, derive_more-impl, dlopen2, dlopen2_derive, dom_query, embed-resource, endi, fancy-regex, fax, gdk, gdk-pixbuf, gdk-pixbuf-sys, gdk-sys, gdkwayland-sys, gdkx11, gdkx11-sys, generic-array, gio, gio-sys, glib, glib-macros, glib-sys, gobject-sys, gtk, gtk-sys, gtk3-macros, http-body, http-body-util, hyper, hyper-util, ico, infer, is-docker, is-wsl, javascriptcore-rs, javascriptcore-rs-sys, libredox, libsqlite3-sys, memoffset, minisign-verify, mio, new_debug_unreachable, nix, nom, objc2, objc2-encode, objc2-foundation, open, os_info, os_pipe, pango, pango-sys, phf, phf_codegen, phf_generator, phf_macros, phf_shared, plist, precomputed-hash, quick-xml, redox_syscall, redox_users, rfd, rusqlite, schannel, schemars, schemars_derive, simd-adler32, slab, soup3, soup3-sys, strsim, strum, strum_macros, synstructure, tauri-winres, tiff, tokio, tokio-macros, tokio-util, tower, tower-http, tower-layer, tower-service, tracing, tracing-attributes, tracing-core, tree_magic_mini, try-lock, uds_windows, urlpattern, version-compare, vswhom, vswhom-sys, want, wayland-backend, wayland-client, wayland-protocols, wayland-protocols-wlr, wayland-scanner, wayland-sys, webkit2gtk, webkit2gtk-sys, webview2-com, webview2-com-macros, webview2-com-sys, winnow, winreg, x11, x11-dl, zbus, zbus_macros, zbus_names, zip, zmij, zstd, zvariant, zvariant_derive, zvariant_utils
Apache-2.0 OR MIT (59):
async-channel, async-executor, async-io, async-lock, async-process, async-signal, async-task, atomic-waker, autocfg, bit-set, bit-vec, blocking, cargo_toml, concurrent-queue, ctor, ctor-proc-macro, dtor, dtor-proc-macro, equivalent, event-listener, event-listener-strategy, fastrand, futures-lite, global-hotkey, idna_adapter, indexmap, libappindicator, libappindicator-sys, muda, parking, pin-project-lite, polling, portable-atomic, portable-atomic-util, rustc-hash, simd_cesu8, tauri, tauri-build, tauri-codegen, tauri-macros, tauri-plugin, tauri-plugin-autostart, tauri-plugin-clipboard-manager, tauri-plugin-dialog, tauri-plugin-fs, tauri-plugin-global-shortcut, tauri-plugin-opener, tauri-plugin-process, tauri-plugin-single-instance, tauri-plugin-updater, tauri-plugin-window-state, tauri-runtime, tauri-runtime-wry, tauri-utils, utf8_iter, uuid, window-vibrancy, wry, zeroize
MIT/Apache-2.0 (35):
android_system_properties, bit-set, bit-vec, bitflags, bs58, downcast-rs, fallible-iterator, fallible-streaming-iterator, filetime, foreign-types, foreign-types-macros, foreign-types-shared, id-arena, ident_case, jni, json-patch, matrixmultiply, minimal-lexical, pathdiff, quick-error, rawpointer, serde_urlencoded, siphasher, unic-char-property, unic-char-range, unic-common, unic-ucd-ident, unic-ucd-version, vcpkg, version_check, winapi, winapi-i686-pc-windows-gnu, winapi-x86_64-pc-windows-gnu, wl-clipboard-rs, zstd-sys
Unicode-3.0 (18):
icu_collections, icu_locale_core, icu_normalizer, icu_normalizer_data, icu_properties, icu_properties_data, icu_provider, litemap, potential_utf, tinystr, writeable, yoke, yoke-derive, zerofrom, zerofrom-derive, zerotrie, zerovec, zerovec-derive
Zlib OR Apache-2.0 OR MIT (18):
bytemuck, dispatch2, objc2-app-kit, objc2-cloud-kit, objc2-core-data, objc2-core-foundation, objc2-core-graphics, objc2-core-image, objc2-core-location, objc2-core-text, objc2-exception-helper, objc2-io-surface, objc2-osa-kit, objc2-quartz-core, objc2-ui-kit, objc2-user-notifications, objc2-web-kit, tinyvec
Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT (14):
linux-raw-sys, rustix, wasi, wasip2, wasip3, wasm-encoder, wasm-metadata, wasmparser, wit-bindgen, wit-bindgen-core, wit-bindgen-rust, wit-bindgen-rust-macro, wit-component, wit-parser
MIT OR Apache-2.0 OR Zlib (6):
lru-slab, raw-window-handle, tinyvec_macros, xkeysym, zune-core, zune-jpeg
MPL-2.0 (5):
cssparser, cssparser-macros, dtoa-short, option-ext, selectors
Unlicense OR MIT (5):
aho-corasick, byteorder, byteorder-lite, memchr, winapi-util
Apache-2.0 (4):
gethostname, sudachi, sync_wrapper, tao
BSD-3-Clause (4):
alloc-no-stdlib, alloc-stdlib, fsrs, subtle
ISC (3):
libloading, rustls-webpki, untrusted
Unlicense/MIT (4):
csv, csv-core, same-file, walkdir
Apache-2.0 OR ISC OR MIT (3):
hyper-rustls, rustls, rustls-native-certs
Apache-2.0/MIT (3):
cesu8, dbus, libdbus-sys
BSD-2-Clause OR Apache-2.0 OR MIT (2):
zerocopy, zerocopy-derive
BSD-3-Clause OR Apache-2.0 (2):
moxcms, pxfm
BSD-3-Clause OR MIT OR Apache-2.0 (2):
num_enum, num_enum_derive
BSL-1.0 (2):
clipboard-win, error-code
CDLA-Permissive-2.0 (2):
webpki-root-certs, webpki-roots
MIT OR Apache-2.0 OR LGPL-2.1-or-later (1):
r-efi
Zlib (1):
foldhash
(MIT OR Apache-2.0) AND Unicode-3.0 (1):
unicode-ident
0BSD OR MIT OR Apache-2.0 (1):
adler2
Apache-2.0 / MIT (1):
fnv
Apache-2.0 AND ISC (1):
ring
Apache-2.0 AND MIT (1):
dpi
Apache-2.0 OR BSL-1.0 (1):
ryu
Apache-2.0 WITH LLVM-exception (1):
target-lexicon
BSD-3-Clause AND MIT (1):
brotli
BSD-3-Clause/MIT (1):
brotli-decompressor
CC0-1.0 OR MIT-0 OR Apache-2.0 (1):
dunce
LGPL-3.0-or-later OR MPL-2.0 (1):
priority-queue
MIT AND BSD-3-Clause (1):
matchit
MIT OR Zlib OR Apache-2.0 (1):
miniz_oxide
npm packages — production dependencies (29)
MIT (20):
@jridgewell/gen-mapping, @jridgewell/remapping, @jridgewell/resolve-uri, @jridgewell/sourcemap-codec, @jridgewell/trace-mapping, @sveltejs/acorn-typescript, @types/estree, @types/trusted-types, @typescript-eslint/types, acorn, clsx, devalue, esm-env, esrap, is-reference, locate-character, magic-string, marked, svelte, zimmerframe
MIT OR Apache-2.0 (5):
@tauri-apps/plugin-clipboard-manager, @tauri-apps/plugin-dialog, @tauri-apps/plugin-fs, @tauri-apps/plugin-global-shortcut, @tauri-apps/plugin-opener
Apache-2.0 (2):
aria-query, axobject-query
Apache-2.0 OR MIT (1):
@tauri-apps/api
ISC (1):
@lucide/svelte
Data licence notice: naist-jdic (pitch accent data)
Word pitch-accent data comes from naist-jdic (the version maintained by the jpreprocess project). Its BSD licence requires that the following four copyright and disclaimer notices be reproduced in full on redistribution:
Copyright (c) 2009, Nara Institute of Science and Technology, Japan.
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 the Nara Institute of Science and Technology
(NAIST) nor the names of its contributors may be used to endorse or
promote products derived from this software without specific prior
written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. 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.
Copyright (c) 2011-2017, The UniDic Consortium
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 the UniDic Consortium nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. 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.
/* ----------------------------------------------------------------- */
/* The Japanese TTS System "Open JTalk" */
/* developed by HTS Working Group */
/* http://open-jtalk.sourceforge.net/ */
/* ----------------------------------------------------------------- */
/* */
/* Copyright (c) 2008-2016 Nagoya Institute of Technology */
/* Department of Computer Science */
/* */
/* 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 the HTS working group nor the names of its */
/* contributors may be used to endorse or promote products derived */
/* from this software without specific prior written permission. */
/* */
/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND */
/* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, */
/* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
/* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */
/* DISCLAIMED. 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. */
/* ----------------------------------------------------------------- */
BSD 3-Clause License
Copyright (c) 2023, JPreprocess Team
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. 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.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.
