Lindera
August 18, 2026 · View on GitHub
A morphological analysis library in Rust. This project is forked from kuromoji-rs.
Lindera aims to build a library which is easy to install and provides concise APIs for various Rust applications.
Documentation
[dependencies]
lindera = "5"
Note: Upgrading from v4? See the migration guide for details.
Pre-built dictionaries are available from GitHub Releases.
Download a dictionary archive (e.g. lindera-ipadic-*.zip) and specify the path when loading.
When using the CLI, lindera download ipadic downloads and installs a dictionary automatically.
Performance
Lindera tokenizes Japanese text (IPADIC) at roughly 10-20 MB/s single-threaded, depending on hardware and whether the Viterbi lattice is reused across calls. Run make bench to reproduce the benchmark suite (lindera/benches/) on your own machine; see #875 for detailed methodology and comparison numbers.
Python Bindings
Lindera also provides Python bindings. You can install it via pip:
pip install lindera-python
For more details, see the lindera-python directory.
Node.js Bindings
Lindera also provides Node.js bindings. You can install it via npm:
npm install lindera-nodejs
For more details, see the lindera-nodejs directory.
Ruby Bindings
Lindera also provides Ruby bindings. They are not yet published to RubyGems — build from source; see the lindera-ruby directory for instructions.
PHP Bindings
Lindera also provides PHP bindings. They are not yet published to Packagist — build from source; see the lindera-php directory for instructions.
WebAssembly Bindings
Lindera also provides WebAssembly bindings. You can install it via npm:
npm install lindera-wasm-web # browser (native ES modules)
npm install lindera-wasm-bundler # bundlers (Webpack, Rollup, etc.)
For more details and a demo application, see the lindera-wasm directory.
License
MIT