Skip to content
Kotoshu Kotoshu 言修
Kotoshu

ko·to·shu n.

The fixing and embellishing of words.

A spell checker for everything you write — terminal, editor, CI. Pure Ruby underneath; the right dictionary and language model arrive on demand, and nothing ever downloads without your say-so.

Client + wasm engine

npm install @kotoshu/client @kotoshu/wasm

See it work

Misspellings, surfaced and mended

A small taste of the interactive experience — the editor extension and CLI do this against the full engine, live.

3 misspelled
Thequietwasfullofwords.

Click a wavy word to see ranked suggestions, then a chip to apply the fix.

No install at all? The playground runs the engine itself in your browser — or point one at your own server.

What's supported

36 languages fully featured, ninety-eight staged

Full feature means spelling with affixes, semantic reranking, and keyboard-aware suggestions — frequency ranking rides along where Kelly data exists.

辞書 dictionary of supported languages

ca Català n. — full feature affixes · semantic · Catalan-QWERTY cs Čeština n. — full feature affixes · semantic · Czech-QWERTZ da Dansk n. — full feature affixes · semantic · Danish-QWERTY de Deutsch n. — full feature affixes · semantic · QWERTZ el Ελληνικά n. — full feature affixes · frequency · semantic · Greek-Phonetic en English n. — full feature affixes · frequency · semantic · QWERTY es Español n. — full feature affixes · semantic · QWERTY fr Français n. — full feature affixes · semantic · AZERTY hu Magyar n. — full feature affixes · semantic · Hungarian-QWERTZ it Italiano n. — full feature affixes · frequency · semantic · Italian-QWERTY nb Norsk bokmål n. — full feature affixes · semantic · Norwegian-QWERTY nl Nederlands n. — full feature affixes · semantic · Dutch-QWERTY pl Polski n. — full feature affixes · semantic · Polish-QWERTY pt Português n. — full feature affixes · semantic · QWERTY ro Română n. — full feature affixes · semantic · Romanian-QWERTY ru Русский n. — full feature affixes · frequency · semantic · JCUKEN sv Svenska n. — full feature affixes · frequency · semantic · Swedish-QWERTY tr Türkçe n. — full feature affixes · semantic · Turkish-Q uk Українська n. — full feature affixes · semantic · Ukrainian-JCUKEN vi Tiếng Việt n. — full feature affixes · semantic · Vietnamese-QWERTY ar العربية n. — full feature affixes · frequency · semantic · Arabic-101 bg Български n. — full feature affixes · semantic · Bulgarian-BDS et Eesti n. — full feature affixes · semantic · Estonian-QWERTY fa فارسی n. — full feature affixes · semantic · Persian-ISIRI-9147 he עברית n. — full feature affixes · semantic · Hebrew-SI-1452 hr Hrvatski n. — full feature affixes · semantic · Croatian-QWERTZ id Bahasa Indonesia n. — full feature affixes · semantic · Indonesian-QWERTY lt Lietuvių n. — full feature affixes · semantic · Lithuanian-QWERTY lv Latviešu n. — full feature affixes · semantic · Latvian-QWERTY sk Slovenčina n. — full feature affixes · semantic · Slovak-QWERTZ sl Slovenščina n. — full feature affixes · semantic · Slovenian-QWERTZ sr Српски n. — full feature affixes · semantic · Serbian-Cyrillic sr-Latn Srpski n. — full feature affixes · semantic · Croatian-QWERTZ ko 한국어 n. — full feature affixes · semantic · Dubeolsik-2Set ne नेपाली n. — full feature affixes · semantic · Devanagari-InScript nn Norsk nynorsk n. — full feature affixes · semantic · Norwegian-QWERTY

see also zh — frequency tiers only

36

full feature

98

dictionaries staged

176

auto-detected

The full support matrix →

Principles

How Kotoshu is built

Pure Ruby

No shelling out to hunspell or aspell. The only native dependency is the optional onnxruntime — everything else is Ruby that ships in the gem.

Two-stage resources

Setup is explicit and downloads once; the hot path is cache-only and raises instead of ever touching the network. Metered and air-gapped hosts are safe.

Semantic when you want it

FastText embeddings via ONNX rerank candidates by context and rescue out-of-vocabulary words. Install onnxruntime to enable; everything works without it.

Every language, on demand

Given any text, Kotoshu detects the language and resolves the dictionary, frequency list, and model it needs — cached, verified, with TTLs.

始めましょう

Begin tending your words.